Index: components/copresence/handlers/directive_handler_impl.cc |
diff --git a/components/copresence/handlers/directive_handler_impl.cc b/components/copresence/handlers/directive_handler_impl.cc |
deleted file mode 100644 |
index 62b4f61926f61ca31b3bcce81a9193fbfcd7afef..0000000000000000000000000000000000000000 |
--- a/components/copresence/handlers/directive_handler_impl.cc |
+++ /dev/null |
@@ -1,126 +0,0 @@ |
-// Copyright 2014 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/copresence/handlers/directive_handler_impl.h" |
- |
-#include <utility> |
- |
-#include "base/bind.h" |
-#include "base/guid.h" |
-#include "base/logging.h" |
-#include "base/memory/ptr_util.h" |
-#include "base/time/time.h" |
-#include "components/copresence/handlers/audio/audio_directive_handler_impl.h" |
-#include "components/copresence/proto/data.pb.h" |
- |
-namespace { |
- |
-const int kMaxUnlabeledDirectiveTtl = 60000; // 1 minute |
- |
-} // namespace |
- |
-namespace copresence { |
- |
-// Public functions. |
- |
-DirectiveHandlerImpl::DirectiveHandlerImpl() |
- : DirectiveHandlerImpl(base::WrapUnique( |
- new AudioDirectiveHandlerImpl(DirectivesCallback()))) {} |
- |
-DirectiveHandlerImpl::DirectiveHandlerImpl( |
- const DirectivesCallback& update_directives_callback) |
- : DirectiveHandlerImpl(base::WrapUnique( |
- new AudioDirectiveHandlerImpl(update_directives_callback))) {} |
- |
-DirectiveHandlerImpl::DirectiveHandlerImpl( |
- std::unique_ptr<AudioDirectiveHandler> audio_handler) |
- : audio_handler_(std::move(audio_handler)), is_started_(false) {} |
- |
-DirectiveHandlerImpl::~DirectiveHandlerImpl() {} |
- |
-void DirectiveHandlerImpl::Start( |
- audio_modem::WhispernetClient* whispernet_client, |
- const audio_modem::TokensCallback& tokens_cb) { |
- audio_handler_->Initialize(whispernet_client, tokens_cb); |
- DVLOG(2) << "Directive handler starting"; |
- |
- is_started_ = true; |
- |
- // Run all the queued directives. |
- for (const auto& op_id : pending_directives_) { |
- for (const Directive& directive : op_id.second) |
- StartDirective(op_id.first, directive); |
- } |
- pending_directives_.clear(); |
-} |
- |
-void DirectiveHandlerImpl::AddDirective(const Directive& original_directive) { |
- // We may need to modify the directive's TTL. |
- Directive directive(original_directive); |
- |
- // We only handle transmit and receive directives. |
- // WiFi and BLE scans aren't implemented. |
- DCHECK_EQ(directive.instruction_type(), TOKEN); |
- |
- std::string op_id = directive.published_message_id(); |
- if (op_id.empty()) |
- op_id = directive.subscription_id(); |
- |
- // GCM directives will not have a publish or subscribe ID populated. |
- if (op_id.empty()) { |
- op_id = base::GenerateGUID(); |
- DVLOG(3) << "No operation associated with directive. Setting op id to " |
- << op_id; |
- |
- // The app can't cancel these directives, so make sure they're not too long. |
- if (directive.ttl_millis() > kMaxUnlabeledDirectiveTtl) { |
- DVLOG(2) << "Cutting TTL of unlabeled directive from " |
- << directive.ttl_millis() << " down to " |
- << kMaxUnlabeledDirectiveTtl << " milliseconds"; |
- directive.set_ttl_millis(kMaxUnlabeledDirectiveTtl); |
- } |
- } |
- |
- if (!is_started_) { |
- pending_directives_[op_id].push_back(directive); |
- } else { |
- StartDirective(op_id, directive); |
- } |
-} |
- |
-void DirectiveHandlerImpl::RemoveDirectives(const std::string& op_id) { |
- // If whispernet_client_ is null, audio_handler_ hasn't been Initialized. |
- if (is_started_) { |
- audio_handler_->RemoveInstructions(op_id); |
- } else { |
- pending_directives_.erase(op_id); |
- } |
-} |
- |
-const std::string DirectiveHandlerImpl::GetCurrentAudioToken( |
- audio_modem::AudioType type) const { |
- // If whispernet_client_ is null, audio_handler_ hasn't been Initialized. |
- return is_started_ ? audio_handler_->PlayingToken(type) : ""; |
-} |
- |
-bool DirectiveHandlerImpl::IsAudioTokenHeard( |
- audio_modem::AudioType type) const { |
- return is_started_ ? audio_handler_->IsPlayingTokenHeard(type) : false; |
-} |
- |
- |
-// Private functions. |
- |
-void DirectiveHandlerImpl::StartDirective(const std::string& op_id, |
- const Directive& directive) { |
- DCHECK(is_started_); |
- DLOG_IF(WARNING, directive.delay_millis() > 0) |
- << "Ignoring " << directive.delay_millis() << " delay for directive"; |
- const TokenMedium& medium = directive.token_instruction().medium(); |
- DCHECK(medium == AUDIO_ULTRASOUND_PASSBAND || medium == AUDIO_AUDIBLE_DTMF) |
- << "Received directive for unimplemented medium " << medium; |
- audio_handler_->AddInstruction(directive, op_id); |
-} |
- |
-} // namespace copresence |