Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(744)

Unified Diff: chrome/browser/chromeos/input_method/ibus_controller_impl.h

Issue 10159004: Extends DBusThreadManager to connect ibus-bus. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Avoid double initializing Created 8 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/chromeos/input_method/ibus_controller_impl.h
diff --git a/chrome/browser/chromeos/input_method/ibus_controller_impl.h b/chrome/browser/chromeos/input_method/ibus_controller_impl.h
index 97de94269287b74c069f11cafb0199567b7852c4..84a88275067e19e92a872171e8f6b2abd8e538f1 100644
--- a/chrome/browser/chromeos/input_method/ibus_controller_impl.h
+++ b/chrome/browser/chromeos/input_method/ibus_controller_impl.h
@@ -115,6 +115,9 @@ class IBusControllerImpl : public IBusControllerBase {
// true.
bool MaybeLaunchIBusDaemon();
+ // Starts ibus-daemon.
+ void LaunchIBusDaemon(const std::string& ibus_address);
+
// Launches an input method procsess specified by the given command
// line. On success, returns true and stores the process handle in
// |process_handle|. Otherwise, returns false, and the contents of
@@ -124,6 +127,9 @@ class IBusControllerImpl : public IBusControllerBase {
base::ProcessHandle* process_handle,
GChildWatchFunc watch_func);
+ // Called after the connection to ibus-daemon is established.
+ void IBusDaemonInitializationDone();
+
// A callback function that will be called when ibus_config_set_value_async()
// request is finished.
static void SetInputMethodConfigCallback(GObject* source_object,
@@ -157,6 +163,15 @@ class IBusControllerImpl : public IBusControllerBase {
// An object which knows all valid input methods and layout IDs.
InputMethodWhitelist whitelist_;
+ base::WeakPtrFactory<IBusControllerImpl> weak_ptr_factory_;
Yusuke Sato 2012/04/27 02:12:13 add comment. please explain why this is necessary.
Seigo Nonaka 2012/05/01 00:19:54 Done.
+
+ // true if ibus-daemon is initializing. The initializing steps are as follows.
+ // 1. Starts watching ibus address file.
+ // 2. Launches ibus-daemon and ibus-daemon write ibus address file if ready.
+ // 3. Gets notification of changing address file, then creates connection.
+ // 4. Deletes watcher.
+ bool is_initializing_ibus_daemon_;
Yusuke Sato 2012/04/27 02:12:13 I don't want to have two similar boolean flags her
Seigo Nonaka 2012/05/01 00:19:54 Done.
+
DISALLOW_COPY_AND_ASSIGN(IBusControllerImpl);
};

Powered by Google App Engine
This is Rietveld 408576698