/**@class android.inputmethodservice.MultiClientInputMethodServiceDelegate.ClientCallback
 Per-client callbacks.
*/
var ClientCallback = {

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#sendAppPrivateCommand(View, String, Bundle)}.
@param {String} action Name of the command to be performed.
@param {Object {Bundle}} data Any data to include with the command.
@see android.inputmethodservice.InputMethodService#onAppPrivateCommand(String, Bundle)
*/
onAppPrivateCommand : function(  ) {},

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#displayCompletions(View, CompletionInfo[])}.
@param {Object {android.view.inputmethod.CompletionInfo[]}} completions Completion information provided from the IME client.
@see android.inputmethodservice.InputMethodService#onDisplayCompletions(CompletionInfo[])
*/
onDisplayCompletions : function(  ) {},

/**Called when this callback session is closed. No further callback should not happen on
 this callback object.
*/
onFinishSession : function(  ) {},

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#hideSoftInputFromWindow(IBinder, int)} or
 {@link android.view.inputmethod.InputMethodManager#hideSoftInputFromWindow(IBinder, int,
 ResultReceiver)}.
@param {Number} flags The flag passed by the client.
@param {Object {ResultReceiver}} resultReceiver The {@link ResultReceiver} passed by the client.
@see android.inputmethodservice.InputMethodService#onWindowHidden()
*/
onHideSoftInput : function(  ) {},

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#showSoftInput(View, int)} or {@link android.view.inputmethod.InputMethodManager#showSoftInput(View, int, ResultReceiver)}.
@param {Number} flags The flag passed by the client.
@param {Object {ResultReceiver}} resultReceiver The {@link ResultReceiver} passed by the client.
@see android.inputmethodservice.InputMethodService#onWindowShown()
*/
onShowSoftInput : function(  ) {},

/**A generic callback when {@link InputConnection} is being established.
@param {Object {InputConnection}} inputConnection The {@link InputConnection} to be established.
@param {Object {EditorInfo}} editorInfo The {@link EditorInfo} reported from the IME client.
@param {Number} startInputFlags Any combinations of {@link StartInputFlags}.
@param {Number} softInputMode SoftWindowMode specified to this window.
@param {Number} targetWindowHandle A unique Window token.
@see android.inputmethodservice.InputMethodService#onStartInput(EditorInfo, boolean)
*/
onStartInputOrWindowGainedFocus : function(  ) {},

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#toggleSoftInput(int, int)}.
@param {Number} showFlags The flag passed by the client.
@param {Number} hideFlags The flag passed by the client.
@see android.inputmethodservice.InputMethodService#onToggleSoftInput(int, int)
*/
onToggleSoftInput : function(  ) {},

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#updateCursorAnchorInfo(View,
 CursorAnchorInfo)}.
@param {Object {CursorAnchorInfo}} info The {@link CursorAnchorInfo} passed by the client.
@see android.inputmethodservice.InputMethodService#onUpdateCursorAnchorInfo(
      CursorAnchorInfo)
*/
onUpdateCursorAnchorInfo : function(  ) {},

/**Called when the associated IME client called {@link android.view.inputmethod.InputMethodManager#updateSelection(View, int, int, int, int)}.
@param {Number} oldSelStart The previous selection start index.
@param {Number} oldSelEnd The previous selection end index.
@param {Number} newSelStart The new selection start index.
@param {Number} newSelEnd The new selection end index.
@param {Number} candidatesStart The new candidate start index.
@param {Number} candidatesEnd The new candidate end index.
@see android.inputmethodservice.InputMethodService#onUpdateSelection(int, int, int, int,
      int, int)
*/
onUpdateSelection : function(  ) {},

/**Called to give a chance for the IME to intercept generic motion events before they are
 processed by the application.
@param {Object {MotionEvent}} event {@link MotionEvent} that is about to be handled by the IME client.
@return {Boolean} {@code true} to tell the IME client that the IME handled this event.
@see android.inputmethodservice.InputMethodService#onGenericMotionEvent(MotionEvent)
*/
onGenericMotionEvent : function(  ) {},

/**Called to give a chance for the IME to intercept key down events before they are
 processed by the application.
@param {Number} keyCode The value in {@link KeyEvent#getKeyCode()}.
@param {Object {KeyEvent}} event {@link KeyEvent} for this key down event.
@return {Boolean} {@code true} to tell the IME client that the IME handled this event.
@see android.inputmethodservice.InputMethodService#onKeyDown(int, KeyEvent)
*/
onKeyDown : function(  ) {},

/**Called to give a chance for the IME to intercept key long press events before they are
 processed by the application.
@param {Number} keyCode The value in {@link KeyEvent#getKeyCode()}.
@param {Object {KeyEvent}} event {@link KeyEvent} for this key long press event.
@return {Boolean} {@code true} to tell the IME client that the IME handled this event.
@see android.inputmethodservice.InputMethodService#onKeyLongPress(int, KeyEvent)
*/
onKeyLongPress : function(  ) {},

/**Called to give a chance for the IME to intercept key multiple events before they are
 processed by the application.
@param {Number} keyCode The value in {@link KeyEvent#getKeyCode()}.
@param {Object {KeyEvent}} event {@link KeyEvent} for this key multiple event.
@return {Boolean} {@code true} to tell the IME client that the IME handled this event.
@see android.inputmethodservice.InputMethodService#onKeyMultiple(int, int, KeyEvent)
*/
onKeyMultiple : function(  ) {},

/**Called to give a chance for the IME to intercept key up events before they are processed
 by the application.
@param {Number} keyCode The value in {@link KeyEvent#getKeyCode()}.
@param {Object {KeyEvent}} event {@link KeyEvent} for this key up event.
@return {Boolean} {@code true} to tell the IME client that the IME handled this event.
@see android.inputmethodservice.InputMethodService#onKeyUp(int, KeyEvent)
*/
onKeyUp : function(  ) {},

/**Called to give a chance for the IME to intercept generic motion events before they are
 processed by the application.
@param {Object {MotionEvent}} event {@link MotionEvent} that is about to be handled by the IME client.
@return {Boolean} {@code true} to tell the IME client that the IME handled this event.
@see android.inputmethodservice.InputMethodService#onTrackballEvent(MotionEvent)
*/
onTrackballEvent : function(  ) {},


};