12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #ifndef cmCTestUpdateHandler_h
- #define cmCTestUpdateHandler_h
- #include "cmConfigure.h" // IWYU pragma: keep
- #include "cmCTestGenericHandler.h"
- #include <string>
- #include <utility>
- #include <vector>
- /** \class cmCTestUpdateHandler
- * \brief A class that handles ctest -S invocations
- *
- */
- class cmCTestUpdateHandler : public cmCTestGenericHandler
- {
- public:
- typedef cmCTestGenericHandler Superclass;
- /*
- * The main entry point for this class
- */
- int ProcessHandler() override;
- cmCTestUpdateHandler();
- enum
- {
- e_UNKNOWN = 0,
- e_CVS,
- e_SVN,
- e_BZR,
- e_GIT,
- e_HG,
- e_P4,
- e_LAST
- };
- /**
- * Initialize handler
- */
- void Initialize() override;
- private:
- // Some structures needed for update
- struct StringPair : public std::pair<std::string, std::string>
- {
- };
- struct UpdateFiles : public std::vector<StringPair>
- {
- };
- // Determine the type of version control
- int DetermineType(const char* cmd, const char* type);
- // The VCS command to update the working tree.
- std::string UpdateCommand;
- int UpdateType;
- int DetectVCS(const char* dir);
- bool SelectVCS();
- };
- #endif
|