1 // Copyright (c) 2012 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 CHROME_BROWSER_UI_ASH_VOLUME_CONTROLLER_CHROMEOS_H_ 6 #define CHROME_BROWSER_UI_ASH_VOLUME_CONTROLLER_CHROMEOS_H_ 7 8 #include "ash/volume_control_delegate.h" 9 #include "base/basictypes.h" 10 #include "base/compiler_specific.h" 11 #include "chromeos/audio/cras_audio_handler.h" 12 13 // A class which controls volume when F8-10 or a multimedia key for volume is 14 // pressed. 15 class VolumeController : public ash::VolumeControlDelegate, 16 public chromeos::CrasAudioHandler::AudioObserver { 17 public: 18 VolumeController(); 19 virtual ~VolumeController(); 20 21 // Overridden from ash::VolumeControlDelegate: 22 virtual bool HandleVolumeMute(const ui::Accelerator& accelerator) OVERRIDE; 23 virtual bool HandleVolumeDown(const ui::Accelerator& accelerator) OVERRIDE; 24 virtual bool HandleVolumeUp(const ui::Accelerator& accelerator) OVERRIDE; 25 26 // Overridden from chromeos::CrasAudioHandler::AudioObserver. 27 virtual void OnOutputVolumeChanged() OVERRIDE; 28 virtual void OnOutputMuteChanged() OVERRIDE; 29 30 private: 31 32 DISALLOW_COPY_AND_ASSIGN(VolumeController); 33 }; 34 35 #endif // CHROME_BROWSER_UI_ASH_VOLUME_CONTROLLER_CHROMEOS_H_ 36