interface_sdk-js/api/@ohos.nfc.controller.d.ts
wujie 83599cb72d Add atomicservice for nfc apis
Signed-off-by: knpingan <zhangxiuping@huawei.com>
2024-02-20 15:26:13 +08:00

257 lines
7.3 KiB
TypeScript

/*
* Copyright (c) 2021-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.
*/
/**
* @file
* @kit ConnectivityKit
*/
import { Callback } from './@ohos.base';
/**
* Provides methods to operate or manage NFC.
*
* @namespace nfcController
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Provides methods to operate or manage NFC.
*
* @namespace nfcController
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
declare namespace nfcController {
/**
* NFC changed states.
*
* @enum { number }
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* NFC changed states.
*
* @enum { number }
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
enum NfcState {
/**
* Indicates that NFC is disabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Indicates that NFC is disabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
STATE_OFF = 1,
/**
* Indicates that NFC is being enabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Indicates that NFC is being enabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
STATE_TURNING_ON = 2,
/**
* Indicates that NFC is enabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Indicates that NFC is enabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
STATE_ON = 3,
/**
* Indicates that NFC is being disabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Indicates that NFC is being disabled.
*
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
STATE_TURNING_OFF = 4
}
/**
* Checks whether a device supports NFC.
*
* @returns { boolean } Returns {@code true} if the device supports NFC; returns {@code false} otherwise.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
* @deprecated since 9
* @useinstead global#canIUse("SystemCapability.Communication.NFC.Core")
*/
function isNfcAvailable(): boolean;
/**
* register nfc state changed event.
*
* @param { 'nfcStateChange' } type The type to register.
* @param { Callback<NfcState> } callback Callback used to listen to the nfc state changed event.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* register nfc state changed event.
*
* @param { 'nfcStateChange' } type The type to register.
* @param { Callback<NfcState> } callback Callback used to listen to the nfc state changed event.
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
function on(type: 'nfcStateChange', callback: Callback<NfcState>): void;
/**
* unregister nfc state changed event.
*
* @param { 'nfcStateChange' } type The type to unregister.
* @param { Callback<NfcState> } callback Callback used to listen to the nfc state changed event.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* unregister nfc state changed event.
*
* @param { 'nfcStateChange' } type The type to unregister.
* @param { Callback<NfcState> } callback Callback used to listen to the nfc state changed event.
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
function off(type: 'nfcStateChange', callback?: Callback<NfcState>): void;
/**
* Enables NFC.
*
* @permission ohos.permission.MANAGE_SECURE_SETTINGS
* @returns { boolean } Returns {@code true} if NFC is enabled or has been enabled; returns {@code false} otherwise.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
* @deprecated since 9
* @useinstead @ohos.nfc.controller.nfcController#enableNfc
*/
function openNfc(): boolean;
/**
* Enables NFC.
*
* @permission ohos.permission.MANAGE_SECURE_SETTINGS
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 3100101 - NFC state is abnormal in service.
* @syscap SystemCapability.Communication.NFC.Core
* @since 9
*/
function enableNfc(): void;
/**
* Disables NFC.
*
* @permission ohos.permission.MANAGE_SECURE_SETTINGS
* @returns { boolean } Returns {@code true} if NFC is disabled or has been disabled; returns {@code false} otherwise.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
* @deprecated since 9
* @useinstead @ohos.nfc.controller.nfcController#disableNfc
*/
function closeNfc(): boolean;
/**
* Disables NFC.
*
* @permission ohos.permission.MANAGE_SECURE_SETTINGS
* @throws { BusinessError } 201 - Permission denied.
* @throws { BusinessError } 801 - Capability not supported.
* @throws { BusinessError } 3100101 - NFC state is abnormal in service.
* @syscap SystemCapability.Communication.NFC.Core
* @since 9
*/
function disableNfc(): void;
/**
* Checks whether NFC is enabled.
*
* @returns { boolean } Returns {@code true} if NFC is enabled; returns {@code false} otherwise.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Checks whether NFC is enabled.
*
* @returns { boolean } Returns {@code true} if NFC is enabled; returns {@code false} otherwise.
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
function isNfcOpen(): boolean;
/**
* Obtains the NFC status.
* <p>The NFC status can be any of the following: <ul><li>{@link #STATE_OFF}: Indicates that NFC
* is disabled. <li>{@link #STATE_TURNING_ON}: Indicates that NFC is being enabled.
* <li>{@link #STATE_ON}: Indicates that NFC is enabled. <li>{@link #STATE_TURNING_OFF}: Indicates
* that NFC is being disabled.</ul>
*
* @returns { NfcState } Returns the NFC status.
* @syscap SystemCapability.Communication.NFC.Core
* @since 7
*/
/**
* Obtains the NFC status.
* <p>The NFC status can be any of the following: <ul><li>{@link #STATE_OFF}: Indicates that NFC
* is disabled. <li>{@link #STATE_TURNING_ON}: Indicates that NFC is being enabled.
* <li>{@link #STATE_ON}: Indicates that NFC is enabled. <li>{@link #STATE_TURNING_OFF}: Indicates
* that NFC is being disabled.</ul>
*
* @returns { NfcState } Returns the NFC status.
* @syscap SystemCapability.Communication.NFC.Core
* @atomicservice
* @since 12
*/
function getNfcState(): NfcState;
}
export default nfcController;