Chromium Code Reviews| Index: chromeos/ime/ibus_daemon_controller.cc |
| diff --git a/chromeos/ime/ibus_daemon_controller.cc b/chromeos/ime/ibus_daemon_controller.cc |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..620e5991e32c46b743966ac2c774307a63be9a57 |
| --- /dev/null |
| +++ b/chromeos/ime/ibus_daemon_controller.cc |
| @@ -0,0 +1,96 @@ |
| +// Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| + |
| +#include "chromeos/ime/ibus_daemon_controller.h" |
| + |
| +#include "base/chromeos/chromeos_version.h" |
| + |
| +namespace chromeos { |
| + |
| +namespace { |
| + |
| +IBusDaemonController* g_ibus_daemon_controller = NULL; |
| + |
| +// The implementation of IBusDaemonController. |
| +class IBusDaemonControllerImpl : public IBusDaemonController { |
|
satorux1
2013/01/22 07:06:01
This class should be used from a single thread, ri
Seigo Nonaka
2013/01/22 10:53:48
Right, use NonThreadSafe for thread checking.
On 2
satorux1
2013/01/22 17:09:52
I'd suggest to use ThreadChecker. non_thread_safe.
Seigo Nonaka
2013/01/23 08:06:08
Sorry I missed NonThreadSafe comment.
Updated patc
|
| + public: |
| + IBusDaemonControllerImpl() {} |
| + |
| + ~IBusDaemonControllerImpl() {} |
| + |
| + // IBusDaemonController override: |
| + void Initialize( |
| + const scoped_refptr<base::SequencedTaskRunner>& ui_task_runner, |
| + const scoped_refptr<base::SequencedTaskRunner>& file_task_runner) { |
| + // TODO(nona): Implement this. |
| + } |
| + |
| + // IBusDaemonController override: |
| + void AddObserver(Observer* observer) { |
| + // TODO(nona): Implement this. |
| + } |
| + |
| + // IBusDaemonController override: |
| + void RemoveObserver(Observer* observer) { |
| + // TODO(nona): Implement this. |
| + } |
| + |
| + // IBusDaemonController override: |
| + bool Start() OVERRIDE { |
| + // TODO(nona): Implement this. |
| + return true; |
| + } |
| + |
| + // IBusDaemonController override: |
| + bool Stop() OVERRIDE { |
| + // TODO(nona): Implement this. |
| + return true; |
| + } |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(IBusDaemonControllerImpl); |
| +}; |
| + |
| +// The stub implementation of IBusDaemonController. |
| +class IBusDaemonControllerStubImpl : public IBusDaemonController { |
| + public: |
| + IBusDaemonControllerStubImpl() {} |
| + virtual ~IBusDaemonControllerStubImpl() {} |
| + |
| + // IBusDaemonController overrides: |
| + void Initialize( |
| + const scoped_refptr<base::SequencedTaskRunner>& ui_runner, |
| + const scoped_refptr<base::SequencedTaskRunner>& file_runner) OVERRIDE {} |
| + virtual void AddObserver(Observer* observer) OVERRIDE {} |
| + virtual void RemoveObserver(Observer* observer) OVERRIDE {} |
| + virtual bool Start() OVERRIDE { return true; } |
| + virtual bool Stop() OVERRIDE { return true; } |
| + |
| + private: |
| + DISALLOW_COPY_AND_ASSIGN(IBusDaemonControllerStubImpl); |
| +}; |
| + |
| +} // namespace |
| + |
| +/////////////////////////////////////////////////////////////////////////////// |
| +// IBusDaemonController |
| + |
| +IBusDaemonController::IBusDaemonController() { |
| +} |
| + |
| +IBusDaemonController::~IBusDaemonController() { |
| +} |
| + |
| +IBusDaemonController* IBusDaemonController::GetInstance() { |
| + if (!g_ibus_daemon_controller) { |
| + if (base::chromeos::IsRunningOnChromeOS()) { |
| + g_ibus_daemon_controller = new IBusDaemonControllerImpl(); |
| + } else { |
| + g_ibus_daemon_controller = new IBusDaemonControllerStubImpl(); |
| + } |
| + } |
| + return g_ibus_daemon_controller; |
| +} |
| + |
| +} // namespace chromeos |