1 #ifndef CAMPAIGN_CAMPAIGN_H_ 2 #define CAMPAIGN_CAMPAIGN_H_ 6 #include "http/httpclient.h" 7 #include "utilities/utils.h" 11 constexpr int64_t kMaxCampaignsMetaSize = 1024 * 1024;
15 const char *what()
const noexcept
override {
return "Could not parse Campaign metadata"; }
28 static inline Cmd cmdFromName(
const std::string &name) {
29 return std::map<std::string, Cmd>{
30 {
"campaign_accept", Cmd::Accept}, {
"campaign_decline", Cmd::Decline}, {
"campaign_postpone", Cmd::Postpone}}
37 static std::vector<Campaign> campaignsFromJson(
const Json::Value &json);
38 static void JsonFromCampaigns(
const std::vector<Campaign> &in, Json::Value &out);
39 static std::vector<Campaign> fetchAvailableCampaigns(
HttpInterface &http_client,
const std::string &tls_server);
44 void getJson(Json::Value &out)
const;
49 bool autoAccept{
false};
50 std::string description;
51 int estInstallationDuration{0};
52 int estPreparationDuration{0};