diff options
Diffstat (limited to 'zucchini.h')
-rw-r--r-- | zucchini.h | 19 |
1 files changed, 17 insertions, 2 deletions
@@ -5,6 +5,8 @@ #ifndef COMPONENTS_ZUCCHINI_ZUCCHINI_H_ #define COMPONENTS_ZUCCHINI_ZUCCHINI_H_ +#include <string> + #include "components/zucchini/buffer_view.h" #include "components/zucchini/patch_reader.h" #include "components/zucchini/patch_writer.h" @@ -31,12 +33,25 @@ enum Code { } // namespace status -// Generates ensemble patch from |old_image| to |new_image|, and writes it to -// |patch_writer|. +// Generates ensemble patch from |old_image| to |new_image| using the default +// element detection and matching heuristics, writes the results to +// |patch_writer|, and returns a status::Code. status::Code GenerateEnsemble(ConstBufferView old_image, ConstBufferView new_image, EnsemblePatchWriter* patch_writer); +// Same as GenerateEnsemble(), but if |imposed_matches| is non-empty, then +// overrides default element detection and matching heuristics with custom +// element matching encoded in |imposed_matches|, which should be formatted as: +// "#+#=#+#,#+#=#+#,..." (e.g., "1+2=3+4", "1+2=3+4,5+6=7+8"), +// where "#+#=#+#" encodes a match as 4 unsigned integers: +// [offset in "old", size in "old", offset in "new", size in "new"]. +status::Code GenerateEnsembleWithImposedMatches( + ConstBufferView old_image, + ConstBufferView new_image, + std::string imposed_matches, + EnsemblePatchWriter* patch_writer); + // Generates raw patch from |old_image| to |new_image|, and writes it to // |patch_writer|. status::Code GenerateRaw(ConstBufferView old_image, |