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 11namespace chromeos { 12 13class 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 37class 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 49TouchpadLibrary* TouchpadLibrary::GetImpl(bool stub) { 50 if (stub) 51 return new TouchpadLibraryStubImpl(); 52 else 53 return new TouchpadLibraryImpl(); 54} 55 56} // namespace chromeos 57