Skip to content

Commit 865b865

Browse files
committed
common: cloudprotocol: add desired status message
This patch adds the desired status message to the cloud protocol. In this patch, only the unit config field of the desired status message is added. Signed-off-by: Mykhailo Lohvynenko <[email protected]> Reviewed-by: Mykola Kobets <[email protected]> Reviewed-by: Oleksandr Grytsov <[email protected]>
1 parent cdff769 commit 865b865

File tree

2 files changed

+29
-4
lines changed

2 files changed

+29
-4
lines changed

include/aos/common/cloudprotocol/cloudmessage.hpp

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
#include "aos/common/cloudprotocol/alerts.hpp"
1111
#include "aos/common/cloudprotocol/certificates.hpp"
1212
#include "aos/common/cloudprotocol/cloudprotocol.hpp"
13+
#include "aos/common/cloudprotocol/desiredstatus.hpp"
1314
#include "aos/common/cloudprotocol/envvars.hpp"
1415
#include "aos/common/cloudprotocol/log.hpp"
1516
#include "aos/common/cloudprotocol/monitoring.hpp"
@@ -28,10 +29,11 @@ static constexpr auto cProtocolVersion = 7;
2829
/**
2930
* Cloud message variant type.
3031
*/
31-
using MessageVariant = Variant<Alerts, Monitoring, UnitStatus, DeltaUnitStatus, NewState, StateRequest, StateAcceptance,
32-
UpdateState, RequestLog, PushLog, OverrideEnvVarsRequest, OverrideEnvVarsStatuses, RenewCertsNotification,
33-
IssuedUnitCerts, IssueUnitCerts, InstallUnitCertsConfirmation, StartProvisioningRequest, StartProvisioningResponse,
34-
FinishProvisioningRequest, FinishProvisioningResponse, DeprovisioningRequest, DeprovisioningResponse>;
32+
using MessageVariant = Variant<Alerts, Monitoring, UnitStatus, DeltaUnitStatus, DesiredStatus, NewState, StateRequest,
33+
StateAcceptance, UpdateState, RequestLog, PushLog, OverrideEnvVarsRequest, OverrideEnvVarsStatuses,
34+
RenewCertsNotification, IssuedUnitCerts, IssueUnitCerts, InstallUnitCertsConfirmation, StartProvisioningRequest,
35+
StartProvisioningResponse, FinishProvisioningRequest, FinishProvisioningResponse, DeprovisioningRequest,
36+
DeprovisioningResponse>;
3537

3638
/**
3739
* Cloud message header.

include/aos/common/cloudprotocol/desiredstatus.hpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -76,6 +76,29 @@ struct UnitConfig {
7676
bool operator!=(const UnitConfig& other) const { return !operator==(other); }
7777
};
7878

79+
/**
80+
* Desired status.
81+
*/
82+
struct DesiredStatus {
83+
Optional<UnitConfig> mUnitConfig;
84+
85+
/**
86+
* Compares desired status.
87+
*
88+
* @param other object to compare with.
89+
* @return bool.
90+
*/
91+
bool operator==(const DesiredStatus& other) const { return mUnitConfig == other.mUnitConfig; }
92+
93+
/**
94+
* Compares desired status.
95+
*
96+
* @param other object to compare with.
97+
* @return bool.
98+
*/
99+
bool operator!=(const DesiredStatus& other) const { return !operator==(other); }
100+
};
101+
79102
} // namespace aos::cloudprotocol
80103

81104
#endif

0 commit comments

Comments
 (0)