summaryrefslogtreecommitdiffstats
path: root/dbus/mock_object_manager.h
diff options
context:
space:
mode:
authorkeybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-25 18:20:08 +0000
committerkeybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-03-25 18:20:08 +0000
commit9cc40cb2061532d345a6ec925e97563631132e9e (patch)
treeecfb2c793420271b3b172f27ecebc66ae966bb65 /dbus/mock_object_manager.h
parentdbc220a0550880c4d35d75a57f10663d3e1ed240 (diff)
downloadchromium_src-9cc40cb2061532d345a6ec925e97563631132e9e.zip
chromium_src-9cc40cb2061532d345a6ec925e97563631132e9e.tar.gz
chromium_src-9cc40cb2061532d345a6ec925e97563631132e9e.tar.bz2
Support D-Bus Object Manager
Object Manager is a new standard D-Bus interface, closely related to the Properties interface. It is used by BlueZ 5.x thus the need to implement it now. The intended use is that Chrome D-Bus Client singletons set up a link to an object manager in their constructor and register themselves to handle their particular interface. BUG=220951 TEST=dbus_unittests Review URL: https://codereview.chromium.org/12491014 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@190440 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'dbus/mock_object_manager.h')
-rw-r--r--dbus/mock_object_manager.h42
1 files changed, 42 insertions, 0 deletions
diff --git a/dbus/mock_object_manager.h b/dbus/mock_object_manager.h
new file mode 100644
index 0000000..e4c76ba
--- /dev/null
+++ b/dbus/mock_object_manager.h
@@ -0,0 +1,42 @@
+// Copyright (c) 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef DBUS_MOCK_OBJECT_MANAGER_H_
+#define DBUS_MOCK_OBJECT_MANAGER_H_
+
+#include <string>
+
+#include "dbus/message.h"
+#include "dbus/object_manager.h"
+#include "dbus/object_path.h"
+#include "dbus/object_proxy.h"
+#include "testing/gmock/include/gmock/gmock.h"
+
+namespace dbus {
+
+// Mock for ObjectManager.
+class MockObjectManager : public ObjectManager {
+ public:
+ MockObjectManager(Bus* bus,
+ const std::string& service_name,
+ const ObjectPath& object_path);
+
+ MOCK_METHOD2(RegisterInterface, void(const std::string&,
+ Interface*));
+ MOCK_METHOD1(UnregisterInterface, void(const std::string&));
+ MOCK_METHOD0(GetObjects, std::vector<ObjectPath>());
+ MOCK_METHOD1(GetObjectsWithInterface,
+ std::vector<ObjectPath>(const std::string&));
+ MOCK_METHOD1(GetObjectProxy, ObjectProxy*(const ObjectPath&));
+ MOCK_METHOD2(GetProperties, PropertySet*(const ObjectPath&,
+ const std::string&));
+ MOCK_METHOD0(GetManagedObjects, void());
+
+ protected:
+ virtual ~MockObjectManager();
+};
+
+} // namespace dbus
+
+#endif // DBUS_MOCK_OBJECT_MANAGER_H_