| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 | 
							- /* Distributed under the OSI-approved BSD 3-Clause License.  See accompanying
 
-    file LICENSE.rst or https://cmake.org/licensing for details.  */
 
- #pragma once
 
- #include <set>
 
- #include <string>
 
- #include <vector>
 
- #include "cmJSONState.h"
 
- class cmInstrumentationQuery
 
- {
 
- public:
 
-   enum Option
 
-   {
 
-     StaticSystemInformation,
 
-     DynamicSystemInformation
 
-   };
 
-   static std::vector<std::string> const OptionString;
 
-   enum Hook
 
-   {
 
-     PostGenerate,
 
-     PreBuild,
 
-     PostBuild,
 
-     PreCMakeBuild,
 
-     PostCMakeBuild,
 
-     PostTest,
 
-     PostInstall,
 
-     PrepareForCDash,
 
-     Manual
 
-   };
 
-   static std::vector<std::string> const HookString;
 
-   struct QueryJSONRoot
 
-   {
 
-     std::vector<cmInstrumentationQuery::Option> options;
 
-     std::vector<cmInstrumentationQuery::Hook> hooks;
 
-     std::vector<std::string> callbacks;
 
-     int version;
 
-   };
 
-   cmInstrumentationQuery() = default;
 
-   bool ReadJSON(std::string const& file, std::string& errorMessage,
 
-                 std::set<Option>& options, std::set<Hook>& hooks,
 
-                 std::vector<std::string>& callbacks);
 
-   QueryJSONRoot queryRoot;
 
-   cmJSONState parseState;
 
- };
 
 
  |