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.
4
5#ifndef DBUS_MOCK_EXPORTED_OBJECT_H_
6#define DBUS_MOCK_EXPORTED_OBJECT_H_
7
8#include <string>
9
10#include "dbus/exported_object.h"
11#include "dbus/object_path.h"
12#include "testing/gmock/include/gmock/gmock.h"
13
14namespace dbus {
15
16// Mock for ExportedObject.
17class MockExportedObject : public ExportedObject {
18 public:
19  MockExportedObject(Bus* bus,
20                     const ObjectPath& object_path);
21
22  MOCK_METHOD3(ExportMethodAndBlock,
23               bool(const std::string& interface_name,
24                    const std::string& method_name,
25                    MethodCallCallback method_call_callback));
26  MOCK_METHOD4(ExportMethod,
27               void(const std::string& interface_name,
28                    const std::string& method_name,
29                    MethodCallCallback method_call_callback,
30                    OnExportedCallback on_exported_callback));
31  MOCK_METHOD1(SendSignal, void(Signal* signal));
32  MOCK_METHOD0(Unregister, void());
33
34 protected:
35  virtual ~MockExportedObject();
36};
37
38}  // namespace dbus
39
40#endif  // DBUS_MOCK_EXPORTED_OBJECT_H_
41