1 /* 2 * Copyright (c) 2022-2023 Huawei Device Co., Ltd. 3 * Licensed under the Apache License, Version 2.0 (the "License"), 4 * you may not use this file except in compliance with the License. 5 * You may obtain a copy of the License at 6 * 7 * http://www.apache.org/licenses/LICENSE-2.0 8 * 9 * Unless required by applicable law or agreed to in writing, software 10 * distributed under the License is distributed on an "AS IS" BASIS, 11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 * See the License for the specific language governing permissions and 13 * limitations under the License. 14 */ 15 16 /** 17 * @file 18 * @kit AbilityKit 19 */ 20 21 import Want from './@ohos.app.ability.Want'; 22 23 /** 24 * Interface of request dialog. 25 * 26 * @namespace dialogRequest 27 * @syscap SystemCapability.Ability.AbilityRuntime.Core 28 * @since 9 29 */ 30 declare namespace dialogRequest { 31 /** 32 * Window Rectangle 33 * 34 * @typedef WindowRect 35 * @syscap SystemCapability.Ability.AbilityRuntime.Core 36 * @StageModelOnly 37 * @since 10 38 */ 39 export interface WindowRect { 40 /** 41 * The left position of WindowRect 42 * 43 * @type { number } 44 * @syscap SystemCapability.Ability.AbilityRuntime.Core 45 * @StageModelOnly 46 * @since 10 47 */ 48 left: number; 49 50 /** 51 * The top position of WindowRect 52 * 53 * @type { number } 54 * @syscap SystemCapability.Ability.AbilityRuntime.Core 55 * @StageModelOnly 56 * @since 10 57 */ 58 top: number; 59 60 /** 61 * The width of WindowRect 62 * 63 * @type { number } 64 * @syscap SystemCapability.Ability.AbilityRuntime.Core 65 * @StageModelOnly 66 * @since 10 67 */ 68 width: number; 69 70 /** 71 * The height of WindowRect 72 * 73 * @type { number } 74 * @syscap SystemCapability.Ability.AbilityRuntime.Core 75 * @StageModelOnly 76 * @since 10 77 */ 78 height: number; 79 } 80 /** 81 * Request info of a request. 82 * 83 * @typedef RequestInfo 84 * @syscap SystemCapability.Ability.AbilityRuntime.Core 85 * @since 9 86 */ 87 export interface RequestInfo { 88 /** 89 * The Window of caller. 90 * 91 * @type { ?WindowRect } 92 * @syscap SystemCapability.Ability.AbilityRuntime.Core 93 * @StageModelOnly 94 * @since 10 95 */ 96 windowRect?: WindowRect 97 } 98 99 /** 100 * The modal bullet box requests the result code. 101 * 102 * @enum { number } 103 * @syscap SystemCapability.Ability.AbilityRuntime.Core 104 * @since 9 105 */ 106 export enum ResultCode { 107 /** 108 * The modal bullet box requests succeeded. 109 * 110 * @syscap SystemCapability.Ability.AbilityRuntime.Core 111 * @since 9 112 */ 113 RESULT_OK = 0, 114 115 /** 116 * The modal bullet box requests Failed. 117 * 118 * @syscap SystemCapability.Ability.AbilityRuntime.Core 119 * @since 9 120 */ 121 RESULT_CANCEL = 1 122 } 123 124 /** 125 * The result of requestDialogService with asynchronous callback. 126 * 127 * @typedef RequestResult 128 * @syscap SystemCapability.Ability.AbilityRuntime.Core 129 * @StageModelOnly 130 * @since 9 131 */ 132 export interface RequestResult { 133 /** 134 * The request result passed in by the user. 135 * 136 * @type { ResultCode } 137 * @syscap SystemCapability.Ability.AbilityRuntime.Core 138 * @StageModelOnly 139 * @since 9 140 */ 141 result: ResultCode; 142 143 /** 144 * The request additional want data passed in by the user. 145 * 146 * @type { ?Want } 147 * @syscap SystemCapability.Ability.AbilityRuntime.Core 148 * @StageModelOnly 149 * @since 10 150 */ 151 want?: Want; 152 } 153 154 /** 155 * Provides methods for request callback. 156 * 157 * @interface RequestCallback 158 * @syscap SystemCapability.Ability.AbilityRuntime.Core 159 * @since 9 160 */ 161 export interface RequestCallback { 162 /** 163 * Send request result to caller. 164 * 165 * @param { RequestResult } result - result for request. 166 * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 167 * 2. Incorrect parameter types; 3. Parameter verification failed. 168 * @syscap SystemCapability.Ability.AbilityRuntime.AbilityCore 169 * @StageModelOnly 170 * @since 9 171 */ 172 setRequestResult(result: RequestResult): void; 173 } 174 175 /** 176 * Get request info from caller want. 177 * 178 * @param { Want } want - want from caller. 179 * @returns { RequestInfo } Returns the request info from caller. 180 * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 181 * 2. Incorrect parameter types; 3. Parameter verification failed. 182 * @syscap SystemCapability.Ability.AbilityRuntime.Core 183 * @since 9 184 */ 185 function getRequestInfo(want: Want): RequestInfo; 186 187 /** 188 * Get request callback from caller want. 189 * 190 * @param { Want } want - want from caller. 191 * @returns { RequestCallback } Returns the request callback. 192 * @throws { BusinessError } 401 - Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 193 * 2. Incorrect parameter types; 3. Parameter verification failed. 194 * @syscap SystemCapability.Ability.AbilityRuntime.Core 195 * @since 9 196 */ 197 function getRequestCallback(want: Want): RequestCallback; 198 } 199 200 export default dialogRequest; 201