6 std::string BaseEvent::toJson() {
8 return BaseEvent::toJson(json);
11 std::string BaseEvent::toJson(Json::Value json) {
12 json[
"variant"] = variant;
13 if (!json.isMember(
"fields")) {
14 json[
"fields"] = Json::Value(Json::arrayValue);
16 return Json::FastWriter().write(json);
19 Error::Error(std::string message_in) : message(std::move(message_in)) { variant =
"Error"; }
20 std::string Error::toJson() {
22 json[
"fields"].append(message);
23 return BaseEvent::toJson(json);
26 Error Error::fromJson(
const std::string& json_str) {
29 reader.parse(json_str, json);
30 return Error(json[
"fields"][0].asString());
33 UpdateAvailable::UpdateAvailable(std::vector<Uptane::Target> updates_in,
unsigned int ecus_count_in)
34 : updates(std::move(updates_in)), ecus_count(ecus_count_in) {
35 variant =
"UpdateAvailable";
38 SendDeviceDataComplete::SendDeviceDataComplete() { variant =
"SendDeviceDataComplete"; }
40 PutManifestComplete::PutManifestComplete() { variant =
"PutManifestComplete"; }
42 std::string UpdateAvailable::toJson() {
45 for (
const auto& target : updates) {
46 targets[target.filename()] = target.toDebugJson();
48 json[
"fields"].append(targets);
49 json[
"fields"].append(ecus_count);
50 return BaseEvent::toJson(json);
53 UpdateAvailable UpdateAvailable::fromJson(
const std::string& json_str) {
56 reader.parse(json_str, json);
57 std::vector<Uptane::Target> updates;
58 for (
auto it = json[
"fields"][0].begin(); it != json[
"fields"][0].end(); ++it) {
64 FetchMetaComplete::FetchMetaComplete() { variant =
"FetchMetaComplete"; }
66 DownloadProgressReport::DownloadProgressReport(
Uptane::Target target_in, std::string description_in,
67 unsigned int progress_in)
68 : target{std::move(target_in)}, description{std::move(description_in)}, progress{progress_in} {
69 variant =
"DownloadProgressReport";
72 std::string DownloadProgressReport::toJson() {
74 json[
"fields"].append(target.toDebugJson());
75 json[
"fields"].append(progress);
76 return BaseEvent::toJson(json);
79 DownloadComplete::DownloadComplete(std::vector<Uptane::Target> updates_in) : updates(std::move(updates_in)) {
80 variant =
"DownloadComplete";
83 std::string DownloadComplete::toJson() {
86 for (
const auto& target : updates) {
87 targets[target.filename()] = target.toDebugJson();
89 json[
"fields"].append(targets);
90 return BaseEvent::toJson(json);
96 reader.parse(json_str, json);
97 std::vector<Uptane::Target> updates;
98 for (
auto it = json[
"fields"][0].begin(); it != json[
"fields"][0].end(); ++it) {
104 InstallStarted::InstallStarted(
Uptane::EcuSerial serial_in) : serial(std::move(serial_in)) {
105 variant =
"InstallStarted";
108 InstallComplete::InstallComplete(
Uptane::EcuSerial serial_in) : serial(std::move(serial_in)) {
109 variant =
"InstallComplete";
112 CampaignCheckComplete::CampaignCheckComplete() { variant =
"CampaignCheckComplete"; }
114 CampaignAcceptComplete::CampaignAcceptComplete() { variant =
"CampaignAcceptComplete"; }
An update is available for download from the server.
An update has been successfully downloaded.
An error occurred processing a command.