| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- /* Distributed under the OSI-approved BSD 3-Clause License. See accompanying
- file Copyright.txt or https://cmake.org/licensing for details. */
- #pragma once
- #include <map>
- #include <string>
- #include <vector>
- class cmCTestResourceSpec
- {
- public:
- class Resource
- {
- public:
- std::string Id;
- unsigned int Capacity;
- bool operator==(const Resource& other) const;
- bool operator!=(const Resource& other) const;
- };
- class Socket
- {
- public:
- std::map<std::string, std::vector<Resource>> Resources;
- bool operator==(const Socket& other) const;
- bool operator!=(const Socket& other) const;
- };
- Socket LocalSocket;
- enum class ReadFileResult
- {
- READ_OK,
- FILE_NOT_FOUND,
- JSON_PARSE_ERROR,
- INVALID_ROOT,
- NO_VERSION,
- INVALID_VERSION,
- UNSUPPORTED_VERSION,
- INVALID_SOCKET_SPEC, // Can't be INVALID_SOCKET due to a Windows macro
- INVALID_RESOURCE_TYPE,
- INVALID_RESOURCE,
- };
- ReadFileResult ReadFromJSONFile(const std::string& filename);
- static const char* ResultToString(ReadFileResult result);
- bool operator==(const cmCTestResourceSpec& other) const;
- bool operator!=(const cmCTestResourceSpec& other) const;
- };
|