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 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 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. 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. 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