blob: 9a0e8c6d735ce166809c582c4d32d6fa90ce5a62 [file] [log] [blame]
// Copyright 2015 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 COMPONENTS_AUDIO_MODEM_TEST_STUB_WHISPERNET_CLIENT_H_
#define COMPONENTS_AUDIO_MODEM_TEST_STUB_WHISPERNET_CLIENT_H_
#include <string>
#include <vector>
#include "base/callback.h"
#include "base/macros.h"
#include "base/memory/ref_counted.h"
#include "components/audio_modem/public/whispernet_client.h"
#include "media/base/audio_bus.h"
namespace audio_modem {
// A simple WhispernetClient for testing.
class StubWhispernetClient final : public WhispernetClient {
public:
// Constructor. |samples| and |tokens|, if specified,
// will be returned for any encoding and decoding requests.
StubWhispernetClient(
scoped_refptr<media::AudioBusRefCounted> samples =
scoped_refptr<media::AudioBusRefCounted>(),
const std::vector<AudioToken>& tokens = std::vector<AudioToken>());
~StubWhispernetClient() override;
void Initialize(const SuccessCallback& init_callback) override;
void EncodeToken(const std::string& token,
AudioType type,
const TokenParameters token_params[2]) override;
void DecodeSamples(AudioType type,
const std::string& samples,
const TokenParameters token_params[2]) override;
void RegisterTokensCallback(const TokensCallback& tokens_cb) override;
void RegisterSamplesCallback(const SamplesCallback& samples_cb) override;
TokensCallback GetTokensCallback() override;
SamplesCallback GetSamplesCallback() override;
SuccessCallback GetInitializedCallback() override;
private:
TokensCallback tokens_cb_;
SamplesCallback samples_cb_;
scoped_refptr<media::AudioBusRefCounted> samples_;
std::vector<AudioToken> tokens_;
DISALLOW_COPY_AND_ASSIGN(StubWhispernetClient);
};
} // namespace audio_modem
#endif // COMPONENTS_AUDIO_MODEM_TEST_STUB_WHISPERNET_CLIENT_H_