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_
10 #include "dbus/object_path.h"
11 #include "testing/gmock/include/gmock/gmock.h"
15 // Mock for Bus class. Along with MockObjectProxy and MockExportedObject,
16 // the mock classes can be used to write unit tests without issuing real
18 class MockBus
: public Bus
{
20 MockBus(Bus::Options
& options
);
23 MOCK_METHOD2(GetObjectProxy
, ObjectProxy
*(const std::string
& service_name
,
24 const ObjectPath
& object_path
));
25 MOCK_METHOD3(GetObjectProxyWithOptions
,
26 ObjectProxy
*(const std::string
& service_name
,
27 const ObjectPath
& object_path
,
29 MOCK_METHOD2(GetExportedObject
, ExportedObject
*(
30 const std::string
& service_name
,
31 const ObjectPath
& object_path
));
32 MOCK_METHOD0(ShutdownAndBlock
, void());
33 MOCK_METHOD0(ShutdownOnDBusThreadAndBlock
, void());
34 MOCK_METHOD0(Connect
, bool());
35 MOCK_METHOD1(RequestOwnership
, 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
,
69 MOCK_METHOD0(HasDBusThread
, bool());
70 MOCK_METHOD0(AssertOnOriginThread
, void());
71 MOCK_METHOD0(AssertOnDBusThread
, void());
76 #endif // DBUS_MOCK_BUS_H_