Buffet: Phase 1 of GCD device registration workflow
Implemented the basic device registration workflow in buffet daemon.
Updated buffet_client to perform/test device registration:
Check for device registration:
buffet_client cr
Getting registered device information:
buffet_client di
Begin registration (with all default values):
buffet_client sr
Begin registration with custom parameters:
buffet_client sr "service_url=http://localhost/buffet&device_kind=coffeePot"
Finalize registration:
buffet_client fr 4/FsXprlpVsmPw6z7ro7aqU156Eh6V.0ktCYeVc3DwYEnp6UAPFm0GAey3PigI
BUG=chromium:363348
TEST=unit tests passed.
Change-Id: Id8a90b66fbdc366eaa9f62caa82a7cb0abc2e638
Reviewed-on: https://chromium-review.googlesource.com/195082
Tested-by: Alex Vakulenko <avakulenko@chromium.org>
Reviewed-by: Chris Sosa <sosa@chromium.org>
Commit-Queue: Alex Vakulenko <avakulenko@chromium.org>
diff --git a/buffet/manager.h b/buffet/manager.h
index 95d0548..ad66252 100644
--- a/buffet/manager.h
+++ b/buffet/manager.h
@@ -7,11 +7,14 @@
#include <base/basictypes.h>
#include <base/memory/scoped_ptr.h>
+#include <base/values.h>
#include <dbus/message.h>
#include <dbus/object_path.h>
+#include <memory>
#include "buffet/dbus_constants.h"
#include "buffet/exported_property_set.h"
+#include "buffet/device_registration_info.h"
namespace buffet {
@@ -40,8 +43,17 @@
virtual ~Properties() {}
};
- // Handles calls to org.chromium.Buffet.Manager.RegisterDevice().
- scoped_ptr<dbus::Response> HandleRegisterDevice(
+ // Handles calls to org.chromium.Buffet.Manager.CheckDeviceRegistered().
+ scoped_ptr<dbus::Response> HandleCheckDeviceRegistered(
+ dbus::MethodCall* method_call);
+ // Handles calls to org.chromium.Buffet.Manager.GetDeviceInfo().
+ scoped_ptr<dbus::Response> HandleGetDeviceInfo(
+ dbus::MethodCall* method_call);
+ // Handles calls to org.chromium.Buffet.Manager.StartRegisterDevice().
+ scoped_ptr<dbus::Response> HandleStartRegisterDevice(
+ dbus::MethodCall* method_call);
+ // Handles calls to org.chromium.Buffet.Manager.FinishRegisterDevice().
+ scoped_ptr<dbus::Response> HandleFinishRegisterDevice(
dbus::MethodCall* method_call);
// Handles calls to org.chromium.Buffet.Manager.UpdateState().
scoped_ptr<dbus::Response> HandleUpdateState(
@@ -51,6 +63,8 @@
dbus::ExportedObject* exported_object_; // weak; owned by the Bus object.
scoped_ptr<Properties> properties_;
+ DeviceRegistrationInfo device_info_;
+
DISALLOW_COPY_AND_ASSIGN(Manager);
};