1 // Copyright (c) 2009 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/cros/touchpad_library.h" 6 7 #include "base/message_loop.h" 8 #include "chrome/browser/chromeos/cros/cros_library.h" 9 #include "content/browser/browser_thread.h" 10 11 namespace chromeos { 12 13 class TouchpadLibraryImpl : public TouchpadLibrary { 14 public: 15 TouchpadLibraryImpl() {} 16 virtual ~TouchpadLibraryImpl() {} 17 18 void SetSensitivity(int value) { 19 if (CrosLibrary::Get()->EnsureLoaded()) { 20 BrowserThread::PostTask( 21 BrowserThread::FILE, FROM_HERE, 22 NewRunnableFunction(&SetTouchpadSensitivity, value)); 23 } 24 } 25 26 void SetTapToClick(bool enabled) { 27 if (CrosLibrary::Get()->EnsureLoaded()) { 28 BrowserThread::PostTask( 29 BrowserThread::FILE, FROM_HERE, 30 NewRunnableFunction(&SetTouchpadTapToClick, enabled)); 31 } 32 } 33 34 DISALLOW_COPY_AND_ASSIGN(TouchpadLibraryImpl); 35 }; 36 37 class TouchpadLibraryStubImpl : public TouchpadLibrary { 38 public: 39 TouchpadLibraryStubImpl() {} 40 virtual ~TouchpadLibraryStubImpl() {} 41 void SetSensitivity(int value) {} 42 void SetTapToClick(bool enabled) {} 43 44 private: 45 DISALLOW_COPY_AND_ASSIGN(TouchpadLibraryStubImpl); 46 }; 47 48 // static 49 TouchpadLibrary* TouchpadLibrary::GetImpl(bool stub) { 50 if (stub) 51 return new TouchpadLibraryStubImpl(); 52 else 53 return new TouchpadLibraryImpl(); 54 } 55 56 } // namespace chromeos 57