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.
4
5#include "chromeos/ime/fake_ime_keyboard.h"
6
7namespace chromeos {
8namespace input_method {
9
10FakeImeKeyboard::FakeImeKeyboard()
11    : set_current_keyboard_layout_by_name_count_(0),
12      caps_lock_is_enabled_(false),
13      auto_repeat_is_enabled_(false) {
14}
15
16FakeImeKeyboard::~FakeImeKeyboard() {
17}
18
19void FakeImeKeyboard::AddObserver(Observer* observer) {
20  observers_.AddObserver(observer);
21}
22
23void FakeImeKeyboard::RemoveObserver(Observer* observer) {
24  observers_.RemoveObserver(observer);
25}
26
27bool FakeImeKeyboard::SetCurrentKeyboardLayoutByName(
28    const std::string& layout_name) {
29  ++set_current_keyboard_layout_by_name_count_;
30  last_layout_ = layout_name;
31  return true;
32}
33
34bool FakeImeKeyboard::ReapplyCurrentKeyboardLayout() {
35  return true;
36}
37
38void FakeImeKeyboard::ReapplyCurrentModifierLockStatus() {
39}
40
41void FakeImeKeyboard::DisableNumLock() {
42}
43
44void FakeImeKeyboard::SetCapsLockEnabled(bool enable_caps_lock) {
45  bool old_state = caps_lock_is_enabled_;
46  caps_lock_is_enabled_ = enable_caps_lock;
47  if (old_state != enable_caps_lock) {
48    FOR_EACH_OBSERVER(ImeKeyboard::Observer, observers_,
49                      OnCapsLockChanged(enable_caps_lock));
50  }
51}
52
53bool FakeImeKeyboard::CapsLockIsEnabled() {
54  return caps_lock_is_enabled_;
55}
56
57bool FakeImeKeyboard::IsISOLevel5ShiftAvailable() const {
58  return false;
59}
60
61bool FakeImeKeyboard::IsAltGrAvailable() const {
62  return false;
63}
64
65bool FakeImeKeyboard::SetAutoRepeatEnabled(bool enabled) {
66  auto_repeat_is_enabled_ = enabled;
67  return true;
68}
69
70bool FakeImeKeyboard::SetAutoRepeatRate(const AutoRepeatRate& rate) {
71  last_auto_repeat_rate_ = rate;
72  return true;
73}
74
75}  // namespace input_method
76}  // namespace chromeos
77