blob: 9287c1efa13563b4b5e24435a6fd9bd830c88501 [file] [log] [blame]
// Copyright 2016 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 REMOTING_HOST_SECURITY_KEY_FAKE_SECURITY_KEY_MESSAGE_READER_H_
#define REMOTING_HOST_SECURITY_KEY_FAKE_SECURITY_KEY_MESSAGE_READER_H_
#include "base/callback.h"
#include "base/macros.h"
#include "base/memory/weak_ptr.h"
#include "remoting/host/security_key/security_key_message.h"
#include "remoting/host/security_key/security_key_message_reader.h"
namespace remoting {
// Simulates the SecurityKeyMessageReader and provides access to data
// members for testing.
class FakeSecurityKeyMessageReader : public SecurityKeyMessageReader {
public:
FakeSecurityKeyMessageReader();
~FakeSecurityKeyMessageReader() override;
// SecurityKeyMessageReader interface.
void Start(const SecurityKeyMessageCallback& message_callback,
const base::Closure& error_callback) override;
base::WeakPtr<FakeSecurityKeyMessageReader> AsWeakPtr();
const SecurityKeyMessageCallback& message_callback() {
return message_callback_;
}
const base::Closure& error_callback() { return error_callback_; }
private:
// Caller-supplied message and error callbacks.
SecurityKeyMessageCallback message_callback_;
base::Closure error_callback_;
base::WeakPtrFactory<FakeSecurityKeyMessageReader> weak_factory_;
DISALLOW_COPY_AND_ASSIGN(FakeSecurityKeyMessageReader);
};
} // namespace remoting
#endif // REMOTING_HOST_SECURITY_KEY_FAKE_SECURITY_KEY_MESSAGE_READER_H_