1 // Copyright (c) 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 "extensions/browser/api/audio/audio_service.h"
6 
7 namespace extensions {
8 
9 class AudioServiceImpl : public AudioService {
10  public:
AudioServiceImpl()11   AudioServiceImpl() {}
~AudioServiceImpl()12   ~AudioServiceImpl() override {}
13 
14   // Called by listeners to this service to add/remove themselves as observers.
15   void AddObserver(Observer* observer) override;
16   void RemoveObserver(Observer* observer) override;
17 
18   // Start to query audio device information.
19   bool GetInfo(OutputInfo* output_info_out, InputInfo* input_info_out) override;
20   bool GetDevices(const api::audio::DeviceFilter* filter,
21                   DeviceInfoList* devices_out) override;
22   void SetActiveDevices(const DeviceIdList& device_list) override;
23   bool SetActiveDeviceLists(
24       const std::unique_ptr<DeviceIdList>& input_devices,
25       const std::unique_ptr<DeviceIdList>& output_devives) override;
26   bool SetDeviceSoundLevel(const std::string& device_id,
27                            int volume,
28                            int gain) override;
29   bool SetMuteForDevice(const std::string& device_id, bool value) override;
30   bool SetMute(bool is_input, bool value) override;
31   bool GetMute(bool is_input, bool* value) override;
32 };
33 
AddObserver(Observer * observer)34 void AudioServiceImpl::AddObserver(Observer* observer) {
35   // TODO: implement this for platforms other than Chrome OS.
36 }
37 
RemoveObserver(Observer * observer)38 void AudioServiceImpl::RemoveObserver(Observer* observer) {
39   // TODO: implement this for platforms other than Chrome OS.
40 }
41 
CreateInstance(AudioDeviceIdCalculator * id_calculator)42 AudioService* AudioService::CreateInstance(
43     AudioDeviceIdCalculator* id_calculator) {
44   return new AudioServiceImpl;
45 }
46 
GetInfo(OutputInfo * output_info_out,InputInfo * input_info_out)47 bool AudioServiceImpl::GetInfo(OutputInfo* output_info_out,
48                                InputInfo* input_info_out) {
49   // TODO: implement this for platforms other than Chrome OS.
50   return false;
51 }
52 
GetDevices(const api::audio::DeviceFilter * filter,DeviceInfoList * devices_out)53 bool AudioServiceImpl::GetDevices(const api::audio::DeviceFilter* filter,
54                                   DeviceInfoList* devices_out) {
55   return false;
56 }
57 
SetActiveDeviceLists(const std::unique_ptr<DeviceIdList> & input_devices,const std::unique_ptr<DeviceIdList> & output_devives)58 bool AudioServiceImpl::SetActiveDeviceLists(
59     const std::unique_ptr<DeviceIdList>& input_devices,
60     const std::unique_ptr<DeviceIdList>& output_devives) {
61   return false;
62 }
63 
SetActiveDevices(const DeviceIdList & device_list)64 void AudioServiceImpl::SetActiveDevices(const DeviceIdList& device_list) {
65 }
66 
SetDeviceSoundLevel(const std::string & device_id,int volume,int gain)67 bool AudioServiceImpl::SetDeviceSoundLevel(const std::string& device_id,
68                                            int volume,
69                                            int gain) {
70   return false;
71 }
72 
SetMuteForDevice(const std::string & device_id,bool value)73 bool AudioServiceImpl::SetMuteForDevice(const std::string& device_id,
74                                         bool value) {
75   return false;
76 }
77 
SetMute(bool is_input,bool value)78 bool AudioServiceImpl::SetMute(bool is_input, bool value) {
79   return false;
80 }
81 
GetMute(bool is_input,bool * value)82 bool AudioServiceImpl::GetMute(bool is_input, bool* value) {
83   return false;
84 }
85 
86 }  // namespace extensions
87