/* * 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 , Callback} from './basic'; import Want from './@ohos.app.ability.Want'; import { WantAgentInfo as _WantAgentInfo } from './wantAgent/wantAgentInfo'; import { TriggerInfo as _TriggerInfo } from './wantAgent/triggerInfo'; /** * Provide the method obtain trigger, cancel, and compare and to obtain * the bundle name, UID of an {@link WantAgent} object. * @namespace wantAgent * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ declare namespace wantAgent { /** * Obtains the bundle name of a WantAgent. * @param { WantAgent } agent - Indicates the WantAgent. * @param { AsyncCallback } callback - The callback is used to return the bundle name. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getBundleName(agent: WantAgent, callback: AsyncCallback): void; /** * Obtains the bundle name of a WantAgent. * @param { WantAgent } agent - Indicates the WantAgent. * @returns { Promise } Returns the bundle name. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getBundleName(agent: WantAgent): Promise; /** * Obtains the UID of a WantAgent. * @param { WantAgent } agent - Indicates the WantAgent. * @param { AsyncCallback } callback - The callback is used to return the UID. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getUid(agent: WantAgent, callback: AsyncCallback): void; /** * Obtains the UID of a WantAgent. * @param { WantAgent } agent - Indicates the WantAgent. * @returns { Promise } Returns the UID. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getUid(agent: WantAgent): Promise; /** * Obtains the {@link Want} of an {@link WantAgent}. * @param { WantAgent } agent - Indicates the WantAgent. * @param { AsyncCallback } callback - The callback is used to return the Want. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000015 - Service timeout. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @systemapi * @since 9 */ function getWant(agent: WantAgent, callback: AsyncCallback): void; /** * Obtains the {@link Want} of an {@link WantAgent}. * @param { WantAgent } agent - Indicates the WantAgent. * @returns { Promise } Returns the Want. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000015 - Service timeout. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @systemapi * @since 9 */ function getWant(agent: WantAgent): Promise; /** * Cancels a WantAgent. Only the application that creates the WantAgent can cancel it. * @param { WantAgent } agent - Indicates the WantAgent. * @param { AsyncCallback } callback - The callback of cancel. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function cancel(agent: WantAgent, callback: AsyncCallback): void; /** * Cancels a WantAgent. Only the application that creates the WantAgent can cancel it. * @param { WantAgent } agent - Indicates the WantAgent. * @returns { Promise } The promise returned by the function. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function cancel(agent: WantAgent): Promise; /** * Triggers a WantAgent. * @param { WantAgent } agent - Indicates the WantAgent. * @param { TriggerInfo } triggerInfo - Indicates the information required for triggering a WantAgent. * @param { AsyncCallback } callback - The callback is used to return the CompleteData. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function trigger(agent: WantAgent, triggerInfo: TriggerInfo, callback?: AsyncCallback): void; /** * Checks whether two WantAgent objects are equal. * @param { WantAgent } agent - Indicates the WantAgent. * @param { WantAgent } otherAgent - Indicates the other WantAgent. * @param { AsyncCallback } callback - Returns true if the two WantAgents are the same. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function equal(agent: WantAgent, otherAgent: WantAgent, callback: AsyncCallback): void; /** * Checks whether two WantAgent objects are equal. * @param { WantAgent } agent - Indicates the WantAgent. * @param { WantAgent } otherAgent - Indicates the other WantAgent. * @returns { Promise } Returns true if the two WantAgents are the same. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function equal(agent: WantAgent, otherAgent: WantAgent): Promise; /** * Obtains a WantAgent object. * @param { WantAgentInfo } info - Information about the WantAgent object to obtain. * @param { AsyncCallback } callback - The callback is used to return the created WantAgent. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getWantAgent(info: WantAgentInfo, callback: AsyncCallback): void; /** * Obtains a WantAgent object. * @param { WantAgentInfo } info - Information about the WantAgent object to obtain. * @returns { Promise } Returns the created WantAgent. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getWantAgent(info: WantAgentInfo): Promise; /** * Obtains the {@link OperationType} of a {@link WantAgent}. * @param { WantAgent } agent - Indicates the WantAgent. * @param { AsyncCallback } callback - The callback is used to return the OperationType of the WantAgent. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000015 - Service timeout. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getOperationType(agent: WantAgent, callback: AsyncCallback): void; /** * Obtains the {@link OperationType} of a {@link WantAgent}. * @param { WantAgent } agent - Indicates the WantAgent. * @returns { Promise } Returns the OperationType of the WantAgent. * @throws { BusinessError } 401 - If the input parameter is not valid parameter. * @throws { BusinessError } 16000007 - Service busy, there are concurrent tasks, waiting for retry. * @throws { BusinessError } 16000015 - Service timeout. * @throws { BusinessError } 16000151 - Invalid wantagent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ function getOperationType(agent: WantAgent): Promise; /** * Enumerates flags for using a WantAgent. * @enum { number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ export enum WantAgentFlags { /** * Indicates that the WantAgent can be used only once. * This flag is valid only when OperationType is set to START_ABILITY, START_SERVICE, or SEND_COMMON_EVENT. */ ONE_TIME_FLAG = 0, /** * Indicates that null is returned if the WantAgent does not exist. * This flag is valid only when OperationType is set to START_ABILITY, START_SERVICE, or SEND_COMMON_EVENT. */ NO_BUILD_FLAG, /** * Indicates that the existing WantAgent should be canceled before a new object is generated. * This flag is valid only when OperationType is set to START_ABILITY, START_SERVICE, or SEND_COMMON_EVENT. */ CANCEL_PRESENT_FLAG, /** * Indicates that the system only replaces the extra data of the existing WantAgent with that of the new object. * This flag is valid only when OperationType is set to START_ABILITY, START_SERVICE, or SEND_COMMON_EVENT. */ UPDATE_PRESENT_FLAG, /** * Indicates that the created WantAgent should be immutable. */ CONSTANT_FLAG, /** * Indicates that the current value of element can be replaced when the WantAgent is triggered. */ REPLACE_ELEMENT, /** * Indicates that the current value of action can be replaced when the WantAgent is triggered. */ REPLACE_ACTION, /** * Indicates that the current value of uri can be replaced when the WantAgent is triggered. */ REPLACE_URI, /** * Indicates that the current value of entities can be replaced when the WantAgent is triggered. */ REPLACE_ENTITIES, /** * Indicates that the current value of packageName can be replaced when the WantAgent is triggered. */ REPLACE_BUNDLE } /** * Identifies the operation for using a WantAgent, such as starting an ability or sending a common event. * @enum { number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ export enum OperationType { /** * Unknown operation. */ UNKNOWN_TYPE = 0, /** * Starts an ability with a UI. */ START_ABILITY, /** * Starts multiple abilities with a UI. */ START_ABILITIES, /** * Starts an ability without a UI. */ START_SERVICE, /** * Sends a common event. */ SEND_COMMON_EVENT } /** * Describes the data returned by after wantAgent.trigger is called. * @typedef CompleteData * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ export interface CompleteData { /** * Triggered WantAgent. * @type { WantAgent } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ info: WantAgent; /** * Existing Want that is triggered. * @type { Want } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ want: Want; /** * Request code used to trigger the WantAgent. * @type { number } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ finalCode: number; /** * Final data collected by the common event. * @type { string } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ finalData: string; /** * Extra data collected by the common event. * @type { { [key: string]: Object } } * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ extraInfo?: { [key: string]: Object }; } /** * Provides the information required for triggering a WantAgent. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ export type TriggerInfo = _TriggerInfo /** * Provides the information required for triggering a WantAgent. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ export type WantAgentInfo = _WantAgentInfo } /** * WantAgent object. * @syscap SystemCapability.Ability.AbilityRuntime.Core * @since 9 */ export type WantAgent = object; export default wantAgent;