diff options
Diffstat (limited to 'chrome/browser/chromeos/input_method/ibus_controller_impl.h')
-rw-r--r-- | chrome/browser/chromeos/input_method/ibus_controller_impl.h | 55 |
1 files changed, 6 insertions, 49 deletions
diff --git a/chrome/browser/chromeos/input_method/ibus_controller_impl.h b/chrome/browser/chromeos/input_method/ibus_controller_impl.h index 75652c1..b27ecb8 100644 --- a/chrome/browser/chromeos/input_method/ibus_controller_impl.h +++ b/chrome/browser/chromeos/input_method/ibus_controller_impl.h @@ -13,6 +13,7 @@ #include "chrome/browser/chromeos/input_method/ibus_controller_base.h" #include "chrome/browser/chromeos/input_method/input_method_whitelist.h" #include "chromeos/dbus/ibus/ibus_panel_service.h" +#include "chromeos/ime/ibus_daemon_controller.h" namespace ui { class InputMethodIBus; @@ -27,15 +28,13 @@ typedef std::vector<InputMethodProperty> InputMethodPropertyList; // The IBusController implementation. class IBusControllerImpl : public IBusControllerBase, - public IBusPanelPropertyHandlerInterface { + public IBusPanelPropertyHandlerInterface, + public IBusDaemonController::Observer { public: IBusControllerImpl(); virtual ~IBusControllerImpl(); // IBusController overrides: - virtual bool Start() OVERRIDE; - virtual void Reset() OVERRIDE; - virtual bool Stop() OVERRIDE; virtual bool ChangeInputMethod(const std::string& id) OVERRIDE; virtual bool ActivateInputMethodProperty(const std::string& key) OVERRIDE; @@ -45,15 +44,10 @@ class IBusControllerImpl : public IBusControllerBase, const InputMethodProperty& new_prop, InputMethodPropertyList* prop_list); - void IBusDaemonInitializationDone(const std::string& ibus_address); - private: - enum IBusDaemonStatus{ - IBUS_DAEMON_INITIALIZING, - IBUS_DAEMON_RUNNING, - IBUS_DAEMON_SHUTTING_DOWN, - IBUS_DAEMON_STOP, - }; + // IBusDaemonController overrides: + virtual void OnConnected() OVERRIDE; + virtual void OnDisconnected() OVERRIDE; // IBusControllerBase overrides: virtual bool SetInputMethodConfigInternal( @@ -71,40 +65,9 @@ class IBusControllerImpl : public IBusControllerBase, // Just calls ibus_bus_set_global_engine_async() with the |id|. void SendChangeInputMethodRequest(const std::string& id); - // Adds address file watcher in FILE thread and then calls LaunchIBusDaemon. - bool StartIBusDaemon(); - - // 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 - // |process_handle| is untouched. - bool LaunchProcess(const std::string& command_line, - base::ProcessHandle* process_handle); - - // Returns pointer to InputMethod object. - ui::InputMethodIBus* GetInputMethod(); - - // Injects an alternative ui::InputMethod for testing. - // The injected object must be released by caller. - void set_input_method_for_testing(ui::InputMethodIBus* input_method); - // Called when the IBusConfigClient is initialized. void OnIBusConfigClientInitialized(); - // Called when the input method process is shut down. - void OnIBusDaemonDisconnected(base::ProcessId pid); - - // The current ibus_daemon address. This value is assigned at the launching - // ibus-daemon and used in bus connection initialization. - std::string ibus_daemon_address_; - - // The process handle of the IBus daemon. kNullProcessHandle if it's not - // running. - base::ProcessHandle process_handle_; - // Current input context path. std::string current_input_context_path_; @@ -115,12 +78,6 @@ class IBusControllerImpl : public IBusControllerBase, // An object which knows all valid input methods and layout IDs. InputMethodWhitelist whitelist_; - // Represents ibus-daemon's status. - IBusDaemonStatus ibus_daemon_status_; - - // The pointer to global input method. We can inject this value for testing. - ui::InputMethodIBus* input_method_; - // IBusControllerImpl should be used only on UI thread. base::ThreadChecker thread_checker_; |