blob: ea0fb0882e86a644af29b82317310d0a14abf28f [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.
#include "components/audio_modem/test/stub_modem.h"
#include "base/base64.h"
#include "base/logging.h"
namespace audio_modem {
StubModem::StubModem() {
playing_[AUDIBLE] = false;
playing_[INAUDIBLE] = false;
recording_[AUDIBLE] = false;
recording_[INAUDIBLE] = false;
}
StubModem::~StubModem() {}
void StubModem::Initialize(WhispernetClient* whispernet_client,
const TokensCallback& tokens_cb) {
tokens_callback_ = tokens_cb;
}
void StubModem::StartPlaying(AudioType type) {
playing_[type] = true;
}
void StubModem::StopPlaying(AudioType type) {
playing_[type] = false;
}
void StubModem::StartRecording(AudioType type) {
recording_[type] = true;
}
void StubModem::StopRecording(AudioType type) {
recording_[type] = false;
}
const std::string StubModem::GetToken(AudioType type) const {
return std::string();
}
bool StubModem::IsPlayingTokenHeard(AudioType type) const {
return false;
}
bool StubModem::IsRecording(AudioType type) const {
return recording_[type];
}
bool StubModem::IsPlaying(AudioType type) const {
return playing_[type];
}
void StubModem::DeliverTokens(const std::vector<AudioToken>& tokens) {
std::vector<AudioToken> encoded_tokens;
for (const AudioToken& token : tokens) {
std::string encoded_token;
base::Base64Encode(token.token, & encoded_token);
encoded_tokens.push_back(AudioToken(encoded_token, token.audible));
}
DCHECK_EQ(tokens.size(), encoded_tokens.size());
tokens_callback_.Run(encoded_tokens);
}
} // namespace audio_modem