161847f8eSopenharmony_ci/*
261847f8eSopenharmony_ci * Copyright (C) 2022 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 ConnectivityKit
1961847f8eSopenharmony_ci */
2061847f8eSopenharmony_ci
2161847f8eSopenharmony_ciimport type { AsyncCallback, BusinessError, Callback } from './@ohos.base';
2261847f8eSopenharmony_ci
2361847f8eSopenharmony_ci/**
2461847f8eSopenharmony_ci * Provides methods to operate or manage Connected Tag.
2561847f8eSopenharmony_ci *
2661847f8eSopenharmony_ci * @namespace connectedTag
2761847f8eSopenharmony_ci * @syscap SystemCapability.Communication.ConnectedTag
2861847f8eSopenharmony_ci * @since 8
2961847f8eSopenharmony_ci */
3061847f8eSopenharmony_cideclare namespace connectedTag {
3161847f8eSopenharmony_ci  /**
3261847f8eSopenharmony_ci   * Initializes Connected Tag.
3361847f8eSopenharmony_ci   *
3461847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
3561847f8eSopenharmony_ci   * @returns { boolean } Returns true if init success, otherwise returns false.
3661847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
3761847f8eSopenharmony_ci   * @since 8
3861847f8eSopenharmony_ci   * @deprecated since 9
3961847f8eSopenharmony_ci   * @useinstead ohos.connectedTag/connectedTag#initialize
4061847f8eSopenharmony_ci   */
4161847f8eSopenharmony_ci  function init(): boolean;
4261847f8eSopenharmony_ci
4361847f8eSopenharmony_ci  /**
4461847f8eSopenharmony_ci   * Initializes the connected NFC tag.
4561847f8eSopenharmony_ci   *
4661847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
4761847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
4861847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
4961847f8eSopenharmony_ci   * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service.
5061847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
5161847f8eSopenharmony_ci   * @since 9
5261847f8eSopenharmony_ci   */
5361847f8eSopenharmony_ci  function initialize(): void;
5461847f8eSopenharmony_ci
5561847f8eSopenharmony_ci  /**
5661847f8eSopenharmony_ci   * UnInitializes Connected Tag.
5761847f8eSopenharmony_ci   *
5861847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
5961847f8eSopenharmony_ci   * @returns { boolean } Returns true if uninit success, otherwise returns false.
6061847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
6161847f8eSopenharmony_ci   * @since 8
6261847f8eSopenharmony_ci   * @deprecated since 9
6361847f8eSopenharmony_ci   * @useinstead ohos.connectedTag/connectedTag#uninitialize
6461847f8eSopenharmony_ci   */
6561847f8eSopenharmony_ci  function uninit(): boolean;
6661847f8eSopenharmony_ci
6761847f8eSopenharmony_ci  /**
6861847f8eSopenharmony_ci   * Uninitializes the connected NFC tag.
6961847f8eSopenharmony_ci   *
7061847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
7161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
7261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
7361847f8eSopenharmony_ci   * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service.
7461847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
7561847f8eSopenharmony_ci   * @since 9
7661847f8eSopenharmony_ci   */
7761847f8eSopenharmony_ci  function uninitialize(): void;
7861847f8eSopenharmony_ci
7961847f8eSopenharmony_ci  /**
8061847f8eSopenharmony_ci   * Reads the NDEF Data.
8161847f8eSopenharmony_ci   *
8261847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
8361847f8eSopenharmony_ci   * @returns { Promise<string> } Returns the NDEF Data.
8461847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
8561847f8eSopenharmony_ci   * @since 8
8661847f8eSopenharmony_ci   * @deprecated since 9
8761847f8eSopenharmony_ci   * @useinstead ohos.connectedTag/connectedTag#read
8861847f8eSopenharmony_ci   */
8961847f8eSopenharmony_ci  function readNdefTag(): Promise<string>;
9061847f8eSopenharmony_ci
9161847f8eSopenharmony_ci  /**
9261847f8eSopenharmony_ci   * Reads the NDEF Data.
9361847f8eSopenharmony_ci   *
9461847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
9561847f8eSopenharmony_ci   * @param { AsyncCallback<string> } callback
9661847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
9761847f8eSopenharmony_ci   * @since 8
9861847f8eSopenharmony_ci   * @deprecated since 9
9961847f8eSopenharmony_ci   * @useinstead ohos.connectedTag/connectedTag#read
10061847f8eSopenharmony_ci   */
10161847f8eSopenharmony_ci  function readNdefTag(callback: AsyncCallback<string>): void;
10261847f8eSopenharmony_ci
10361847f8eSopenharmony_ci  /**
10461847f8eSopenharmony_ci   * Reads the NDEF data from the connected NFC tag.
10561847f8eSopenharmony_ci   *
10661847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
10761847f8eSopenharmony_ci   * @returns { Promise<number[]> } The reponse NDEF data.
10861847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
10961847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
11061847f8eSopenharmony_ci   * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service.
11161847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
11261847f8eSopenharmony_ci   * @since 9
11361847f8eSopenharmony_ci   */
11461847f8eSopenharmony_ci  function read(): Promise<number[]>;
11561847f8eSopenharmony_ci
11661847f8eSopenharmony_ci  /**
11761847f8eSopenharmony_ci   * Reads the NDEF data from the connected NFC tag.
11861847f8eSopenharmony_ci   *
11961847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
12061847f8eSopenharmony_ci   * @param { AsyncCallback<number[]> } callback The callback to receive the data.
12161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
12261847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
12361847f8eSopenharmony_ci   * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service.
12461847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
12561847f8eSopenharmony_ci   * @since 9
12661847f8eSopenharmony_ci   */
12761847f8eSopenharmony_ci  function read(callback: AsyncCallback<number[]>): void;
12861847f8eSopenharmony_ci
12961847f8eSopenharmony_ci  /**
13061847f8eSopenharmony_ci   * Writes the NDEF Data.
13161847f8eSopenharmony_ci   *
13261847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
13361847f8eSopenharmony_ci   * @param { string } data The Data to write.
13461847f8eSopenharmony_ci   * @returns { Promise<void> } The void.
13561847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
13661847f8eSopenharmony_ci   * @since 8
13761847f8eSopenharmony_ci   * @deprecated since 9
13861847f8eSopenharmony_ci   * @useinstead ohos.connectedTag/connectedTag#write
13961847f8eSopenharmony_ci   */
14061847f8eSopenharmony_ci  function writeNdefTag(data: string): Promise<void>;
14161847f8eSopenharmony_ci
14261847f8eSopenharmony_ci  /**
14361847f8eSopenharmony_ci   * Writes the NDEF Data.
14461847f8eSopenharmony_ci   *
14561847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
14661847f8eSopenharmony_ci   * @param { string } data The Data to write.
14761847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback
14861847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
14961847f8eSopenharmony_ci   * @since 8
15061847f8eSopenharmony_ci   * @deprecated since 9
15161847f8eSopenharmony_ci   * @useinstead ohos.connectedTag/connectedTag#write
15261847f8eSopenharmony_ci   */
15361847f8eSopenharmony_ci  function writeNdefTag(data: string, callback: AsyncCallback<void>): void;
15461847f8eSopenharmony_ci
15561847f8eSopenharmony_ci  /**
15661847f8eSopenharmony_ci   * Writes the NDEF data to the connected NFC tag.
15761847f8eSopenharmony_ci   *
15861847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
15961847f8eSopenharmony_ci   * @param { number[] } data Indicates the NDEF data to send, which is a byte array.
16061847f8eSopenharmony_ci   * @returns { Promise<void> } The void.
16161847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
16261847f8eSopenharmony_ci   * @throws { BusinessError } 401 - The parameter check failed. Possible causes: 
16361847f8eSopenharmony_ci   * <br> 1. Mandatory parameters are left unspecified.
16461847f8eSopenharmony_ci   * <br> 2. Incorrect parameters types.
16561847f8eSopenharmony_ci   * <br> 3. Parameter verification failed.
16661847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
16761847f8eSopenharmony_ci   * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service.
16861847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
16961847f8eSopenharmony_ci   * @since 9
17061847f8eSopenharmony_ci   */
17161847f8eSopenharmony_ci  function write(data: number[]): Promise<void>;
17261847f8eSopenharmony_ci
17361847f8eSopenharmony_ci  /**
17461847f8eSopenharmony_ci   * Writes the NDEF data to the connected NFC tag.
17561847f8eSopenharmony_ci   *
17661847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
17761847f8eSopenharmony_ci   * @param { number[] } data Indicates the NDEF data to send, which is a byte array.
17861847f8eSopenharmony_ci   * @param { AsyncCallback<void> } callback
17961847f8eSopenharmony_ci   * @throws { BusinessError } 201 - Permission denied.
18061847f8eSopenharmony_ci   * @throws { BusinessError } 401 - The parameter check failed. Possible causes: 
18161847f8eSopenharmony_ci   * <br> 1. Mandatory parameters are left unspecified.
18261847f8eSopenharmony_ci   * <br> 2. Incorrect parameters types.
18361847f8eSopenharmony_ci   * <br> 3. Parameter verification failed.
18461847f8eSopenharmony_ci   * @throws { BusinessError } 801 - Capability not supported.
18561847f8eSopenharmony_ci   * @throws { BusinessError } 3200101 - Connected NFC tag running state is abnormal in service.
18661847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
18761847f8eSopenharmony_ci   * @since 9
18861847f8eSopenharmony_ci   */
18961847f8eSopenharmony_ci  function write(data: number[], callback: AsyncCallback<void>): void;
19061847f8eSopenharmony_ci
19161847f8eSopenharmony_ci  /**
19261847f8eSopenharmony_ci   * Subscribes NFC RF status change events.
19361847f8eSopenharmony_ci   *
19461847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
19561847f8eSopenharmony_ci   * @param {'notify'} type The callback type. 
19661847f8eSopenharmony_ci   * @param { Callback<number> } callback The callback function to be registered.
19761847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
19861847f8eSopenharmony_ci   * @since 8
19961847f8eSopenharmony_ci   */
20061847f8eSopenharmony_ci  function on(type: 'notify', callback: Callback<number>): void;
20161847f8eSopenharmony_ci
20261847f8eSopenharmony_ci  /**
20361847f8eSopenharmony_ci   * Unsubscribes NFC RF status change events.
20461847f8eSopenharmony_ci   * <p>All callback functions will be unregistered If there is no specific callback parameter.</p>
20561847f8eSopenharmony_ci   *
20661847f8eSopenharmony_ci   * @permission ohos.permission.NFC_TAG
20761847f8eSopenharmony_ci   * @param { 'notify' } type The callback type.
20861847f8eSopenharmony_ci   * @param { Callback<number> } callback The callback function to be unregistered.
20961847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
21061847f8eSopenharmony_ci   * @since 8
21161847f8eSopenharmony_ci   */
21261847f8eSopenharmony_ci  function off(type: 'notify', callback?: Callback<number>): void;
21361847f8eSopenharmony_ci
21461847f8eSopenharmony_ci  /**
21561847f8eSopenharmony_ci   * Describes the NFC RF type.
21661847f8eSopenharmony_ci   *
21761847f8eSopenharmony_ci   * @enum { number }
21861847f8eSopenharmony_ci   * @syscap SystemCapability.Communication.ConnectedTag
21961847f8eSopenharmony_ci   * @since 8
22061847f8eSopenharmony_ci   */
22161847f8eSopenharmony_ci  enum NfcRfType {
22261847f8eSopenharmony_ci    /**
22361847f8eSopenharmony_ci     * NFC RF LEAVE
22461847f8eSopenharmony_ci     *
22561847f8eSopenharmony_ci     * @syscap SystemCapability.Communication.ConnectedTag
22661847f8eSopenharmony_ci     * @since 8
22761847f8eSopenharmony_ci     */
22861847f8eSopenharmony_ci    NFC_RF_LEAVE = 0,
22961847f8eSopenharmony_ci
23061847f8eSopenharmony_ci    /**
23161847f8eSopenharmony_ci     * NFC RF ENTER
23261847f8eSopenharmony_ci     *
23361847f8eSopenharmony_ci     * @syscap SystemCapability.Communication.ConnectedTag
23461847f8eSopenharmony_ci     * @since 8
23561847f8eSopenharmony_ci     */
23661847f8eSopenharmony_ci    NFC_RF_ENTER = 1
23761847f8eSopenharmony_ci  }
23861847f8eSopenharmony_ci}
23961847f8eSopenharmony_ci
24061847f8eSopenharmony_ciexport default connectedTag;
241