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_METHOD2(RequestOwnership
, void(
35 const std::string
& service_name
,
36 OnOwnershipCallback on_ownership_callback
));
37 MOCK_METHOD1(RequestOwnershipAndBlock
, bool(const std::string
& service_name
));
38 MOCK_METHOD1(ReleaseOwnership
, bool(const std::string
& service_name
));
39 MOCK_METHOD0(SetUpAsyncOperations
, bool());
40 MOCK_METHOD3(SendWithReplyAndBlock
, DBusMessage
*(DBusMessage
* request
,
43 MOCK_METHOD3(SendWithReply
, void(DBusMessage
* request
,
44 DBusPendingCall
** pending_call
,
46 MOCK_METHOD2(Send
, void(DBusMessage
* request
,
48 MOCK_METHOD2(AddFilter
, void(DBusHandleMessageFunction handle_message
,
50 MOCK_METHOD2(RemoveFilter
, void(DBusHandleMessageFunction handle_message
,
52 MOCK_METHOD2(AddMatch
, void(const std::string
& match_rule
,
54 MOCK_METHOD2(RemoveMatch
, bool(const std::string
& match_rule
,
56 MOCK_METHOD4(TryRegisterObjectPath
, bool(const ObjectPath
& object_path
,
57 const DBusObjectPathVTable
* vtable
,
60 MOCK_METHOD1(UnregisterObjectPath
, void(const ObjectPath
& object_path
));
61 MOCK_METHOD2(PostTaskToOriginThread
, void(
62 const tracked_objects::Location
& from_here
,
63 const base::Closure
& task
));
64 MOCK_METHOD2(PostTaskToDBusThread
, void(
65 const tracked_objects::Location
& from_here
,
66 const base::Closure
& task
));
67 MOCK_METHOD3(PostDelayedTaskToDBusThread
, void(
68 const tracked_objects::Location
& from_here
,
69 const base::Closure
& task
,
70 base::TimeDelta delay
));
71 MOCK_METHOD0(HasDBusThread
, bool());
72 MOCK_METHOD0(AssertOnOriginThread
, void());
73 MOCK_METHOD0(AssertOnDBusThread
, void());
81 #endif // DBUS_MOCK_BUS_H_