• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 // Copyright 2013 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 "chrome/browser/chromeos/system/device_change_handler.h"
6 
7 #include "chrome/browser/chromeos/system/input_device_settings.h"
8 
9 namespace chromeos {
10 namespace system {
11 
DeviceChangeHandler()12 DeviceChangeHandler::DeviceChangeHandler()
13     : pointer_device_observer_(new PointerDeviceObserver) {
14   pointer_device_observer_->AddObserver(this);
15   pointer_device_observer_->Init();
16 
17   // Apply settings on startup.
18   TouchpadExists(true);
19   MouseExists(true);
20 }
21 
~DeviceChangeHandler()22 DeviceChangeHandler::~DeviceChangeHandler() {
23   pointer_device_observer_->RemoveObserver(this);
24 }
25 
26 // When we detect a touchpad is attached, apply touchpad settings that was
27 // cached inside InputDeviceSettings.
TouchpadExists(bool exists)28 void DeviceChangeHandler::TouchpadExists(bool exists) {
29   if (!exists)
30     return;
31   system::InputDeviceSettings::Get()->ReapplyTouchpadSettings();
32 }
33 
34 // When we detect a mouse is attached, apply mouse settings that was cached
35 // inside InputDeviceSettings.
MouseExists(bool exists)36 void DeviceChangeHandler::MouseExists(bool exists) {
37   if (!exists)
38     return;
39   system::InputDeviceSettings::Get()->ReapplyMouseSettings();
40 }
41 
42 }  // namespace system
43 }  // namespace chromeos
44