OLD | NEW |
---|---|
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/copresence/chrome_whispernet_client.h" | 5 #include "chrome/browser/copresence/chrome_whispernet_client.h" |
6 | 6 |
7 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap i.h" | 7 #include "chrome/browser/extensions/api/copresence_private/copresence_private_ap i.h" |
8 #include "chrome/browser/extensions/component_loader.h" | 8 #include "chrome/browser/extensions/component_loader.h" |
9 #include "chrome/browser/extensions/extension_service.h" | 9 #include "chrome/browser/extensions/extension_service.h" |
10 #include "chrome/common/extensions/api/copresence_private.h" | 10 #include "chrome/common/extensions/api/copresence_private.h" |
(...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
56 void ChromeWhispernetClient::Shutdown() { | 56 void ChromeWhispernetClient::Shutdown() { |
57 extension_loaded_callback_.Reset(); | 57 extension_loaded_callback_.Reset(); |
58 init_callback_.Reset(); | 58 init_callback_.Reset(); |
59 tokens_callback_.Reset(); | 59 tokens_callback_.Reset(); |
60 samples_callback_.Reset(); | 60 samples_callback_.Reset(); |
61 db_callback_.Reset(); | 61 db_callback_.Reset(); |
62 } | 62 } |
63 | 63 |
64 // Fire an event to request a token encode. | 64 // Fire an event to request a token encode. |
65 void ChromeWhispernetClient::EncodeToken(const std::string& token, | 65 void ChromeWhispernetClient::EncodeToken(const std::string& token, |
66 bool audible) { | 66 copresence::AudioType type) { |
67 DCHECK(extension_loaded_); | 67 DCHECK(extension_loaded_); |
68 DCHECK(browser_context_); | 68 DCHECK(browser_context_); |
69 DCHECK(extensions::EventRouter::Get(browser_context_)); | 69 DCHECK(extensions::EventRouter::Get(browser_context_)); |
70 | 70 |
71 scoped_ptr<extensions::Event> event(new extensions::Event( | 71 scoped_ptr<extensions::Event> event(new extensions::Event( |
72 extensions::api::copresence_private::OnEncodeTokenRequest::kEventName, | 72 extensions::api::copresence_private::OnEncodeTokenRequest::kEventName, |
73 extensions::api::copresence_private::OnEncodeTokenRequest::Create( | 73 extensions::api::copresence_private::OnEncodeTokenRequest::Create( |
74 token, audible), | 74 token, type == copresence::AUDIBLE), |
75 browser_context_)); | 75 browser_context_)); |
76 | 76 |
77 extensions::EventRouter::Get(browser_context_) | 77 extensions::EventRouter::Get(browser_context_) |
78 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); | 78 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); |
79 } | 79 } |
80 | 80 |
81 // Fire an event to request a decode for the given samples. | 81 // Fire an event to request a decode for the given samples. |
82 void ChromeWhispernetClient::DecodeSamples(const std::string& samples) { | 82 void ChromeWhispernetClient::DecodeSamples(copresence::AudioType type, |
83 const std::string& samples) { | |
83 DCHECK(extension_loaded_); | 84 DCHECK(extension_loaded_); |
84 DCHECK(browser_context_); | 85 DCHECK(browser_context_); |
85 DCHECK(extensions::EventRouter::Get(browser_context_)); | 86 DCHECK(extensions::EventRouter::Get(browser_context_)); |
86 | 87 |
88 extensions::api::copresence_private::DecodeRequestType request_type; | |
89 | |
90 switch (type) { | |
Daniel Erat
2014/10/17 22:25:59
you could get compile-time checking that all enum
rkc
2014/10/18 00:21:54
Code removed with Patch 3.
| |
91 case copresence::AUDIBLE: | |
92 request_type = | |
93 extensions::api::copresence_private::DECODE_REQUEST_TYPE_AUDIBLE; | |
94 break; | |
95 case copresence::INAUDIBLE: | |
96 request_type = | |
97 extensions::api::copresence_private::DECODE_REQUEST_TYPE_INAUDIBLE; | |
98 break; | |
99 case copresence::BOTH: | |
100 request_type = | |
101 extensions::api::copresence_private::DECODE_REQUEST_TYPE_BOTH; | |
102 break; | |
103 default: | |
104 request_type = | |
105 extensions::api::copresence_private::DECODE_REQUEST_TYPE_NONE; | |
106 LOG(ERROR) << "Unknown decode request type received: " << type; | |
107 } | |
108 | |
87 scoped_ptr<extensions::Event> event(new extensions::Event( | 109 scoped_ptr<extensions::Event> event(new extensions::Event( |
88 extensions::api::copresence_private::OnDecodeSamplesRequest::kEventName, | 110 extensions::api::copresence_private::OnDecodeSamplesRequest::kEventName, |
89 extensions::api::copresence_private::OnDecodeSamplesRequest::Create( | 111 extensions::api::copresence_private::OnDecodeSamplesRequest::Create( |
90 samples), | 112 request_type, samples), |
91 browser_context_)); | 113 browser_context_)); |
92 | 114 |
93 extensions::EventRouter::Get(browser_context_) | 115 extensions::EventRouter::Get(browser_context_) |
94 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); | 116 ->DispatchEventToExtension(kWhispernetProxyExtensionId, event.Pass()); |
95 } | 117 } |
96 | 118 |
97 void ChromeWhispernetClient::DetectBroadcast() { | 119 void ChromeWhispernetClient::DetectBroadcast() { |
98 DCHECK(extension_loaded_); | 120 DCHECK(extension_loaded_); |
99 DCHECK(browser_context_); | 121 DCHECK(browser_context_); |
100 DCHECK(extensions::EventRouter::Get(browser_context_)); | 122 DCHECK(extensions::EventRouter::Get(browser_context_)); |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
182 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; | 204 params.play.carrier_frequency = copresence::kDefaultCarrierFrequency; |
183 params.play.repetitions = copresence::kDefaultRepetitions; | 205 params.play.repetitions = copresence::kDefaultRepetitions; |
184 | 206 |
185 params.record.sample_rate = copresence::kDefaultSampleRate; | 207 params.record.sample_rate = copresence::kDefaultSampleRate; |
186 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; | 208 params.record.bits_per_sample = copresence::kDefaultBitsPerSample; |
187 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; | 209 params.record.carrier_frequency = copresence::kDefaultCarrierFrequency; |
188 params.record.channels = copresence::kDefaultChannels; | 210 params.record.channels = copresence::kDefaultChannels; |
189 | 211 |
190 InitializeWhispernet(params); | 212 InitializeWhispernet(params); |
191 } | 213 } |
OLD | NEW |