// Copyright (c) 2012 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 ASH_CAPS_LOCK_DELEGATE_H_ #define ASH_CAPS_LOCK_DELEGATE_H_ #include "ash/ash_export.h" namespace ash { // Delegate for controlling Caps Lock. class ASH_EXPORT CapsLockDelegate { public: virtual ~CapsLockDelegate() {} // Returns true if caps lock is enabled. virtual bool IsCapsLockEnabled() const = 0; // Sets the caps lock state to |enabled|. // The state change can occur asynchronously and calling IsCapsLockEnabled // just after this may return the old state. virtual void SetCapsLockEnabled(bool enabled) = 0; // Toggles the caps lock state. // The state change can occur asynchronously and calling IsCapsLockEnabled // just after this may return the old state. virtual void ToggleCapsLock() = 0; }; } // namespace ash #endif // ASH_CAPS_LOCK_DELEGATE_H_