summaryrefslogtreecommitdiffstats
path: root/chromeos
diff options
context:
space:
mode:
authornona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-02 04:43:25 +0000
committernona@chromium.org <nona@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-08-02 04:43:25 +0000
commit60f50ed2ac4a707388ab18c7f07c65e8fce9ade0 (patch)
treee77e5ed2847d56dac8feea156b72d773cb5c8161 /chromeos
parentd1be88ecadc75805127fb511824069608f927e99 (diff)
downloadchromium_src-60f50ed2ac4a707388ab18c7f07c65e8fce9ade0.zip
chromium_src-60f50ed2ac4a707388ab18c7f07c65e8fce9ade0.tar.gz
chromium_src-60f50ed2ac4a707388ab18c7f07c65e8fce9ade0.tar.bz2
Introduce RemoveIBusEngineService.
BUG=None TEST=ran chromeos_unittests Review URL: https://chromiumcodereview.appspot.com/10836051 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@149574 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chromeos')
-rw-r--r--chromeos/dbus/dbus_thread_manager.cc11
-rw-r--r--chromeos/dbus/dbus_thread_manager.h3
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager.h2
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc4
-rw-r--r--chromeos/dbus/mock_dbus_thread_manager_without_gmock.h2
5 files changed, 22 insertions, 0 deletions
diff --git a/chromeos/dbus/dbus_thread_manager.cc b/chromeos/dbus/dbus_thread_manager.cc
index 397e431..955493a 100644
--- a/chromeos/dbus/dbus_thread_manager.cc
+++ b/chromeos/dbus/dbus_thread_manager.cc
@@ -356,6 +356,17 @@ class DBusThreadManagerImpl : public DBusThreadManager {
return ibus_engine_services_[object_path];
}
+ // DBusThreadManager override.
+ virtual void RemoveIBusEngineService(const dbus::ObjectPath& object_path) {
+ if (ibus_engine_services_.find(object_path) !=
+ ibus_engine_services_.end()) {
+ LOG(WARNING) << "Object path not found: " << object_path.value();
+ return;
+ }
+ delete ibus_engine_services_[object_path];
+ ibus_engine_services_.erase(object_path);
+ }
+
scoped_ptr<base::Thread> dbus_thread_;
scoped_refptr<dbus::Bus> system_bus_;
scoped_refptr<dbus::Bus> ibus_bus_;
diff --git a/chromeos/dbus/dbus_thread_manager.h b/chromeos/dbus/dbus_thread_manager.h
index 733d561..6a325e2 100644
--- a/chromeos/dbus/dbus_thread_manager.h
+++ b/chromeos/dbus/dbus_thread_manager.h
@@ -244,6 +244,9 @@ class CHROMEOS_EXPORT DBusThreadManager {
virtual IBusEngineService* GetIBusEngineService(
const dbus::ObjectPath& object_path) = 0;
+ // Removes the ibus engine services for |object_path|.
+ virtual void RemoveIBusEngineService(const dbus::ObjectPath& object_path) = 0;
+
virtual ~DBusThreadManager();
protected:
diff --git a/chromeos/dbus/mock_dbus_thread_manager.h b/chromeos/dbus/mock_dbus_thread_manager.h
index 5a10724..f3e976a 100644
--- a/chromeos/dbus/mock_dbus_thread_manager.h
+++ b/chromeos/dbus/mock_dbus_thread_manager.h
@@ -85,6 +85,8 @@ class MockDBusThreadManager : public DBusThreadManager {
MOCK_METHOD0(GetIBusEngineFactoryService, IBusEngineFactoryService*(void));
MOCK_METHOD1(GetIBusEngineService,
IBusEngineService*(const dbus::ObjectPath& object_path));
+ MOCK_METHOD1(RemoveIBusEngineService,
+ void(const dbus::ObjectPath& object_path));
MockBluetoothAdapterClient* mock_bluetooth_adapter_client() {
return mock_bluetooth_adapter_client_.get();
diff --git a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc
index c9c309b..46b6f41 100644
--- a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc
+++ b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.cc
@@ -193,4 +193,8 @@ IBusEngineService* MockDBusThreadManagerWithoutGMock::GetIBusEngineService(
return mock_ibus_engine_service_.get();
}
+void MockDBusThreadManagerWithoutGMock::RemoveIBusEngineService(
+ const dbus::ObjectPath& object_path) {
+}
+
} // namespace chromeos
diff --git a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h
index aad907e..b6ab1d3 100644
--- a/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h
+++ b/chromeos/dbus/mock_dbus_thread_manager_without_gmock.h
@@ -64,6 +64,8 @@ class MockDBusThreadManagerWithoutGMock : public DBusThreadManager {
virtual IBusEngineFactoryService* GetIBusEngineFactoryService() OVERRIDE;
virtual IBusEngineService* GetIBusEngineService(
const dbus::ObjectPath& object_path) OVERRIDE;
+ virtual void RemoveIBusEngineService(
+ const dbus::ObjectPath& object_path) OVERRIDE;
MockIBusClient* mock_ibus_client() {
return mock_ibus_client_.get();