/*
* 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_property..OHOS.MiscServices.Property;
sequenceable input_method_property..OHOS.MiscServices.SubProperty;
sequenceable input_method_utils..OHOS.MiscServices.CursorInfoInner;
sequenceable input_window_info..OHOS.MiscServices.InputWindowStatus;
sequenceable input_window_info..OHOS.MiscServices.ImeWindowInfo;
sequenceable input_status_info..OHOS.MiscServices.InputStartInfo;
sequenceable input_status_info..OHOS.MiscServices.InputStopInfo;
sequenceable input_status_info..OHOS.MiscServices.BoundImeInfo;
sequenceable OHOS.IRemoteObject;
import InputMethodClientTypes;
interface OHOS.MiscServices.IInputClient {
void OnInputReady([in] IRemoteObject agent, [in] BindImeInfo imeInfo);
[oneway] void OnInputStop([in] boolean isStopInactiveClient, [in] IRemoteObject object, [in] boolean isSendKeyboardStatus, [in] boolean isStopByMultiPreemptInProc);
[oneway] void OnInputStopAsync([in] boolean isStopInactiveClient, [in] boolean isSendKeyboardStatus, [in] boolean isStopByMultiPreemptInProc);
void OnSwitchInput([in] Property property, [in] SubProperty subProperty, [in] int userId);
void OnPanelStatusChange([in] unsigned int status, [in] ImeWindowInfo info);
void NotifyInputStart([in] InputStartInfo inputStartInfo);
void NotifyInputStop([in] InputStopInfo inputStopInfo);
[oneway] void NotifySoftKeyBoardInfoChanged([in] int userId, [in] BoundImeInfo oldImeInfo, [in] BoundImeInfo newImeInfo);
[oneway] void DeactivateClient();
void OnImeMirrorStop([in] IRemoteObject object);
void GetCurrentCursorInfo([out] CursorInfoInner cursorInfo);
}