1868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Copyright 2013 The Chromium Authors. All rights reserved. 2868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// found in the LICENSE file. 4868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 5868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#ifndef CHROME_BROWSER_CHROMEOS_SYSTEM_DEVICE_CHANGE_HANDLER_H_ 6868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#define CHROME_BROWSER_CHROMEOS_SYSTEM_DEVICE_CHANGE_HANDLER_H_ 7868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 8868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "base/memory/scoped_ptr.h" 9868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#include "chrome/browser/chromeos/system/pointer_device_observer.h" 10868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 11868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace chromeos { 12868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)namespace system { 13868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 14868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)// Observes changes in device hierarchy. When a new touchpad/mouse is attached, 155d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)// applies the last used touchpad/mouse settings to the system. 16868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)class DeviceChangeHandler : public PointerDeviceObserver::Observer { 17868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) public: 18868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) DeviceChangeHandler(); 19868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) virtual ~DeviceChangeHandler(); 20868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 21868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) private: 22868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) // PointerDeviceObserver::Observer implementation. 23868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) virtual void TouchpadExists(bool exists) OVERRIDE; 24868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) virtual void MouseExists(bool exists) OVERRIDE; 25868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 26868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) scoped_ptr<PointerDeviceObserver> pointer_device_observer_; 27868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)}; 28868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 29868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)} // namespace system 305d1f7b1de12d16ceb2c938c56701a3e8bfa558f7Torne (Richard Coles)} // namespace chromeos 31868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 32868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles) 33868fa2fe829687343ffae624259930155e16dbd8Torne (Richard Coles)#endif // CHROME_BROWSER_CHROMEOS_SYSTEM_DEVICE_CHANGE_HANDLER_H_ 34