Signed-off-by: ma-shaoyin <mashaoyin1@huawei.com>

Changes to be committed:
This commit is contained in:
ma-shaoyin 2022-10-11 16:34:13 +08:00
parent 0340ab964f
commit d7243034ef
2 changed files with 159 additions and 0 deletions

View File

@ -0,0 +1,111 @@
/*
* Copyright (c) 2022 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.
*/
import rpc from "./@ohos.rpc";
import Want from './@ohos.application.Want';
import ExtensionAbility from './@ohos.application.ExtensionAbility';
import InputMethodExtensionContext from "./@ohos.inputmethodextensioncontext";
/**
* The extension ability class of input method.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @StageModelOnly
*/
export default class InputMethodExtensionAbility extends ExtensionAbility {
/**
* Indicates input method extension ability context.
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @StageModelOnly
*/
context: InputMethodExtensionContext;
/**
* Called back when a input method extension is started for initialization.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @param want Indicates the want of created service extension.
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
onCreate(want: Want): void;
/**
* Called back before a input method extension is destroyed.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
onDestroy(): void;
/**
* Called back when a input method extension is started.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @param want Indicates the want of service extension to start.
* @param startId Indicates the number of times the service extension has been started. The {@code startId} is
* incremented by 1 every time the service extension is started. For example, if the service extension
* has been started for six times.
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
onRequest(want: Want, startId: number): void;
/**
* Called back when a input method extension is first connected to an ability.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @param want Indicates connection information about the Service ability.
* @return Returns the proxy of the Service ability.
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
onConnect(want: Want): rpc.RemoteObject;
/**
* Called back when all abilities connected to a input method extension are disconnected.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @param want Indicates disconnection information about the service extension.
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
onDisconnect(want: Want): void;
/**
* Called when a new client attempts to connect to a input method extension after all previous client connections to it
* are disconnected.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @param want Indicates the want of the service extension being connected.
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
onReconnect(want: Want): void;
}

View File

@ -0,0 +1,48 @@
/*
* Copyright (c) 2022 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.
*/
import {AsyncCallback} from './basic';
import ExtensionContext from './application/ExtensionContext';
/**
* The extension context class of input method.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @StageModelOnly
*/
export default class InputMethodExtensionContext extends ExtensionContext {
/**
* Destroy the input method extension.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
destroy(callback: AsyncCallback<void>): void;
/**
* Destroy the input method extension.
*
* @since 9
* @syscap SystemCapability.MiscServices.InputMethodFramework
* @return -
* @throws {BusinessError} 401 - parameter error.
* @StageModelOnly
*/
destroy(): Promise<void>;
}