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 12namespace chromeos { 13 14struct AudioDevice; 15 16// Stub class for AudioDevicesPrefHandler, used for testing. 17class 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 GetVolumeGainValue(const AudioDevice& device) OVERRIDE; 26 virtual void SetVolumeGainValue(const AudioDevice& device, 27 double value) OVERRIDE; 28 virtual bool GetMuteValue(const AudioDevice& device) OVERRIDE; 29 virtual void SetMuteValue(const AudioDevice& device, bool mute_on) OVERRIDE; 30 virtual bool GetAudioCaptureAllowedValue() OVERRIDE; 31 virtual bool GetAudioOutputAllowedValue() OVERRIDE; 32 virtual void AddAudioPrefObserver(AudioPrefObserver* observer) OVERRIDE; 33 virtual void RemoveAudioPrefObserver(AudioPrefObserver* observer) OVERRIDE; 34 35 protected: 36 virtual ~AudioDevicesPrefHandlerStub(); 37 38 private: 39 AudioDeviceMute audio_device_mute_map_; 40 AudioDeviceVolumeGain audio_device_volume_gain_map_; 41 42 DISALLOW_COPY_AND_ASSIGN(AudioDevicesPrefHandlerStub); 43}; 44 45} // namespace chromeos 46 47#endif // CHROMEOS_AUDIO_AUDIO_DEVICES_PREF_HANDLER_STUB_H_ 48