Update example daemons to use the new component/trait APIs
Using AddStateDefinitionsFromJson/AddComponent instead of old and
deprecated AddCommandDefinitions.../AddStateDefinitions... methods.
BUG: 26070118, 25917541
Change-Id: I1f264c737cc19a577a0026e6d6212d63bdc480cf
Reviewed-on: https://weave-review.googlesource.com/1802
Reviewed-by: Alex Vakulenko <avakulenko@google.com>
diff --git a/examples/daemon/ledflasher/ledflasher.cc b/examples/daemon/ledflasher/ledflasher.cc
index 9e4a9e1..e63deac 100644
--- a/examples/daemon/ledflasher/ledflasher.cc
+++ b/examples/daemon/ledflasher/ledflasher.cc
@@ -14,6 +14,43 @@
namespace {
// Supported LED count on this device
const size_t kLedCount = 3;
+
+const char kTraits[] = R"({
+ "_ledflasher": {
+ "commands": {
+ "_set": {
+ "minimalRole": "user",
+ "parameters": {
+ "_led": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 3
+ },
+ "_on": { "type": "boolean" }
+ }
+ },
+ "_toggle": {
+ "minimalRole": "user",
+ "parameters": {
+ "_led": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 3
+ }
+ }
+ }
+ },
+ "state": {
+ "_leds": {
+ "type": "array",
+ "items": { "type": "boolean" }
+ }
+ }
+ }
+})";
+
+const char kComponent[] = "lock";
+
} // namespace
// LedFlasherHandler is a complete command handler example that shows
@@ -24,39 +61,18 @@
void Register(weave::Device* device) {
device_ = device;
- device->AddStateDefinitionsFromJson(R"({
- "_ledflasher": {"_leds": {"type": "array", "items": {"type": "boolean"}}}
- })");
+ device->AddTraitDefinitionsFromJson(kTraits);
+ CHECK(device->AddComponent(kComponent, {"_ledflasher"}, nullptr));
+ UpdateLedState();
- device->SetStatePropertiesFromJson(R"({
- "_ledflasher":{"_leds": [false, false, false]}
- })",
- nullptr);
-
- device->AddCommandDefinitionsFromJson(R"({
- "_ledflasher": {
- "_set":{
- "minimalRole": "user",
- "parameters": {
- "_led": {"type": "integer", "minimum": 1, "maximum": 3},
- "_on": {"type": "boolean"}
- }
- },
- "_toggle":{
- "minimalRole": "user",
- "parameters": {
- "_led": {"type": "integer", "minimum": 1, "maximum": 3}
- }
- }
- }
- })");
device->AddCommandHandler(
- "_ledflasher._toggle",
+ kComponent, "_ledflasher._toggle",
base::Bind(&LedFlasherHandler::OnFlasherToggleCommand,
weak_ptr_factory_.GetWeakPtr()));
device->AddCommandHandler(
- "_ledflasher._set", base::Bind(&LedFlasherHandler::OnFlasherSetCommand,
- weak_ptr_factory_.GetWeakPtr()));
+ kComponent, "_ledflasher._set",
+ base::Bind(&LedFlasherHandler::OnFlasherSetCommand,
+ weak_ptr_factory_.GetWeakPtr()));
}
private:
@@ -118,7 +134,7 @@
for (uint32_t i = 0; i < led_status_.size(); i++)
list.AppendBoolean(led_status_[i] ? true : false);
- device_->SetStateProperty("_ledflasher._leds", list, nullptr);
+ device_->SetStateProperty(kComponent, "_ledflasher._leds", list, nullptr);
}
weave::Device* device_{nullptr};