Switch global error menu icon to vectorized MD asset
[chromium-blink-merge.git] / ash / system / audio / tray_audio_delegate.h
blobbcb1c61dfbe4accfd59f565d0a4bb687a5908baf
1 // Copyright 2014 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.
5 #ifndef ASH_SYSTEM_AUDIO_TRAY_AUDIO_DELEGATE_H_
6 #define ASH_SYSTEM_AUDIO_TRAY_AUDIO_DELEGATE_H_
8 namespace ash {
9 namespace system {
11 class ASH_EXPORT TrayAudioDelegate {
12 public:
14 enum { kNoAudioDeviceIcon = -1 };
15 enum AudioChannelMode {
16 NORMAL,
17 LEFT_RIGHT_SWAPPED,
20 virtual ~TrayAudioDelegate() {}
22 // Sets the volume level of the output device to the minimum level which is
23 // deemed to be audible.
24 virtual void AdjustOutputVolumeToAudibleLevel() = 0;
26 // Gets the default level in the range 0%-100% at which the output device
27 // should be muted.
28 virtual int GetOutputDefaultVolumeMuteLevel() = 0;
30 // Gets the icon to use for the active output device.
31 virtual int GetActiveOutputDeviceIconId() = 0;
33 // Returns the volume level of the output device in the range 0%-100%.
34 virtual int GetOutputVolumeLevel() = 0;
36 // Returns true if the device has alternative inputs or outputs.
37 virtual bool HasAlternativeSources() = 0;
39 // Returns whether the output volume is muted.
40 virtual bool IsOutputAudioMuted() = 0;
42 // Sets the mute state of the output device.
43 virtual void SetOutputAudioIsMuted(bool is_muted) = 0;
45 // Sets the volume level of the output device in the range 0%-100%
46 virtual void SetOutputVolumeLevel(int level) = 0;
48 // Sets the internal speaker's channel mode.
49 virtual void SetInternalSpeakerChannelMode(AudioChannelMode mode) = 0;
51 // If necessary, sets the starting point for re-discovering the active HDMI
52 // output device caused by device entering/exiting docking mode, HDMI display
53 // changing resolution, or chromeos device suspend/resume. If
54 // |force_rediscovering| is true, it will force to set the starting point for
55 // re-discovering the active HDMI output device again if it has been in the
56 // middle of rediscovering the HDMI active output device.
57 virtual void SetActiveHDMIOutoutRediscoveringIfNecessary(
58 bool force_rediscovering) = 0;
61 } // namespace system
62 } // namespace ash
64 #endif // ASH_SYSTEM_AUDIO_TRAY_AUDIO_DELEGATE_H_