/*
* Copyright (c) 2025 Huawei Device Co., Ltd.
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
sequenceable input_method_utils..OHOS.MiscServices.TextTotalConfigInner;
sequenceable input_method_utils..OHOS.MiscServices.KeyboardStatus;
sequenceable input_method_utils..OHOS.MiscServices.PanelStatusInfoInner;
sequenceable input_method_utils..OHOS.MiscServices.FunctionKey;
sequenceable input_method_utils..OHOS.MiscServices.Value;
sequenceable input_method_utils..OHOS.MiscServices.RangeInner;
sequenceable input_method_utils..OHOS.MiscServices.ArrayBuffer;
sequenceable OHOS.IRemoteObject;
interface OHOS.MiscServices.IInputDataChannel {
[ipccode 0, oneway] void InsertText([in] String text, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void DeleteForward([in] int length, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void DeleteBackward([in] int length, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void GetTextBeforeCursor([in] int number, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void GetTextAfterCursor([in] int number, [in] unsigned long msgId, [in] IRemoteObject agent);
void GetTextConfig([out] struct TextTotalConfigInner textConfiginner);
[oneway] void SendKeyboardStatus([in] int status);
[oneway] void SendFunctionKey([in] int funcKey, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void MoveCursor([in] int keyCode, [in] unsigned long msgId, [in] IRemoteObject agent);
void GetEnterKeyType([out] int keyType);
void GetInputPattern([out] int inputPattern);
[oneway] void SelectByRange([in] int start, [in] int end, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void SelectByMovement([in] int direction, [in] int cursorMoveSkip, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void HandleExtendAction([in] int action, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void GetTextIndexAtCursor([in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void NotifyPanelStatusInfo([in] PanelStatusInfoInner info);
[oneway] void NotifyKeyboardHeight([in] unsigned int height);
void SendPrivateCommand([in] Value value);
[oneway] void SetPreviewText([in] String text, [in] RangeInner rangeInner, [in] unsigned long msgId, [in] IRemoteObject agent);
[oneway] void FinishTextPreview([in] unsigned long msgId, [in] IRemoteObject agent);
void SendMessage([in] ArrayBuffer arraybuffer);
[oneway] void HandleKeyEventResult([in] unsigned long cbId, [in] boolean consumeResult);
}