diff options
Diffstat (limited to 'chromeos/dbus/fake_cras_audio_client.h')
-rw-r--r-- | chromeos/dbus/fake_cras_audio_client.h | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/chromeos/dbus/fake_cras_audio_client.h b/chromeos/dbus/fake_cras_audio_client.h new file mode 100644 index 0000000..07fd908 --- /dev/null +++ b/chromeos/dbus/fake_cras_audio_client.h @@ -0,0 +1,60 @@ +// Copyright (c) 2013 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +#ifndef CHROMEOS_DBUS_FAKE_CRAS_AUDIO_CLIENT_H_ +#define CHROMEOS_DBUS_FAKE_CRAS_AUDIO_CLIENT_H_ + +#include "chromeos/chromeos_export.h" +#include "chromeos/dbus/cras_audio_client.h" + +namespace chromeos { + +class CrasAudioHandlerTest; + +// The CrasAudioClient implementation used on Linux desktop. +class CHROMEOS_EXPORT FakeCrasAudioClient : public CrasAudioClient { + public: + FakeCrasAudioClient(); + virtual ~FakeCrasAudioClient(); + + // CrasAudioClient overrides: + virtual void Init(dbus::Bus* bus) override; + virtual void AddObserver(Observer* observer) override; + virtual void RemoveObserver(Observer* observer) override; + virtual bool HasObserver(Observer* observer) override; + virtual void GetVolumeState(const GetVolumeStateCallback& callback) override; + virtual void GetNodes(const GetNodesCallback& callback, + const ErrorCallback& error_callback) override; + virtual void SetOutputNodeVolume(uint64 node_id, int32 volume) override; + virtual void SetOutputUserMute(bool mute_on) override; + virtual void SetInputNodeGain(uint64 node_id, int32 gain) override; + virtual void SetInputMute(bool mute_on) override; + virtual void SetActiveOutputNode(uint64 node_id) override; + virtual void SetActiveInputNode(uint64 node_id) override; + virtual void AddActiveInputNode(uint64 node_id) override; + virtual void RemoveActiveInputNode(uint64 node_id) override; + virtual void AddActiveOutputNode(uint64 node_id) override; + virtual void RemoveActiveOutputNode(uint64 node_id) override; + virtual void SwapLeftRight(uint64 node_id, bool swap) override; + + // Updates |node_list_| to contain |audio_nodes|. + void SetAudioNodesForTesting(const AudioNodeList& audio_nodes); + + // Calls SetAudioNodesForTesting() and additionally notifies |observers_|. + void SetAudioNodesAndNotifyObserversForTesting( + const AudioNodeList& new_nodes); + + private: + VolumeState volume_state_; + AudioNodeList node_list_; + uint64 active_input_node_id_; + uint64 active_output_node_id_; + ObserverList<Observer> observers_; + + DISALLOW_COPY_AND_ASSIGN(FakeCrasAudioClient); +}; + +} // namespace chromeos + +#endif // CHROMEOS_DBUS_FAKE_CRAS_AUDIO_CLIENT_H_ |