| Index: chromeos/audio/cras_audio_handler.h
|
| diff --git a/chromeos/audio/cras_audio_handler.h b/chromeos/audio/cras_audio_handler.h
|
| index cbd8612ad9e5f10f5cdf39c66022d58873f333d1..a3e706af52f1903562a898edf29c34252ed17f4b 100644
|
| --- a/chromeos/audio/cras_audio_handler.h
|
| +++ b/chromeos/audio/cras_audio_handler.h
|
| @@ -15,6 +15,7 @@
|
| #include "chromeos/audio/audio_pref_observer.h"
|
| #include "chromeos/dbus/audio_node.h"
|
| #include "chromeos/dbus/cras_audio_client.h"
|
| +#include "chromeos/dbus/session_manager_client.h"
|
| #include "chromeos/dbus/volume_state.h"
|
|
|
| class PrefRegistrySimple;
|
| @@ -25,7 +26,8 @@ namespace chromeos {
|
| class AudioDevicesPrefHandler;
|
|
|
| class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| - public AudioPrefObserver {
|
| + public AudioPrefObserver,
|
| + public SessionManagerClient::Observer {
|
| public:
|
| typedef std::priority_queue<AudioDevice,
|
| std::vector<AudioDevice>,
|
| @@ -153,21 +155,27 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| // Sets the mute for device.
|
| virtual void SetMuteForDevice(uint64 device_id, bool mute_on);
|
|
|
| + // Enables error logging.
|
| + virtual void LogErrors();
|
| +
|
| protected:
|
| explicit CrasAudioHandler(
|
| scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler);
|
| virtual ~CrasAudioHandler();
|
|
|
| private:
|
| - // Overriden from CrasAudioClient::Observer.
|
| + // CrasAudioClient::Observer overrides.
|
| virtual void AudioClientRestarted() OVERRIDE;
|
| virtual void NodesChanged() OVERRIDE;
|
| virtual void ActiveOutputNodeChanged(uint64 node_id) OVERRIDE;
|
| virtual void ActiveInputNodeChanged(uint64 node_id) OVERRIDE;
|
|
|
| - // Overriden from AudioPrefObserver.
|
| + // AudioPrefObserver overrides.
|
| virtual void OnAudioPolicyPrefChanged() OVERRIDE;
|
|
|
| + // SessionManagerClient::Observer overrides.
|
| + virtual void EmitLoginPromptVisibleCalled() OVERRIDE;
|
| +
|
| // Sets the active audio output/input node to the node with |node_id|.
|
| void SetActiveOutputNode(uint64 node_id);
|
| void SetActiveInputNode(uint64 node_id);
|
| @@ -226,6 +234,10 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| // Handles dbus callback for GetNodes.
|
| void HandleGetNodes(const chromeos::AudioNodeList& node_list, bool success);
|
|
|
| + // Handles the dbus error callback.
|
| + void HandleGetNodesError(const std::string& error_name,
|
| + const std::string& error_msg);
|
| +
|
| scoped_refptr<AudioDevicesPrefHandler> audio_pref_handler_;
|
| base::WeakPtrFactory<CrasAudioHandler> weak_ptr_factory_;
|
| ObserverList<AudioObserver> observers_;
|
| @@ -248,6 +260,9 @@ class CHROMEOS_EXPORT CrasAudioHandler : public CrasAudioClient::Observer,
|
| bool output_mute_locked_;
|
| bool input_mute_locked_;
|
|
|
| + // Failures are not logged at startup, since CRAS may not be running yet.
|
| + bool log_errors_;
|
| +
|
| DISALLOW_COPY_AND_ASSIGN(CrasAudioHandler);
|
| };
|
|
|
|
|