diff options
author | keybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-25 18:20:08 +0000 |
---|---|---|
committer | keybuk@chromium.org <keybuk@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-03-25 18:20:08 +0000 |
commit | 9cc40cb2061532d345a6ec925e97563631132e9e (patch) | |
tree | ecfb2c793420271b3b172f27ecebc66ae966bb65 /dbus/mock_object_manager.h | |
parent | dbc220a0550880c4d35d75a57f10663d3e1ed240 (diff) | |
download | chromium_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.h | 42 |
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_ |