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"; }
24 static inline Cmd cmdFromName(
const std::string &name) {
25 return std::map<std::string, Cmd>{
26 {
"campaign_accept", Cmd::Accept}, {
"campaign_decline", Cmd::Decline}, {
"campaign_postpone", Cmd::Postpone}}
33 static std::vector<Campaign> campaignsFromJson(
const Json::Value &json);
34 static void JsonFromCampaigns(
const std::vector<Campaign> &in, Json::Value &out);
35 static std::vector<Campaign> fetchAvailableCampaigns(
HttpInterface &http_client,
const std::string &tls_server);
40 void getJson(Json::Value &out)
const;
45 bool autoAccept{
false};
46 std::string description;
47 int estInstallationDuration{0};
48 int estPreparationDuration{0};