1 // Copyright (c) 2012 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.
5 #ifndef DBUS_MOCK_BUS_H_
6 #define DBUS_MOCK_BUS_H_
9 #include "dbus/object_path.h"
10 #include "testing/gmock/include/gmock/gmock.h"
14 // Mock for Bus class. Along with MockObjectProxy and MockExportedObject,
15 // the mock classes can be used to write unit tests without issuing real
17 class MockBus
: public Bus
{
19 MockBus(const Bus::Options
& options
);
21 MOCK_METHOD2(GetObjectProxy
, ObjectProxy
*(const std::string
& service_name
,
22 const ObjectPath
& object_path
));
23 MOCK_METHOD3(GetObjectProxyWithOptions
,
24 ObjectProxy
*(const std::string
& service_name
,
25 const ObjectPath
& object_path
,
27 MOCK_METHOD1(GetExportedObject
, ExportedObject
*(
28 const ObjectPath
& object_path
));
29 MOCK_METHOD2(GetObjectManager
, ObjectManager
*(const std::string
&,
31 MOCK_METHOD0(ShutdownAndBlock
, void());
32 MOCK_METHOD0(ShutdownOnDBusThreadAndBlock
, void());
33 MOCK_METHOD0(Connect
, bool());
34 MOCK_METHOD3(RequestOwnership
, void(
35 const std::string
& service_name
,
36 ServiceOwnershipOptions options
,
37 OnOwnershipCallback on_ownership_callback
));
38 MOCK_METHOD2(RequestOwnershipAndBlock
, bool(const std::string
& service_name
,
39 ServiceOwnershipOptions options
));
40 MOCK_METHOD1(ReleaseOwnership
, bool(const std::string
& service_name
));
41 MOCK_METHOD0(SetUpAsyncOperations
, bool());
42 MOCK_METHOD3(SendWithReplyAndBlock
, DBusMessage
*(DBusMessage
* request
,
45 MOCK_METHOD3(SendWithReply
, void(DBusMessage
* request
,
46 DBusPendingCall
** pending_call
,
48 MOCK_METHOD2(Send
, void(DBusMessage
* request
,
50 MOCK_METHOD2(AddFilter
, void(DBusHandleMessageFunction handle_message
,
52 MOCK_METHOD2(RemoveFilter
, void(DBusHandleMessageFunction handle_message
,
54 MOCK_METHOD2(AddMatch
, void(const std::string
& match_rule
,
56 MOCK_METHOD2(RemoveMatch
, bool(const std::string
& match_rule
,
58 MOCK_METHOD4(TryRegisterObjectPath
, bool(const ObjectPath
& object_path
,
59 const DBusObjectPathVTable
* vtable
,
62 MOCK_METHOD1(UnregisterObjectPath
, void(const ObjectPath
& object_path
));
63 MOCK_METHOD2(PostTaskToOriginThread
, void(
64 const tracked_objects::Location
& from_here
,
65 const base::Closure
& task
));
66 MOCK_METHOD2(PostTaskToDBusThread
, void(
67 const tracked_objects::Location
& from_here
,
68 const base::Closure
& task
));
69 MOCK_METHOD3(PostDelayedTaskToDBusThread
, void(
70 const tracked_objects::Location
& from_here
,
71 const base::Closure
& task
,
72 base::TimeDelta delay
));
73 MOCK_METHOD0(HasDBusThread
, bool());
74 MOCK_METHOD0(AssertOnOriginThread
, void());
75 MOCK_METHOD0(AssertOnDBusThread
, void());
83 #endif // DBUS_MOCK_BUS_H_