aboutsummaryrefslogtreecommitdiff
path: root/libweaved/command.h
diff options
context:
space:
mode:
Diffstat (limited to 'libweaved/command.h')
-rw-r--r--libweaved/command.h56
1 files changed, 27 insertions, 29 deletions
diff --git a/libweaved/command.h b/libweaved/command.h
index a8332e5..2b69266 100644
--- a/libweaved/command.h
+++ b/libweaved/command.h
@@ -1,18 +1,16 @@
-/*
- * Copyright 2015 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
+// Copyright 2015 The Android Open Source Project
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
#ifndef LIBWEAVED_COMMAND_H_
#define LIBWEAVED_COMMAND_H_
@@ -23,19 +21,17 @@
#include <brillo/errors/error.h>
#include <brillo/variant_dictionary.h>
#include <libweaved/export.h>
+#include <utils/StrongPointer.h>
-namespace com {
namespace android {
-namespace Weave {
-class CommandProxyInterface;
-} // namespace Weave
+namespace weave {
+class IWeaveCommand;
+} // namespace weave
} // namespace android
-} // namespace com
-
namespace weaved {
-class Device;
+class ServiceImpl;
namespace detail {
@@ -76,14 +72,16 @@ class LIBWEAVED_EXPORT Command final {
enum class Origin { kLocal, kCloud };
+ ~Command();
+
// Returns the full command ID.
- const std::string& GetID() const;
+ std::string GetID() const;
// Returns the full name of the command.
- const std::string& GetName() const;
+ std::string GetName() const;
// Returns the name of the component this command was sent to.
- const std::string& GetComponent() const;
+ std::string GetComponent() const;
// Returns the command state.
Command::State GetState() const;
@@ -92,7 +90,7 @@ class LIBWEAVED_EXPORT Command final {
Command::Origin GetOrigin() const;
// Returns the command parameters.
- const brillo::VariantDictionary& GetParameters() const;
+ brillo::VariantDictionary GetParameters() const;
// Helper function to get a command parameter of particular type T from the
// command parameter list. Returns default value for type T (e.g. 0 for int or
@@ -130,11 +128,11 @@ class LIBWEAVED_EXPORT Command final {
bool Cancel(brillo::ErrorPtr* error);
protected:
- Command(com::android::Weave::CommandProxyInterface* proxy);
+ explicit Command(const android::sp<android::weave::IWeaveCommand>& proxy);
private:
- friend class Device;
- com::android::Weave::CommandProxyInterface* proxy_{nullptr};
+ friend class ServiceImpl;
+ android::sp<android::weave::IWeaveCommand> binder_proxy_;
DISALLOW_COPY_AND_ASSIGN(Command);
};