audio_devices_pref_handler_stub.h revision 558790d6acca3451cf3a6b497803a5f07d0bec58
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