diff options
author | Nils Gladitz <nilsgladitz@gmail.com> | 2015-10-12 19:53:08 (GMT) |
---|---|---|
committer | Nils Gladitz <nilsgladitz@gmail.com> | 2015-10-12 19:53:08 (GMT) |
commit | 5a266095ee778fb700c067c55ff0b59777a72c50 (patch) | |
tree | 5b714661965f0787330de044fc4e196f4b54b90f /Source/CPack/WiX/cmWIXPatchParser.h | |
parent | e5fb30fb5bdff2913cc9382649984da89e882b25 (diff) | |
download | CMake-5a266095ee778fb700c067c55ff0b59777a72c50.zip CMake-5a266095ee778fb700c067c55ff0b59777a72c50.tar.gz CMake-5a266095ee778fb700c067c55ff0b59777a72c50.tar.bz2 |
CPackWIX: Handle text nodes in XML patch content
Diffstat (limited to 'Source/CPack/WiX/cmWIXPatchParser.h')
-rw-r--r-- | Source/CPack/WiX/cmWIXPatchParser.h | 29 |
1 files changed, 27 insertions, 2 deletions
diff --git a/Source/CPack/WiX/cmWIXPatchParser.h b/Source/CPack/WiX/cmWIXPatchParser.h index acfb4c0..acaeae3 100644 --- a/Source/CPack/WiX/cmWIXPatchParser.h +++ b/Source/CPack/WiX/cmWIXPatchParser.h @@ -20,11 +20,33 @@ #include <map> #include <list> -struct cmWIXPatchElement +struct cmWIXPatchNode { + enum Type + { + TEXT, + ELEMENT + }; + + virtual ~cmWIXPatchNode(); + + virtual Type type() = 0; +}; + +struct cmWIXPatchText : public cmWIXPatchNode +{ + virtual Type type(); + + std::string text; +}; + +struct cmWIXPatchElement : cmWIXPatchNode +{ + virtual Type type(); + ~cmWIXPatchElement(); - typedef std::list<cmWIXPatchElement*> child_list_t; + typedef std::list<cmWIXPatchNode*> child_list_t; typedef std::map<std::string, std::string> attributes_t; std::string name; @@ -48,6 +70,9 @@ private: void StartFragment(const char **attributes); virtual void EndElement(const std::string& name); + + virtual void CharacterDataHandler(const char* data, int length); + virtual void ReportError(int line, int column, const char* msg); void ReportValidationError(std::string const& message); |