blob: e4c76ba71144c781b7f00429d62ed39d2598dc4f [file] [log] [blame]
keybuk@chromium.org09715012013-03-26 03:20:08 +09001// 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&));
34 MOCK_METHOD0(GetManagedObjects, void());
35
36 protected:
37 virtual ~MockObjectManager();
38};
39
40} // namespace dbus
41
42#endif // DBUS_MOCK_OBJECT_MANAGER_H_