You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
91 lines
3.6 KiB
91 lines
3.6 KiB
// Copyright (c) 2012 The Chromium Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#ifndef DBUS_MOCK_OBJECT_PROXY_H_
|
|
#define DBUS_MOCK_OBJECT_PROXY_H_
|
|
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
#include "dbus/message.h"
|
|
#include "dbus/object_path.h"
|
|
#include "dbus/object_proxy.h"
|
|
#include "testing/gmock/include/gmock/gmock.h"
|
|
|
|
namespace dbus {
|
|
|
|
// Mock for ObjectProxy.
|
|
class MockObjectProxy : public ObjectProxy {
|
|
public:
|
|
MockObjectProxy(Bus* bus,
|
|
const std::string& service_name,
|
|
const ObjectPath& object_path);
|
|
|
|
MOCK_METHOD3(CallMethodAndBlockWithErrorDetails,
|
|
std::unique_ptr<Response>(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ScopedDBusError* error));
|
|
MOCK_METHOD2(CallMethodAndBlock,
|
|
std::unique_ptr<Response>(MethodCall* method_call,
|
|
int timeout_ms));
|
|
|
|
// This method is not mockable because it takes a move-only argument. To work
|
|
// around this, CallMethod() implementation here calls DoCallMethod() which is
|
|
// mockable.
|
|
void CallMethod(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ResponseCallback callback) override;
|
|
MOCK_METHOD3(DoCallMethod,
|
|
void(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ResponseCallback* callback));
|
|
|
|
// This method is not mockable because it takes a move-only argument. To work
|
|
// around this, CallMethodWithErrorResponse() implementation here calls
|
|
// DoCallMethodWithErrorResponse() which is mockable.
|
|
void CallMethodWithErrorResponse(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ResponseOrErrorCallback callback) override;
|
|
MOCK_METHOD3(DoCallMethodWithErrorResponse,
|
|
void(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ResponseOrErrorCallback* callback));
|
|
|
|
// This method is not mockable because it takes a move-only argument. To work
|
|
// around this, CallMethodWithErrorCallback() implementation here calls
|
|
// DoCallMethodWithErrorCallback() which is mockable.
|
|
void CallMethodWithErrorCallback(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ResponseCallback callback,
|
|
ErrorCallback error_callback) override;
|
|
MOCK_METHOD4(DoCallMethodWithErrorCallback,
|
|
void(MethodCall* method_call,
|
|
int timeout_ms,
|
|
ResponseCallback* callback,
|
|
ErrorCallback* error_callback));
|
|
|
|
// This method is not mockable because it takes a move-only argument. To work
|
|
// around this, ConnectToSignal() implementation here calls
|
|
// DoConnectToSignal() which is mockable.
|
|
void ConnectToSignal(const std::string& interface_name,
|
|
const std::string& signal_name,
|
|
SignalCallback signal_callback,
|
|
OnConnectedCallback on_connected_callback) override;
|
|
MOCK_METHOD4(DoConnectToSignal,
|
|
void(const std::string& interface_name,
|
|
const std::string& signal_name,
|
|
SignalCallback signal_callback,
|
|
OnConnectedCallback* on_connected_callback));
|
|
MOCK_METHOD1(SetNameOwnerChangedCallback,
|
|
void(NameOwnerChangedCallback callback));
|
|
MOCK_METHOD0(Detach, void());
|
|
|
|
protected:
|
|
~MockObjectProxy() override;
|
|
};
|
|
|
|
} // namespace dbus
|
|
|
|
#endif // DBUS_MOCK_OBJECT_PROXY_H_
|