161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2021-2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit BasicServicesKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ci/** 2261847f8eSopenharmony_ci * Defines the basic callback. 2361847f8eSopenharmony_ci * @typedef Callback 2461847f8eSopenharmony_ci * @syscap SystemCapability.Base 2561847f8eSopenharmony_ci * @since 6 2661847f8eSopenharmony_ci */ 2761847f8eSopenharmony_ci/** 2861847f8eSopenharmony_ci * Defines the basic callback. 2961847f8eSopenharmony_ci * @typedef Callback 3061847f8eSopenharmony_ci * @syscap SystemCapability.Base 3161847f8eSopenharmony_ci * @crossplatform 3261847f8eSopenharmony_ci * @since 10 3361847f8eSopenharmony_ci */ 3461847f8eSopenharmony_ci/** 3561847f8eSopenharmony_ci * Defines the basic callback. 3661847f8eSopenharmony_ci * @typedef Callback 3761847f8eSopenharmony_ci * @syscap SystemCapability.Base 3861847f8eSopenharmony_ci * @crossplatform 3961847f8eSopenharmony_ci * @atomicservice 4061847f8eSopenharmony_ci * @since 11 4161847f8eSopenharmony_ci */ 4261847f8eSopenharmony_ci/** 4361847f8eSopenharmony_ci * Defines the basic callback. 4461847f8eSopenharmony_ci * @typedef Callback 4561847f8eSopenharmony_ci * @syscap SystemCapability.Base 4661847f8eSopenharmony_ci * @crossplatform 4761847f8eSopenharmony_ci * @form 4861847f8eSopenharmony_ci * @atomicservice 4961847f8eSopenharmony_ci * @since 12 5061847f8eSopenharmony_ci */ 5161847f8eSopenharmony_ciexport interface Callback<T> { 5261847f8eSopenharmony_ci /** 5361847f8eSopenharmony_ci * Defines the callback info. 5461847f8eSopenharmony_ci * @param { T } data 5561847f8eSopenharmony_ci * @syscap SystemCapability.Base 5661847f8eSopenharmony_ci * @since 6 5761847f8eSopenharmony_ci */ 5861847f8eSopenharmony_ci /** 5961847f8eSopenharmony_ci * Defines the callback info. 6061847f8eSopenharmony_ci * @param { T } data 6161847f8eSopenharmony_ci * @syscap SystemCapability.Base 6261847f8eSopenharmony_ci * @crossplatform 6361847f8eSopenharmony_ci * @since 10 6461847f8eSopenharmony_ci */ 6561847f8eSopenharmony_ci /** 6661847f8eSopenharmony_ci * Defines the callback info. 6761847f8eSopenharmony_ci * @param { T } data 6861847f8eSopenharmony_ci * @syscap SystemCapability.Base 6961847f8eSopenharmony_ci * @crossplatform 7061847f8eSopenharmony_ci * @atomicservice 7161847f8eSopenharmony_ci * @since 11 7261847f8eSopenharmony_ci */ 7361847f8eSopenharmony_ci /** 7461847f8eSopenharmony_ci * Defines the callback info. 7561847f8eSopenharmony_ci * @param { T } data 7661847f8eSopenharmony_ci * @syscap SystemCapability.Base 7761847f8eSopenharmony_ci * @crossplatform 7861847f8eSopenharmony_ci * @form 7961847f8eSopenharmony_ci * @atomicservice 8061847f8eSopenharmony_ci * @since 12 8161847f8eSopenharmony_ci */ 8261847f8eSopenharmony_ci (data: T): void; 8361847f8eSopenharmony_ci} 8461847f8eSopenharmony_ci 8561847f8eSopenharmony_ci/** 8661847f8eSopenharmony_ci * Defines the basic error callback. 8761847f8eSopenharmony_ci * @typedef ErrorCallback 8861847f8eSopenharmony_ci * @syscap SystemCapability.Base 8961847f8eSopenharmony_ci * @since 6 9061847f8eSopenharmony_ci */ 9161847f8eSopenharmony_ci/** 9261847f8eSopenharmony_ci * Defines the basic error callback. 9361847f8eSopenharmony_ci * @typedef ErrorCallback 9461847f8eSopenharmony_ci * @syscap SystemCapability.Base 9561847f8eSopenharmony_ci * @crossplatform 9661847f8eSopenharmony_ci * @since 10 9761847f8eSopenharmony_ci */ 9861847f8eSopenharmony_ci/** 9961847f8eSopenharmony_ci * Defines the basic error callback. 10061847f8eSopenharmony_ci * @typedef ErrorCallback 10161847f8eSopenharmony_ci * @syscap SystemCapability.Base 10261847f8eSopenharmony_ci * @crossplatform 10361847f8eSopenharmony_ci * @atomicservice 10461847f8eSopenharmony_ci * @since 11 10561847f8eSopenharmony_ci */ 10661847f8eSopenharmony_ciexport interface ErrorCallback<T extends Error = BusinessError> { 10761847f8eSopenharmony_ci /** 10861847f8eSopenharmony_ci * Defines the basic error callback. 10961847f8eSopenharmony_ci * @param { T } err 11061847f8eSopenharmony_ci * @syscap SystemCapability.Base 11161847f8eSopenharmony_ci * @since 6 11261847f8eSopenharmony_ci */ 11361847f8eSopenharmony_ci /** 11461847f8eSopenharmony_ci * Defines the basic error callback. 11561847f8eSopenharmony_ci * @param { T } err 11661847f8eSopenharmony_ci * @syscap SystemCapability.Base 11761847f8eSopenharmony_ci * @crossplatform 11861847f8eSopenharmony_ci * @since 10 11961847f8eSopenharmony_ci */ 12061847f8eSopenharmony_ci /** 12161847f8eSopenharmony_ci * Defines the basic error callback. 12261847f8eSopenharmony_ci * @param { T } err 12361847f8eSopenharmony_ci * @syscap SystemCapability.Base 12461847f8eSopenharmony_ci * @crossplatform 12561847f8eSopenharmony_ci * @atomicservice 12661847f8eSopenharmony_ci * @since 11 12761847f8eSopenharmony_ci */ 12861847f8eSopenharmony_ci (err: T): void; 12961847f8eSopenharmony_ci} 13061847f8eSopenharmony_ci 13161847f8eSopenharmony_ci/** 13261847f8eSopenharmony_ci * Defines the basic async callback. 13361847f8eSopenharmony_ci * @typedef AsyncCallback 13461847f8eSopenharmony_ci * @syscap SystemCapability.Base 13561847f8eSopenharmony_ci * @since 6 13661847f8eSopenharmony_ci */ 13761847f8eSopenharmony_ci/** 13861847f8eSopenharmony_ci * Defines the basic async callback. 13961847f8eSopenharmony_ci * @typedef AsyncCallback 14061847f8eSopenharmony_ci * @syscap SystemCapability.Base 14161847f8eSopenharmony_ci * @crossplatform 14261847f8eSopenharmony_ci * @since 10 14361847f8eSopenharmony_ci */ 14461847f8eSopenharmony_ci/** 14561847f8eSopenharmony_ci * Defines the basic async callback. 14661847f8eSopenharmony_ci * @typedef AsyncCallback 14761847f8eSopenharmony_ci * @syscap SystemCapability.Base 14861847f8eSopenharmony_ci * @crossplatform 14961847f8eSopenharmony_ci * @atomicservice 15061847f8eSopenharmony_ci * @since 11 15161847f8eSopenharmony_ci */ 15261847f8eSopenharmony_ci/** 15361847f8eSopenharmony_ci * Defines the basic async callback. 15461847f8eSopenharmony_ci * @typedef AsyncCallback 15561847f8eSopenharmony_ci * @syscap SystemCapability.Base 15661847f8eSopenharmony_ci * @crossplatform 15761847f8eSopenharmony_ci * @form 15861847f8eSopenharmony_ci * @atomicservice 15961847f8eSopenharmony_ci * @since 12 16061847f8eSopenharmony_ci */ 16161847f8eSopenharmony_ciexport interface AsyncCallback<T, E = void> { 16261847f8eSopenharmony_ci /** 16361847f8eSopenharmony_ci * Defines the callback data. 16461847f8eSopenharmony_ci * @param { BusinessError<E> } err 16561847f8eSopenharmony_ci * @param { T } data 16661847f8eSopenharmony_ci * @syscap SystemCapability.Base 16761847f8eSopenharmony_ci * @since 6 16861847f8eSopenharmony_ci */ 16961847f8eSopenharmony_ci /** 17061847f8eSopenharmony_ci * Defines the callback data. 17161847f8eSopenharmony_ci * @param { BusinessError<E> } err 17261847f8eSopenharmony_ci * @param { T } data 17361847f8eSopenharmony_ci * @syscap SystemCapability.Base 17461847f8eSopenharmony_ci * @crossplatform 17561847f8eSopenharmony_ci * @since 10 17661847f8eSopenharmony_ci */ 17761847f8eSopenharmony_ci /** 17861847f8eSopenharmony_ci * Defines the callback data. 17961847f8eSopenharmony_ci * @param { BusinessError<E> } err 18061847f8eSopenharmony_ci * @param { T } data 18161847f8eSopenharmony_ci * @syscap SystemCapability.Base 18261847f8eSopenharmony_ci * @crossplatform 18361847f8eSopenharmony_ci * @atomicservice 18461847f8eSopenharmony_ci * @since 11 18561847f8eSopenharmony_ci */ 18661847f8eSopenharmony_ci /** 18761847f8eSopenharmony_ci * Defines the callback data. 18861847f8eSopenharmony_ci * @param { BusinessError<E> } err 18961847f8eSopenharmony_ci * @param { T } data 19061847f8eSopenharmony_ci * @syscap SystemCapability.Base 19161847f8eSopenharmony_ci * @crossplatform 19261847f8eSopenharmony_ci * @form 19361847f8eSopenharmony_ci * @atomicservice 19461847f8eSopenharmony_ci * @since 12 19561847f8eSopenharmony_ci */ 19661847f8eSopenharmony_ci (err: BusinessError<E>, data: T): void; 19761847f8eSopenharmony_ci} 19861847f8eSopenharmony_ci 19961847f8eSopenharmony_ci/** 20061847f8eSopenharmony_ci * Defines the error interface. 20161847f8eSopenharmony_ci * @typedef BusinessError 20261847f8eSopenharmony_ci * @syscap SystemCapability.Base 20361847f8eSopenharmony_ci * @since 6 20461847f8eSopenharmony_ci */ 20561847f8eSopenharmony_ci/** 20661847f8eSopenharmony_ci * Defines the error interface. 20761847f8eSopenharmony_ci * @typedef BusinessError 20861847f8eSopenharmony_ci * @syscap SystemCapability.Base 20961847f8eSopenharmony_ci * @crossplatform 21061847f8eSopenharmony_ci * @since 10 21161847f8eSopenharmony_ci */ 21261847f8eSopenharmony_ci/** 21361847f8eSopenharmony_ci * Defines the error interface. 21461847f8eSopenharmony_ci * @typedef BusinessError 21561847f8eSopenharmony_ci * @syscap SystemCapability.Base 21661847f8eSopenharmony_ci * @crossplatform 21761847f8eSopenharmony_ci * @atomicservice 21861847f8eSopenharmony_ci * @since 11 21961847f8eSopenharmony_ci */ 22061847f8eSopenharmony_ci/** 22161847f8eSopenharmony_ci * Defines the error interface. 22261847f8eSopenharmony_ci * @typedef BusinessError 22361847f8eSopenharmony_ci * @syscap SystemCapability.Base 22461847f8eSopenharmony_ci * @crossplatform 22561847f8eSopenharmony_ci * @form 22661847f8eSopenharmony_ci * @atomicservice 22761847f8eSopenharmony_ci * @since 12 22861847f8eSopenharmony_ci */ 22961847f8eSopenharmony_ciexport interface BusinessError<T = void> extends Error { 23061847f8eSopenharmony_ci /** 23161847f8eSopenharmony_ci * Defines the basic error code. 23261847f8eSopenharmony_ci * @type { number } code 23361847f8eSopenharmony_ci * @syscap SystemCapability.Base 23461847f8eSopenharmony_ci * @since 6 23561847f8eSopenharmony_ci */ 23661847f8eSopenharmony_ci /** 23761847f8eSopenharmony_ci * Defines the basic error code. 23861847f8eSopenharmony_ci * @type { number } code 23961847f8eSopenharmony_ci * @syscap SystemCapability.Base 24061847f8eSopenharmony_ci * @crossplatform 24161847f8eSopenharmony_ci * @since 10 24261847f8eSopenharmony_ci */ 24361847f8eSopenharmony_ci /** 24461847f8eSopenharmony_ci * Defines the basic error code. 24561847f8eSopenharmony_ci * @type { number } code 24661847f8eSopenharmony_ci * @syscap SystemCapability.Base 24761847f8eSopenharmony_ci * @crossplatform 24861847f8eSopenharmony_ci * @atomicservice 24961847f8eSopenharmony_ci * @since 11 25061847f8eSopenharmony_ci */ 25161847f8eSopenharmony_ci /** 25261847f8eSopenharmony_ci * Defines the basic error code. 25361847f8eSopenharmony_ci * @type { number } code 25461847f8eSopenharmony_ci * @syscap SystemCapability.Base 25561847f8eSopenharmony_ci * @crossplatform 25661847f8eSopenharmony_ci * @form 25761847f8eSopenharmony_ci * @atomicservice 25861847f8eSopenharmony_ci * @since 12 25961847f8eSopenharmony_ci */ 26061847f8eSopenharmony_ci code: number; 26161847f8eSopenharmony_ci /** 26261847f8eSopenharmony_ci * Defines the additional information for business 26361847f8eSopenharmony_ci * @type { ?T } data 26461847f8eSopenharmony_ci * @syscap SystemCapability.Base 26561847f8eSopenharmony_ci * @since 9 26661847f8eSopenharmony_ci */ 26761847f8eSopenharmony_ci /** 26861847f8eSopenharmony_ci * Defines the additional information for business 26961847f8eSopenharmony_ci * @type { ?T } data 27061847f8eSopenharmony_ci * @syscap SystemCapability.Base 27161847f8eSopenharmony_ci * @crossplatform 27261847f8eSopenharmony_ci * @since 10 27361847f8eSopenharmony_ci */ 27461847f8eSopenharmony_ci /** 27561847f8eSopenharmony_ci * Defines the additional information for business 27661847f8eSopenharmony_ci * @type { ?T } data 27761847f8eSopenharmony_ci * @syscap SystemCapability.Base 27861847f8eSopenharmony_ci * @crossplatform 27961847f8eSopenharmony_ci * @atomicservice 28061847f8eSopenharmony_ci * @since 11 28161847f8eSopenharmony_ci */ 28261847f8eSopenharmony_ci /** 28361847f8eSopenharmony_ci * Defines the additional information for business 28461847f8eSopenharmony_ci * @type { ?T } data 28561847f8eSopenharmony_ci * @syscap SystemCapability.Base 28661847f8eSopenharmony_ci * @crossplatform 28761847f8eSopenharmony_ci * @form 28861847f8eSopenharmony_ci * @atomicservice 28961847f8eSopenharmony_ci * @since 12 29061847f8eSopenharmony_ci */ 29161847f8eSopenharmony_ci data?: T; 29261847f8eSopenharmony_ci} 293