buffet: Add State property to Manager
BUG=chromium:356368
TEST=Modified buffet_BasicDBusAPI verifies that Get and GetAll work.
Change-Id: I3af7cbbdee6d47405786420b0d00a71b0f883ec7
Reviewed-on: https://chromium-review.googlesource.com/192002
Tested-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Christopher Wiley <wiley@chromium.org>
diff --git a/buffet/manager.h b/buffet/manager.h
index d373a5e..cc65868 100644
--- a/buffet/manager.h
+++ b/buffet/manager.h
@@ -9,6 +9,9 @@
#include <base/memory/scoped_ptr.h>
#include <dbus/message.h>
+#include "buffet/dbus_constants.h"
+#include "buffet/exported_property_set.h"
+
namespace buffet {
class DBusManager;
@@ -22,6 +25,16 @@
~Manager();
private:
+ struct Properties: public dbus_utils::ExportedPropertySet {
+ public:
+ dbus_utils::ExportedProperty<std::string> state_;
+ Properties(dbus::ExportedObject *manager_object)
+ : dbus_utils::ExportedPropertySet(manager_object) {
+ RegisterProperty(dbus_constants::kManagerInterface, "State", &state_);
+ }
+ virtual ~Properties() {}
+ };
+
// Handles calls to org.chromium.Buffet.Manager.RegisterDevice().
scoped_ptr<dbus::Response> HandleRegisterDevice(
dbus::MethodCall* method_call);
@@ -30,6 +43,7 @@
dbus::MethodCall* method_call);
DBusManager* dbus_manager_; // Weak; DBusManager should outlive Manager.
+ scoped_ptr<Properties> properties_;
DISALLOW_COPY_AND_ASSIGN(Manager);
};