examples/ubuntu: add vendor greeter command Change-Id: Idc61161f9152c88e15b77563a4413519f6155992 Reviewed-on: https://weave-review.googlesource.com/1150 Reviewed-by: Vitaly Buka <vitalybuka@google.com>
diff --git a/libweave/examples/ubuntu/file_config_store.cc b/libweave/examples/ubuntu/file_config_store.cc index b2bfd0a..d8440b1 100644 --- a/libweave/examples/ubuntu/file_config_store.cc +++ b/libweave/examples/ubuntu/file_config_store.cc
@@ -91,6 +91,13 @@ "updateBaseConfiguration": {}, "identify": {}, "updateDeviceInfo": {} + }, + "_greeter": { + "_greet": { + "minimalRole": "user", + "parameters": { "_name": "string"}, + "results": { "_greeting": "string" } + } } })"}}; }
diff --git a/libweave/examples/ubuntu/main.cc b/libweave/examples/ubuntu/main.cc index e4c4db7..00f9b86 100644 --- a/libweave/examples/ubuntu/main.cc +++ b/libweave/examples/ubuntu/main.cc
@@ -35,9 +35,20 @@ private: void OnNewCommand(weave::Command* cmd) { LOG(INFO) << "received command: " << cmd->GetName(); - if (cmd->GetName() == "base.identify") { + if (cmd->GetName() == "_greeter._greet") { + std::string name; + cmd->GetParameters()->GetString("_name", &name); + if (name.empty()) { + name = cmd->GetOrigin() == weave::CommandOrigin::kCloud + ? "cloud user" + : "local user"; + } + LOG(INFO) << "vendor _greeter._greet command: in progress"; cmd->SetProgress(base::DictionaryValue{}, nullptr); - LOG(INFO) << "base.identify command: completed"; + base::DictionaryValue result; + result.SetString("_greeting", "Hello " + name); + cmd->SetResults(result, nullptr); + LOG(INFO) << "vendor _greeter._greet command: finished"; cmd->Done(); } else { LOG(INFO) << "unimplemented command: ignored";