Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(75)

Side by Side Diff: chrome/browser/ui/webui/options2/chromeos/bluetooth_options_handler2.cc

Issue 9312001: Add bluetooth callbacks for fetching paired devices and stopping device discovery. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 8 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/browser/ui/webui/options2/chromeos/bluetooth_options_handler2.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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/ui/webui/options2/chromeos/bluetooth_options_handler2.h " 5 #include "chrome/browser/ui/webui/options2/chromeos/bluetooth_options_handler2.h "
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/utf_string_conversions.h" 9 #include "base/utf_string_conversions.h"
10 #include "base/values.h" 10 #include "base/values.h"
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
157 void BluetoothOptionsHandler::RegisterMessages() { 157 void BluetoothOptionsHandler::RegisterMessages() {
158 web_ui()->RegisterMessageCallback("bluetoothEnableChange", 158 web_ui()->RegisterMessageCallback("bluetoothEnableChange",
159 base::Bind(&BluetoothOptionsHandler::EnableChangeCallback, 159 base::Bind(&BluetoothOptionsHandler::EnableChangeCallback,
160 base::Unretained(this))); 160 base::Unretained(this)));
161 web_ui()->RegisterMessageCallback("findBluetoothDevices", 161 web_ui()->RegisterMessageCallback("findBluetoothDevices",
162 base::Bind(&BluetoothOptionsHandler::FindDevicesCallback, 162 base::Bind(&BluetoothOptionsHandler::FindDevicesCallback,
163 base::Unretained(this))); 163 base::Unretained(this)));
164 web_ui()->RegisterMessageCallback("updateBluetoothDevice", 164 web_ui()->RegisterMessageCallback("updateBluetoothDevice",
165 base::Bind(&BluetoothOptionsHandler::UpdateDeviceCallback, 165 base::Bind(&BluetoothOptionsHandler::UpdateDeviceCallback,
166 base::Unretained(this))); 166 base::Unretained(this)));
167 web_ui()->RegisterMessageCallback("stopBluetoothDeviceDiscovery",
168 base::Bind(&BluetoothOptionsHandler::StopDiscoveryCallback,
169 base::Unretained(this)));
170 web_ui()->RegisterMessageCallback("getPairedBluetoothDevices",
171 base::Bind(&BluetoothOptionsHandler::GetPairedDevicesCallback,
172 base::Unretained(this)));
173
167 } 174 }
168 175
169 void BluetoothOptionsHandler::EnableChangeCallback( 176 void BluetoothOptionsHandler::EnableChangeCallback(
170 const ListValue* args) { 177 const ListValue* args) {
171 bool bluetooth_enabled; 178 bool bluetooth_enabled;
172 args->GetBoolean(0, &bluetooth_enabled); 179 args->GetBoolean(0, &bluetooth_enabled);
173 // TODO(kevers): Call Bluetooth API to enable or disable. 180 // TODO(kevers): Call Bluetooth API to enable or disable.
174 base::FundamentalValue checked(bluetooth_enabled); 181 base::FundamentalValue checked(bluetooth_enabled);
175 web_ui()->CallJavascriptFunction( 182 web_ui()->CallJavascriptFunction(
176 "options.AdvancedOptions.setBluetoothState", checked); 183 "options.AdvancedOptions.setBluetoothState", checked);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
215 std::string passkey; 222 std::string passkey;
216 args->GetString(kUpdateDevicePasskeyIndex, &passkey); 223 args->GetString(kUpdateDevicePasskeyIndex, &passkey);
217 DVLOG(1) << "UpdateDeviceCallback: " << address << ": " << command 224 DVLOG(1) << "UpdateDeviceCallback: " << address << ": " << command
218 << " [" << passkey << "]"; 225 << " [" << passkey << "]";
219 } else { 226 } else {
220 // Initiating a device connection or disconnecting 227 // Initiating a device connection or disconnecting
221 DVLOG(1) << "UpdateDeviceCallback: " << address << ": " << command; 228 DVLOG(1) << "UpdateDeviceCallback: " << address << ": " << command;
222 } 229 }
223 } 230 }
224 231
232 void BluetoothOptionsHandler::StopDiscoveryCallback(
233 const ListValue* args) {
234 DVLOG(2) << "Stop searching for Bluetooth devices";
James Hawkins 2012/01/31 18:14:27 Did you intend to leave these logging statements i
kevers 2012/01/31 18:20:31 Intend to pull most of the logging out. I should
235 chromeos::BluetoothManager* bluetooth_manager =
236 chromeos::BluetoothManager::GetInstance();
237 DCHECK(bluetooth_manager);
238
239 chromeos::BluetoothAdapter* default_adapter =
240 bluetooth_manager->DefaultAdapter();
241
242 ValidateDefaultAdapter(default_adapter);
243
244 if (default_adapter == NULL) {
245 VLOG(1) << "DiscoveryEnded: no default adapter";
246 return;
247 }
248
249 default_adapter->StopDiscovery();
250 }
251
252 void BluetoothOptionsHandler::GetPairedDevicesCallback(
253 const ListValue* args) {
254 // TODO(keybuk): Iterate over list of paired devices calling
255 // SetDeviceNotification for each device.
256 DVLOG(2) << "Get paired Bluetooth devices";
257 }
258
225 void BluetoothOptionsHandler::SendDeviceNotification( 259 void BluetoothOptionsHandler::SendDeviceNotification(
226 chromeos::BluetoothDevice* device, 260 chromeos::BluetoothDevice* device,
227 base::DictionaryValue* params) { 261 base::DictionaryValue* params) {
228 // Retrieve properties of the bluetooth device. The properties names are 262 // Retrieve properties of the bluetooth device. The properties names are
229 // in title case. Convert to camel case in accordance with our Javascript 263 // in title case. Convert to camel case in accordance with our Javascript
230 // naming convention. 264 // naming convention.
231 const DictionaryValue& properties = device->AsDictionary(); 265 const DictionaryValue& properties = device->AsDictionary();
232 base::DictionaryValue js_properties; 266 base::DictionaryValue js_properties;
233 for (DictionaryValue::key_iterator it = properties.begin_keys(); 267 for (DictionaryValue::key_iterator it = properties.begin_keys();
234 it != properties.end_keys(); ++it) { 268 it != properties.end_keys(); ++it) {
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
320 354
321 // TODO(vlaviano): Respond to adapter change. 355 // TODO(vlaviano): Respond to adapter change.
322 } 356 }
323 357
324 void BluetoothOptionsHandler::DiscoveryStarted(const std::string& adapter_id) { 358 void BluetoothOptionsHandler::DiscoveryStarted(const std::string& adapter_id) {
325 VLOG(2) << "Discovery started on " << adapter_id; 359 VLOG(2) << "Discovery started on " << adapter_id;
326 } 360 }
327 361
328 void BluetoothOptionsHandler::DiscoveryEnded(const std::string& adapter_id) { 362 void BluetoothOptionsHandler::DiscoveryEnded(const std::string& adapter_id) {
329 VLOG(2) << "Discovery ended on " << adapter_id; 363 VLOG(2) << "Discovery ended on " << adapter_id;
330
331 // Stop the discovery session.
332 // TODO(vlaviano): We may want to expose DeviceDisappeared, remove the
333 // "Find devices" button, and let the discovery session continue throughout
334 // the time that the page is visible rather than just doing a single discovery
335 // cycle in response to a button click.
336 chromeos::BluetoothManager* bluetooth_manager =
337 chromeos::BluetoothManager::GetInstance();
338 DCHECK(bluetooth_manager);
339
340 chromeos::BluetoothAdapter* default_adapter =
341 bluetooth_manager->DefaultAdapter();
342
343 ValidateDefaultAdapter(default_adapter);
344
345 if (default_adapter == NULL) {
346 VLOG(1) << "DiscoveryEnded: no default adapter";
347 return;
348 }
349
350 default_adapter->StopDiscovery();
351 } 364 }
352 365
353 void BluetoothOptionsHandler::DeviceFound(const std::string& adapter_id, 366 void BluetoothOptionsHandler::DeviceFound(const std::string& adapter_id,
354 chromeos::BluetoothDevice* device) { 367 chromeos::BluetoothDevice* device) {
355 VLOG(2) << "Device found on " << adapter_id; 368 VLOG(2) << "Device found on " << adapter_id;
356 DCHECK(device); 369 DCHECK(device);
357 SendDeviceNotification(device, NULL); 370 SendDeviceNotification(device, NULL);
358 } 371 }
359 372
360 void BluetoothOptionsHandler::ValidateDefaultAdapter( 373 void BluetoothOptionsHandler::ValidateDefaultAdapter(
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 // Sending an error notification. 431 // Sending an error notification.
419 DictionaryValue params; 432 DictionaryValue params;
420 params.SetString("pairing", pairing); 433 params.SetString("pairing", pairing);
421 SendDeviceNotification(device, &params); 434 SendDeviceNotification(device, &params);
422 } 435 }
423 delete device; 436 delete device;
424 } 437 }
425 438
426 } // namespace options2 439 } // namespace options2
427 } // namespace chromeos 440 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options2/chromeos/bluetooth_options_handler2.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698