1 // Copyright (c) 2012 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 #ifndef CHROMEOS_DBUS_IBUS_MOCK_IBUS_INPUT_CONTEXT_CLIENT_H_ 6 #define CHROMEOS_DBUS_IBUS_MOCK_IBUS_INPUT_CONTEXT_CLIENT_H_ 7 8 #include <string> 9 #include "base/basictypes.h" 10 #include "chromeos/dbus/ibus/ibus_input_context_client.h" 11 12 namespace chromeos { 13 class MockIBusInputContextClient : public IBusInputContextClient { 14 public: 15 typedef base::Callback<void (uint32 keyval, 16 uint32 keycode, 17 uint32 state, 18 const ProcessKeyEventCallback& callback, 19 const ErrorCallback& error_callback)> 20 ProcessKeyEventHandler; 21 typedef base::Callback<void (const std::string& text, uint32 cursor_pos, 22 uint32 anchor_pos)> 23 SetSurroundingTextHandler; 24 MockIBusInputContextClient(); 25 virtual ~MockIBusInputContextClient(); 26 27 virtual void Initialize(dbus::Bus* bus, 28 const dbus::ObjectPath& object_path) OVERRIDE; 29 virtual void SetInputContextHandler( 30 IBusInputContextHandlerInterface* handler) OVERRIDE; 31 virtual void SetSetCursorLocationHandler( 32 const SetCursorLocationHandler& set_cursor_location_handler) OVERRIDE; 33 virtual void UnsetSetCursorLocationHandler() OVERRIDE; 34 virtual void ResetObjectProxy() OVERRIDE; 35 virtual bool IsObjectProxyReady() const OVERRIDE; 36 virtual void SetCapabilities(uint32 capabilities) OVERRIDE; 37 virtual void FocusIn() OVERRIDE; 38 virtual void FocusOut() OVERRIDE; 39 virtual void Reset() OVERRIDE; 40 virtual void SetCursorLocation(const ibus::Rect& cursor_location, 41 const ibus::Rect& composition_head) OVERRIDE; 42 virtual void ProcessKeyEvent(uint32 keyval, 43 uint32 keycode, 44 uint32 state, 45 const ProcessKeyEventCallback& callback, 46 const ErrorCallback& error_callback) OVERRIDE; 47 virtual void SetSurroundingText(const std::string& text, 48 uint32 cursor_pos, 49 uint32 anchor_pos) OVERRIDE; 50 virtual void PropertyActivate(const std::string& key, 51 ibus::IBusPropertyState state) OVERRIDE; 52 virtual bool IsXKBLayout() OVERRIDE; 53 virtual void SetIsXKBLayout(bool is_xkb_layout) OVERRIDE; 54 55 // Call count of Initialize(). 56 int initialize_call_count() const { return initialize_call_count_; } 57 58 // Call count of ResetObjectProxy(). 59 int reset_object_proxy_call_caount() const { 60 return reset_object_proxy_call_caount_; 61 } 62 63 // Call count of SetCapabilities(). 64 int set_capabilities_call_count() const { 65 return set_capabilities_call_count_; 66 } 67 68 // Call count of FocusIn(). 69 int focus_in_call_count() const { return focus_in_call_count_; } 70 71 // Call count of FocusOut(). 72 int focus_out_call_count() const { return focus_out_call_count_; } 73 74 // Call count of Reset(). 75 int reset_call_count() const { return reset_call_count_; } 76 77 // Call count of SetCursorLocation(). 78 int set_cursor_location_call_count() const { 79 return set_cursor_location_call_count_; 80 } 81 82 // Call count of ProcessKeyEvent(). 83 int process_key_event_call_count() const { 84 return process_key_event_call_count_; 85 } 86 87 void set_process_key_event_handler( 88 const ProcessKeyEventHandler& handler) { 89 process_key_event_handler_ = handler; 90 } 91 92 // Call count of SetSurroundingText(). 93 int set_surrounding_text_call_count() const { 94 return set_surrounding_text_call_count_; 95 } 96 97 void set_set_surrounding_text_handler( 98 const SetSurroundingTextHandler& handler) { 99 set_surrounding_text_handler_ = handler; 100 } 101 102 private: 103 int initialize_call_count_; 104 bool is_initialized_; 105 bool is_xkb_layout_; 106 int reset_object_proxy_call_caount_; 107 int set_capabilities_call_count_; 108 int focus_in_call_count_; 109 int focus_out_call_count_; 110 int reset_call_count_; 111 int set_cursor_location_call_count_; 112 int process_key_event_call_count_; 113 int set_surrounding_text_call_count_; 114 ProcessKeyEventHandler process_key_event_handler_; 115 SetSurroundingTextHandler set_surrounding_text_handler_; 116 117 DISALLOW_COPY_AND_ASSIGN(MockIBusInputContextClient); 118 }; 119 } // namespace chromeos 120 121 #endif // CHROMEOS_DBUS_IBUS_MOCK_IBUS_INPUT_CONTEXT_CLIENT_H_ 122