summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Vakulenko <avakulenko@google.com>2015-12-09 22:11:09 +0000
committerGerrit Code Review <noreply-gerritcodereview@google.com>2015-12-09 22:11:09 +0000
commitbae77f7ed80fdfee8af75f85d00e48a1cd988635 (patch)
tree5afe58605b956c982750e9878fe4f0582d0d9cf8
parent7a0f0caf76bb9a5ea0fedd4d8d700e8c24b44f27 (diff)
parent7ff24de7d0de683aaa75fbab68d25088fdf7433c (diff)
downloadexample-ledflasher-brillo-m8-release.tar.gz
Merge "ledflasher: Update to use new component/trait APIs from weaved"brillo-m8-releasebrillo-m8-dev
-rw-r--r--src/ledflasher/Android.mk15
-rw-r--r--src/ledflasher/etc/weaved/commands/ledflasher.json39
-rw-r--r--src/ledflasher/etc/weaved/states/ledflasher.schema.json14
-rw-r--r--src/ledflasher/etc/weaved/traits/ledflasher.json53
-rw-r--r--src/ledflasher/ledflasher.cpp10
5 files changed, 65 insertions, 66 deletions
diff --git a/src/ledflasher/Android.mk b/src/ledflasher/Android.mk
index e1f7456..12d9cac 100644
--- a/src/ledflasher/Android.mk
+++ b/src/ledflasher/Android.mk
@@ -17,9 +17,7 @@ LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ledflasher
LOCAL_INIT_RC := ledflasher.rc
-LOCAL_REQUIRED_MODULES := \
- ledflasher.json \
- ledflasher.schema.json \
+LOCAL_REQUIRED_MODULES := ledflasher.json
LOCAL_SRC_FILES := \
animation.cpp \
@@ -48,13 +46,6 @@ include $(BUILD_EXECUTABLE)
include $(CLEAR_VARS)
LOCAL_MODULE := ledflasher.json
LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/commands
-LOCAL_SRC_FILES := etc/weaved/commands/$(LOCAL_MODULE)
-include $(BUILD_PREBUILT)
-
-include $(CLEAR_VARS)
-LOCAL_MODULE := ledflasher.schema.json
-LOCAL_MODULE_CLASS := ETC
-LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/states
-LOCAL_SRC_FILES := etc/weaved/states/$(LOCAL_MODULE)
+LOCAL_MODULE_PATH := $(TARGET_OUT_ETC)/weaved/traits
+LOCAL_SRC_FILES := etc/weaved/traits/$(LOCAL_MODULE)
include $(BUILD_PREBUILT)
diff --git a/src/ledflasher/etc/weaved/commands/ledflasher.json b/src/ledflasher/etc/weaved/commands/ledflasher.json
deleted file mode 100644
index eab757c..0000000
--- a/src/ledflasher/etc/weaved/commands/ledflasher.json
+++ /dev/null
@@ -1,39 +0,0 @@
-{
- "_ledflasher": {
- "_set": {
- "minimalRole": "user",
- "parameters": {
- "_led": {
- "type": "integer",
- "minimum": 1,
- "maximum": 4
- },
- "_on": {"type": "boolean"}
- }
- },
- "_toggle": {
- "minimalRole": "user",
- "parameters": {
- "_led": {
- "type": "integer",
- "minimum": 1,
- "maximum": 4
- }
- }
- },
- "_animate": {
- "minimalRole": "user",
- "parameters": {
- "_duration": {
- "type": "number",
- "minimum": 0.1,
- "maximum": 100.0
- },
- "_type": {
- "type": "string",
- "enum": ["none", "marquee_left", "marquee_right", "blink"]
- }
- }
- }
- }
-}
diff --git a/src/ledflasher/etc/weaved/states/ledflasher.schema.json b/src/ledflasher/etc/weaved/states/ledflasher.schema.json
deleted file mode 100644
index 0f0e37e..0000000
--- a/src/ledflasher/etc/weaved/states/ledflasher.schema.json
+++ /dev/null
@@ -1,14 +0,0 @@
-{
- "_ledflasher": {
- "_status": {
- "enum": {
- "type": "string",
- "enum": [ "idle", "animating" ]
- }
- },
- "_leds": {
- "type": "array",
- "items": { "type": "boolean" }
- }
- }
-}
diff --git a/src/ledflasher/etc/weaved/traits/ledflasher.json b/src/ledflasher/etc/weaved/traits/ledflasher.json
new file mode 100644
index 0000000..7eefa5e
--- /dev/null
+++ b/src/ledflasher/etc/weaved/traits/ledflasher.json
@@ -0,0 +1,53 @@
+{
+ "_ledflasher": {
+ "commands": {
+ "_set": {
+ "minimalRole": "user",
+ "parameters": {
+ "_led": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 4
+ },
+ "_on": { "type": "boolean" }
+ }
+ },
+ "_toggle": {
+ "minimalRole": "user",
+ "parameters": {
+ "_led": {
+ "type": "integer",
+ "minimum": 1,
+ "maximum": 4
+ }
+ }
+ },
+ "_animate": {
+ "minimalRole": "user",
+ "parameters": {
+ "_duration": {
+ "type": "number",
+ "minimum": 0.1,
+ "maximum": 100.0
+ },
+ "_type": {
+ "type": "string",
+ "enum": [ "none", "marquee_left", "marquee_right", "blink" ]
+ }
+ }
+ }
+ },
+ "states": {
+ "_status": {
+ "enum": {
+ "type": "string",
+ "enum": [ "idle", "animating" ]
+ }
+ },
+ "_leds": {
+ "type": "array",
+ "items": { "type": "boolean" }
+ }
+ }
+ }
+}
diff --git a/src/ledflasher/ledflasher.cpp b/src/ledflasher/ledflasher.cpp
index e9bfa3c..5a3524f 100644
--- a/src/ledflasher/ledflasher.cpp
+++ b/src/ledflasher/ledflasher.cpp
@@ -29,6 +29,10 @@
using com::android::LEDService::ServiceProxyInterface;
+namespace {
+const char kWeaveComponent[] = "ledflasher";
+} // anonymous namespace
+
class Daemon final : public brillo::DBusDaemon {
public:
Daemon() = default;
@@ -73,13 +77,17 @@ int Daemon::OnInit() {
device_ = weaved::Device::CreateInstance(
bus_, base::Bind(&Daemon::UpdateDeviceState, base::Unretained(this)));
+ device_->AddComponent(kWeaveComponent, {"_ledflasher"});
device_->AddCommandHandler(
+ kWeaveComponent,
"_ledflasher._set",
base::Bind(&Daemon::OnSet, base::Unretained(this)));
device_->AddCommandHandler(
+ kWeaveComponent,
"_ledflasher._toggle",
base::Bind(&Daemon::OnToggle, base::Unretained(this)));
device_->AddCommandHandler(
+ kWeaveComponent,
"_ledflasher._animate",
base::Bind(&Daemon::OnAnimate, base::Unretained(this)));
@@ -201,7 +209,7 @@ void Daemon::UpdateDeviceState() {
};
// TODO: Come up with a design for ledflasher.cpp such that this call never
// fails.
- device_->SetStateProperties(state_change, nullptr);
+ device_->SetStateProperties(kWeaveComponent, state_change, nullptr);
}
int main(int argc, char* argv[]) {