Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(943)

Unified Diff: chromeos/audio/audio_pref_handler.h

Issue 14314002: Implement new audio handler which talks to the new audio dbus apis. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add comments in class header file and todo for cleaning up legacy code. Created 7 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chromeos/audio/audio_pref_handler.h
diff --git a/chromeos/audio/audio_pref_handler.h b/chromeos/audio/audio_pref_handler.h
new file mode 100644
index 0000000000000000000000000000000000000000..08f38c0b0627f4be9f79b9e8df5f33c6e2b3524c
--- /dev/null
+++ b/chromeos/audio/audio_pref_handler.h
@@ -0,0 +1,59 @@
+// 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_AUDIO_AUDIO_PREF_HANDLER_H_
+#define CHROMEOS_AUDIO_AUDIO_PREF_HANDLER_H_
+
+#include "base/basictypes.h"
+#include "base/memory/ref_counted.h"
+#include "chromeos/audio/audio_pref_observer.h"
+#include "chromeos/chromeos_export.h"
+
+class PrefRegistrySimple;
+
+namespace chromeos {
+
+// Interface that handles audio preference related work, reads and writes
+// audio preferences, and notifies AudioPrefObserver for audio preference
+// changes.
+class CHROMEOS_EXPORT AudioPrefHandler
+ : public base::RefCountedThreadSafe<AudioPrefHandler> {
+ public:
+ // Gets the audio output volume value from prefs.
+ virtual double GetOutputVolumeValue() = 0;
+
+ // Sets the output audio volume value to prefs.
+ virtual void SetOutputVolumeValue(double volume_percent) = 0;
+
+ // Reads the audio output mute value from prefs.
+ virtual bool GetOutputMuteValue() = 0;
+
+ // Sets the audio output mute value to prefs.
+ virtual void SetOutputMuteValue(bool mute_on) = 0;
+
+ // Reads the audio capture allowed value from prefs.
+ virtual bool GetAudioCaptureAllowedValue() = 0;
+
+ // Sets the audio output allowed value from prefs.
+ virtual bool GetAudioOutputAllowedValue() = 0;
+
+ // Adds an audio preference observer.
+ virtual void AddAudioPrefObserver(AudioPrefObserver* observer) = 0;
+
+ // Removes an audio preference observer.
+ virtual void RemoveAudioPrefObserver(AudioPrefObserver* observer) = 0;
+
+ // Creates the instance.
+ static AudioPrefHandler* Create(PrefService* local_state);
+
+ protected:
+ virtual ~AudioPrefHandler() {}
+
+ private:
+ friend class base::RefCountedThreadSafe<AudioPrefHandler>;
+};
+
+} // namespace chromeos
+
+#endif // CHROMEOS_AUDIO_AUDIO_PREF_HANDLER_H_

Powered by Google App Engine
This is Rietveld 408576698