#pragma once
#include <string>
#include "cmWIXPatchParser.h"
#include "cmWIXSourceWriter.h"
class cmWIXPatch
{
public:
cmWIXPatch(cmCPackLog* logger);
bool LoadFragments(std::string const& patchFilePath);
void ApplyFragment(std::string const& id, cmWIXSourceWriter& writer);
bool CheckForUnappliedFragments();
private:
void ApplyElementChildren(cmWIXPatchElement const& element,
cmWIXSourceWriter& writer);
void ApplyElement(cmWIXPatchElement const& element,
cmWIXSourceWriter& writer);
cmCPackLog* Logger;
cmWIXPatchParser::fragment_map_t Fragments;
};