Home | History | Annotate | Download | only in music_manager_private
      1 // Copyright 2013 The Chromium Authors. All rights reserved.
      2 // Use of this source code is governed by a BSD-style license that can be
      3 // found in the LICENSE file.
      4 
      5 #include "chrome/browser/extensions/api/music_manager_private/music_manager_private_api.h"
      6 
      7 #include "chrome/browser/extensions/api/music_manager_private/device_id.h"
      8 
      9 using content::BrowserThread;
     10 
     11 namespace {
     12 
     13 const char kDeviceIdNotSupported[] =
     14     "Device ID API is not supported on this platform.";
     15 
     16 }
     17 
     18 namespace extensions {
     19 namespace api {
     20 
     21 MusicManagerPrivateGetDeviceIdFunction::
     22     MusicManagerPrivateGetDeviceIdFunction() {
     23 }
     24 
     25 MusicManagerPrivateGetDeviceIdFunction::
     26     ~MusicManagerPrivateGetDeviceIdFunction() {
     27 }
     28 
     29 bool MusicManagerPrivateGetDeviceIdFunction::RunImpl() {
     30   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
     31   DeviceId::GetDeviceId(
     32       this->extension_id(),
     33       base::Bind(
     34           &MusicManagerPrivateGetDeviceIdFunction::DeviceIdCallback,
     35           this));
     36   return true;  // Still processing!
     37 }
     38 
     39 void MusicManagerPrivateGetDeviceIdFunction::DeviceIdCallback(
     40     const std::string& device_id) {
     41   DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI));
     42   bool response;
     43   if (device_id.empty()) {
     44     SetError(kDeviceIdNotSupported);
     45     response = false;
     46   } else {
     47     SetResult(Value::CreateStringValue(device_id));
     48     response = true;
     49   }
     50 
     51   SendResponse(response);
     52 }
     53 
     54 } // namespace api
     55 } // namespace extensions
     56