1 // 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 16 namespace dbus { 17 18 // Mock for ObjectManager. 19 class 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 35 protected: 36 ~MockObjectManager() override; 37 }; 38 39 } // namespace dbus 40 41 #endif // DBUS_MOCK_OBJECT_MANAGER_H_ 42