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(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_METHOD0(ShutdownAndBlock
, void());
30 MOCK_METHOD0(ShutdownOnDBusThreadAndBlock
, void());
31 MOCK_METHOD0(Connect
, bool());
32 MOCK_METHOD2(RequestOwnership
, void(
33 const std::string
& service_name
,
34 OnOwnershipCallback on_ownership_callback
));
35 MOCK_METHOD1(RequestOwnershipAndBlock
, bool(const std::string
& service_name
));
36 MOCK_METHOD1(ReleaseOwnership
, bool(const std::string
& service_name
));
37 MOCK_METHOD0(SetUpAsyncOperations
, bool());
38 MOCK_METHOD3(SendWithReplyAndBlock
, DBusMessage
*(DBusMessage
* request
,
41 MOCK_METHOD3(SendWithReply
, void(DBusMessage
* request
,
42 DBusPendingCall
** pending_call
,
44 MOCK_METHOD2(Send
, void(DBusMessage
* request
,
46 MOCK_METHOD2(AddFilter
, void(DBusHandleMessageFunction handle_message
,
48 MOCK_METHOD2(RemoveFilter
, void(DBusHandleMessageFunction handle_message
,
50 MOCK_METHOD2(AddMatch
, void(const std::string
& match_rule
,
52 MOCK_METHOD2(RemoveMatch
, void(const std::string
& match_rule
,
54 MOCK_METHOD4(TryRegisterObjectPath
, bool(const ObjectPath
& object_path
,
55 const DBusObjectPathVTable
* vtable
,
58 MOCK_METHOD1(UnregisterObjectPath
, void(const ObjectPath
& object_path
));
59 MOCK_METHOD2(PostTaskToOriginThread
, void(
60 const tracked_objects::Location
& from_here
,
61 const base::Closure
& task
));
62 MOCK_METHOD2(PostTaskToDBusThread
, void(
63 const tracked_objects::Location
& from_here
,
64 const base::Closure
& task
));
65 MOCK_METHOD3(PostDelayedTaskToDBusThread
, void(
66 const tracked_objects::Location
& from_here
,
67 const base::Closure
& task
,
68 base::TimeDelta delay
));
69 MOCK_METHOD0(HasDBusThread
, bool());
70 MOCK_METHOD0(AssertOnOriginThread
, void());
71 MOCK_METHOD0(AssertOnDBusThread
, void());
79 #endif // DBUS_MOCK_BUS_H_