blob: 2318e497ea07459970f545df89a9a205592f90c6 [file] [log] [blame]
[email protected]9cc40cb2013-03-25 18:20:081// Copyright (c) 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef DBUS_MOCK_OBJECT_MANAGER_H_
6#define DBUS_MOCK_OBJECT_MANAGER_H_
7
8#include <string>
9
10#include "dbus/message.h"
11#include "dbus/object_manager.h"
12#include "dbus/object_path.h"
13#include "dbus/object_proxy.h"
14#include "testing/gmock/include/gmock/gmock.h"
15
16namespace dbus {
17
18// Mock for ObjectManager.
19class MockObjectManager : public ObjectManager {
20 public:
21 MockObjectManager(Bus* bus,
22 const std::string& service_name,
23 const ObjectPath& object_path);
24
25 MOCK_METHOD2(RegisterInterface, void(const std::string&,
26 Interface*));
27 MOCK_METHOD1(UnregisterInterface, void(const std::string&));
28 MOCK_METHOD0(GetObjects, std::vector<ObjectPath>());
29 MOCK_METHOD1(GetObjectsWithInterface,
30 std::vector<ObjectPath>(const std::string&));
31 MOCK_METHOD1(GetObjectProxy, ObjectProxy*(const ObjectPath&));
32 MOCK_METHOD2(GetProperties, PropertySet*(const ObjectPath&,
33 const std::string&));
[email protected]9cc40cb2013-03-25 18:20:0834
35 protected:
36 virtual ~MockObjectManager();
37};
38
39} // namespace dbus
40
41#endif // DBUS_MOCK_OBJECT_MANAGER_H_