12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmVisualStudioWCEPlatformParser_h
- #define cmVisualStudioWCEPlatformParser_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include <map>
- #include <stddef.h>
- #include <string>
- #include <vector>
- #include "cmXMLParser.h"
- // This class is used to parse XML with configuration
- // of installed SDKs in system
- class cmVisualStudioWCEPlatformParser : public cmXMLParser
- {
- public:
- cmVisualStudioWCEPlatformParser(const char* name = NULL)
- : RequiredName(name)
- , FoundRequiredName(false)
- {
- }
- int ParseVersion(const char* version);
- bool Found() const { return this->FoundRequiredName; }
- const char* GetArchitectureFamily() const;
- std::string GetOSVersion() const;
- std::string GetIncludeDirectories() const
- {
- return this->FixPaths(this->Include);
- }
- std::string GetLibraryDirectories() const
- {
- return this->FixPaths(this->Library);
- }
- std::string GetPathDirectories() const { return this->FixPaths(this->Path); }
- const std::vector<std::string>& GetAvailablePlatforms() const
- {
- return this->AvailablePlatforms;
- }
- protected:
- virtual void StartElement(const std::string& name, const char** attributes);
- void EndElement(const std::string& name);
- void CharacterDataHandler(const char* data, int length);
- private:
- std::string FixPaths(const std::string& paths) const;
- std::string CharacterData;
- std::string Include;
- std::string Library;
- std::string Path;
- std::string PlatformName;
- std::string OSMajorVersion;
- std::string OSMinorVersion;
- std::map<std::string, std::string> Macros;
- std::vector<std::string> AvailablePlatforms;
- const char* RequiredName;
- bool FoundRequiredName;
- std::string VcInstallDir;
- std::string VsInstallDir;
- };
- #endif
|