summaryrefslogtreecommitdiffstats
path: root/Source/CPack/WiX/cmWIXPatch.h
diff options
context:
space:
mode:
authorNils Gladitz <nilsgladitz@gmail.com>2014-02-24 22:21:12 (GMT)
committerNils Gladitz <nilsgladitz@gmail.com>2014-02-26 13:15:13 (GMT)
commit6fcd835c0786182c4981f9f640849c5c91100845 (patch)
tree175f71ff77a77de6a93b348d145c0ead7df455e1 /Source/CPack/WiX/cmWIXPatch.h
parentc859d176a15326cd1ef7b5c35908f28313d1be19 (diff)
downloadCMake-6fcd835c0786182c4981f9f640849c5c91100845.zip
CMake-6fcd835c0786182c4981f9f640849c5c91100845.tar.gz
CMake-6fcd835c0786182c4981f9f640849c5c91100845.tar.bz2
CPackWIX: refactor and cleanup
Extract addtional classes and functions which are getting unsightly large. Use some of the coding conventions more consistently.
Diffstat (limited to 'Source/CPack/WiX/cmWIXPatch.h')
-rw-r--r--Source/CPack/WiX/cmWIXPatch.h45
1 files changed, 45 insertions, 0 deletions
diff --git a/Source/CPack/WiX/cmWIXPatch.h b/Source/CPack/WiX/cmWIXPatch.h
new file mode 100644
index 0000000..7b7b2f1
--- /dev/null
+++ b/Source/CPack/WiX/cmWIXPatch.h
@@ -0,0 +1,45 @@
+/*============================================================================
+ CMake - Cross Platform Makefile Generator
+ Copyright 2014 Kitware, Inc.
+
+ Distributed under the OSI-approved BSD License (the "License");
+ see accompanying file Copyright.txt for details.
+
+ This software is distributed WITHOUT ANY WARRANTY; without even the
+ implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ See the License for more information.
+============================================================================*/
+
+#ifndef cmWIXPatch_h
+#define cmWIXPatch_h
+
+#include "cmWIXSourceWriter.h"
+#include "cmWIXPatchParser.h"
+
+#include <string>
+
+/** \class cmWIXPatch
+ * \brief Class that maintains and applies patch fragments
+ */
+class cmWIXPatch
+{
+public:
+ cmWIXPatch(cmCPackLog* logger);
+
+ void LoadFragments(std::string const& patchFilePath);
+
+ void ApplyFragment(std::string const& id, cmWIXSourceWriter& writer);
+
+ bool CheckForUnappliedFragments();
+
+private:
+ void ApplyElement(const cmWIXPatchElement& element,
+ cmWIXSourceWriter& writer);
+
+ cmCPackLog* Logger;
+
+ cmWIXPatchParser::fragment_map_t Fragments;
+};
+
+
+#endif