Fix ledflasher to conform to the lastest server schema
The new server push enabled component/trait validation rules. This
allows us to use the new schema that does not require vendor commands,
parameters and state to start with underscore ("_").
Also fixed a few minor errors in schema definition.
Change-Id: I099474949746835892d0aeeaca46efc31e9569c4
diff --git a/src/ledflasher/etc/weaved/traits/ledflasher.json b/src/ledflasher/etc/weaved/traits/ledflasher.json
index 7eefa5e..ff4ac68 100644
--- a/src/ledflasher/etc/weaved/traits/ledflasher.json
+++ b/src/ledflasher/etc/weaved/traits/ledflasher.json
@@ -1,50 +1,48 @@
{
"_ledflasher": {
"commands": {
- "_set": {
+ "set": {
"minimalRole": "user",
"parameters": {
- "_led": {
+ "led": {
"type": "integer",
"minimum": 1,
"maximum": 4
},
- "_on": { "type": "boolean" }
+ "on": { "type": "boolean" }
}
},
- "_toggle": {
+ "toggle": {
"minimalRole": "user",
"parameters": {
- "_led": {
+ "led": {
"type": "integer",
"minimum": 1,
"maximum": 4
}
}
},
- "_animate": {
+ "animate": {
"minimalRole": "user",
"parameters": {
- "_duration": {
+ "duration": {
"type": "number",
"minimum": 0.1,
"maximum": 100.0
},
- "_type": {
+ "type": {
"type": "string",
"enum": [ "none", "marquee_left", "marquee_right", "blink" ]
}
}
}
},
- "states": {
- "_status": {
- "enum": {
- "type": "string",
- "enum": [ "idle", "animating" ]
- }
+ "state": {
+ "status": {
+ "type": "string",
+ "enum": [ "idle", "animating" ]
},
- "_leds": {
+ "leds": {
"type": "array",
"items": { "type": "boolean" }
}
diff --git a/src/ledflasher/ledflasher.cpp b/src/ledflasher/ledflasher.cpp
index 5a3524f..7c60a4d 100644
--- a/src/ledflasher/ledflasher.cpp
+++ b/src/ledflasher/ledflasher.cpp
@@ -80,15 +80,15 @@
device_->AddComponent(kWeaveComponent, {"_ledflasher"});
device_->AddCommandHandler(
kWeaveComponent,
- "_ledflasher._set",
+ "_ledflasher.set",
base::Bind(&Daemon::OnSet, base::Unretained(this)));
device_->AddCommandHandler(
kWeaveComponent,
- "_ledflasher._toggle",
+ "_ledflasher.toggle",
base::Bind(&Daemon::OnToggle, base::Unretained(this)));
device_->AddCommandHandler(
kWeaveComponent,
- "_ledflasher._animate",
+ "_ledflasher.animate",
base::Bind(&Daemon::OnAnimate, base::Unretained(this)));
led_object_mgr_.reset(new com::android::LEDService::ObjectManagerProxy{bus_});
@@ -121,12 +121,12 @@
return;
}
- int index = command->GetParameter<int>("_led");
+ int index = command->GetParameter<int>("led");
if(index < 1 || index > 4) {
command->Abort("invalid_parameter", "Invalid parameter value", nullptr);
return;
}
- bool on = command->GetParameter<bool>("_on");
+ bool on = command->GetParameter<bool>("on");
brillo::ErrorPtr error;
if (!led_service_->SetLED(index - 1, on, &error)) {
command->Abort(error->GetCode(), error->GetMessage(), nullptr);
@@ -148,7 +148,7 @@
return;
}
- int index = command->GetParameter<int>("_led");
+ int index = command->GetParameter<int>("led");
if(index < 1 || index > 4) {
command->Abort("invalid_parameter", "Invalid parameter value", nullptr);
return;
@@ -177,12 +177,12 @@
return;
}
- double duration = command->GetParameter<double>("_duration");
+ double duration = command->GetParameter<double>("duration");
if(duration <= 0.0) {
command->Abort("invalid_parameter", "Invalid parameter value", nullptr);
return;
}
- std::string type = command->GetParameter<std::string>("_type");
+ std::string type = command->GetParameter<std::string>("type");
animation_ = Animation::Create(led_service_, type,
base::TimeDelta::FromSecondsD(duration));
if (animation_) {
@@ -204,8 +204,8 @@
return;
brillo::VariantDictionary state_change{
- {"_ledflasher._status", status_},
- {"_ledflasher._leds", leds},
+ {"_ledflasher.status", status_},
+ {"_ledflasher.leds", leds},
};
// TODO: Come up with a design for ledflasher.cpp such that this call never
// fails.