cmWIXFilesSourceWriter.h 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
  2. file Copyright.txt or https://cmake.org/licensing for details. */
  3. #pragma once
  4. #include "cmCPackGenerator.h"
  5. #include "cmWIXPatch.h"
  6. #include "cmWIXShortcut.h"
  7. #include "cmWIXSourceWriter.h"
  8. /** \class cmWIXFilesSourceWriter
  9. * \brief Helper class to generate files.wxs
  10. */
  11. class cmWIXFilesSourceWriter : public cmWIXSourceWriter
  12. {
  13. public:
  14. cmWIXFilesSourceWriter(unsigned long wixVersion, cmCPackLog* logger,
  15. std::string const& filename,
  16. GuidType componentGuidType);
  17. void EmitShortcut(std::string const& id, cmWIXShortcut const& shortcut,
  18. std::string const& shortcutPrefix, size_t shortcutIndex);
  19. void EmitRemoveFolder(std::string const& id);
  20. void EmitInstallRegistryValue(std::string const& registryKey,
  21. std::string const& cpackComponentName,
  22. std::string const& suffix);
  23. void EmitUninstallShortcut(std::string const& packageName);
  24. std::string EmitComponentCreateFolder(std::string const& directoryId,
  25. std::string const& guid,
  26. cmInstalledFile const* installedFile);
  27. std::string EmitComponentFile(std::string const& directoryId,
  28. std::string const& id,
  29. std::string const& filePath, cmWIXPatch& patch,
  30. cmInstalledFile const* installedFile);
  31. };