6 #include <boost/filesystem.hpp> 12 kFirstKnown = kED25519,
16 kLastKnown = kRSA4096,
20 inline std::ostream& operator<<(std::ostream& os,
const KeyType kt) {
23 case KeyType::kRSA2048:
26 case KeyType::kRSA3072:
29 case KeyType::kRSA4096:
32 case KeyType::kED25519:
39 os <<
'"' << kt_str <<
'"';
43 inline std::istream& operator>>(std::istream& is, KeyType& kt) {
48 if (kt_str ==
"\"RSA2048\"") {
49 kt = KeyType::kRSA2048;
50 }
else if (kt_str ==
"\"RSA3072\"") {
51 kt = KeyType::kRSA3072;
52 }
else if (kt_str ==
"\"RSA4096\"") {
53 kt = KeyType::kRSA4096;
54 }
else if (kt_str ==
"\"ED25519\"") {
55 kt = KeyType::kED25519;
57 kt = KeyType::kUnknown;
62 enum class CryptoSource { kFile = 0, kPkcs11, kAndroid };
64 inline std::ostream& operator<<(std::ostream& os, CryptoSource cs) {
67 case CryptoSource::kFile:
70 case CryptoSource::kPkcs11:
77 os <<
'"' << cs_str <<
'"';
88 bool IsExpiredAt(
const TimeStamp& now)
const;
90 std::string ToString()
const {
return time_; }
91 bool operator<(
const TimeStamp& other)
const;
92 bool operator>(
const TimeStamp& other)
const;
93 friend std::ostream& operator<<(std::ostream& os,
const TimeStamp& t);
94 bool operator==(
const TimeStamp& rhs)
const {
return time_ == rhs.time_; }
106 std::ostream& operator<<(std::ostream& os,
const TimeStamp& t);
111 using UpdateRequestId = std::string;
115 Json::Value toJson();
116 static Package fromJson(
const std::string& );
125 kAlreadyProcessed = 1,
127 kValidationFailed = 3,
135 kNeedCompletion = 21,
145 : num_code(in_num_code), text_code(std::move(text_code_in)) {}
147 bool operator==(
const ResultCode& rhs)
const {
return num_code == rhs.num_code && toString() == rhs.toString(); }
148 bool operator!=(
const ResultCode& rhs)
const {
return !(*
this == rhs); }
149 friend std::ostream& operator<<(std::ostream& os,
const ResultCode& result_code);
152 std::string text_code;
156 std::string toString()
const {
157 if (text_code !=
"") {
161 return std::string(string_repr.at(num_code));
165 std::string toRepr()
const;
166 static ResultCode fromRepr(
const std::string& repr);
169 static const std::map<Numeric, const char*> string_repr;
172 std::ostream& operator<<(std::ostream& os,
const ResultCode& result_code);
177 : success(result_code_in.num_code == ResultCode::Numeric::kOk),
178 result_code(std::move(result_code_in)),
179 description(std::move(description_in)) {}
181 : success(success_in), result_code(std::move(result_code_in)), description(std::move(description_in)) {}
183 Json::Value toJson()
const;
184 bool isSuccess()
const {
return success; };
187 ResultCode result_code{ResultCode::Numeric::kOk};
188 std::string description;
TimeStamp()
An invalid TimeStamp.