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 #ifndef CHROMEOS_AUDIO_AUDIO_DEVICES_PREF_HANDLER_STUB_H_ 6 #define CHROMEOS_AUDIO_AUDIO_DEVICES_PREF_HANDLER_STUB_H_ 7 8 #include "chromeos/audio/audio_devices_pref_handler.h" 9 10 #include <map> 11 12 namespace chromeos { 13 14 struct AudioDevice; 15 16 // Stub class for AudioDevicesPrefHandler, used for testing. 17 class CHROMEOS_EXPORT AudioDevicesPrefHandlerStub 18 : public AudioDevicesPrefHandler { 19 public: 20 typedef std::map<uint64, bool> AudioDeviceMute; 21 typedef std::map<uint64, int> AudioDeviceVolumeGain; 22 23 AudioDevicesPrefHandlerStub(); 24 25 virtual double GetOutputVolumeValue(const AudioDevice* device) OVERRIDE; 26 virtual double GetInputGainValue(const AudioDevice* device) OVERRIDE; 27 virtual void SetVolumeGainValue(const AudioDevice& device, 28 double value) OVERRIDE; 29 virtual bool GetMuteValue(const AudioDevice& device) OVERRIDE; 30 virtual void SetMuteValue(const AudioDevice& device, bool mute_on) OVERRIDE; 31 virtual bool GetAudioCaptureAllowedValue() OVERRIDE; 32 virtual bool GetAudioOutputAllowedValue() OVERRIDE; 33 virtual void AddAudioPrefObserver(AudioPrefObserver* observer) OVERRIDE; 34 virtual void RemoveAudioPrefObserver(AudioPrefObserver* observer) OVERRIDE; 35 36 protected: 37 virtual ~AudioDevicesPrefHandlerStub(); 38 39 private: 40 AudioDeviceMute audio_device_mute_map_; 41 AudioDeviceVolumeGain audio_device_volume_gain_map_; 42 43 DISALLOW_COPY_AND_ASSIGN(AudioDevicesPrefHandlerStub); 44 }; 45 46 } // namespace chromeos 47 48 #endif // CHROMEOS_AUDIO_AUDIO_DEVICES_PREF_HANDLER_STUB_H_ 49