663 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
		
		
			
		
	
	
			663 lines
		
	
	
		
			20 KiB
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
|  | /* | ||
|  |  * Copyright (c) 2020-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'; | ||
|  | 
 | ||
|  | /** | ||
|  |  * Providers interfaces to create a {@link deviceManager} instances. | ||
|  |  * | ||
|  |  * @since 7 | ||
|  |  * @syscap SystemCapability.DistributedHardware.DeviceManager | ||
|  |  *  | ||
|  |  */ | ||
|  | declare namespace deviceManager { | ||
|  |   /** | ||
|  |    * DeviceInfo | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   interface DeviceInfo { | ||
|  |     /** | ||
|  |      * DeviceId ID. | ||
|  |      */ | ||
|  |     deviceId: string; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Device name of the device. | ||
|  |      */ | ||
|  |     deviceName: string; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Device type of the device. | ||
|  |      */ | ||
|  |     deviceType: DeviceType; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * NetworkId of the device. | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      */ | ||
|  |     networkId: string; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * @since 9 | ||
|  |      * The distance of discovered device, in centimeter(cm). | ||
|  |      */ | ||
|  |     range: number; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Device Type definitions | ||
|  |    *  | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   enum DeviceType { | ||
|  |     /** | ||
|  |      * Indicates an unknown device type. | ||
|  |      */ | ||
|  |     UNKNOWN_TYPE = 0, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Indicates a speaker. | ||
|  |      */ | ||
|  |     SPEAKER = 0x0A, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Indicates a smartphone. | ||
|  |      */ | ||
|  |     PHONE = 0x0E, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Indicates a tablet. | ||
|  |      */ | ||
|  |     TABLET = 0x11, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Indicates a smart watch. | ||
|  |      */ | ||
|  |     WEARABLE = 0x6D, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Indicates a car. | ||
|  |      */ | ||
|  |     CAR = 0x83, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Indicates a smart TV. | ||
|  |      */ | ||
|  |     TV = 0x9C | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Device state change event definition | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   enum DeviceStateChangeAction { | ||
|  |     /** | ||
|  |      * Device online action, which indicates the device is physically online | ||
|  |      */ | ||
|  |     ONLINE = 0, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Device ready action, which indicates the information between devices has been synchronized in the Distributed Data Service (DDS) module, | ||
|  |      * and the device is ready for running distributed services | ||
|  |      */ | ||
|  |     READY = 1, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Device offline action, which Indicates the device is physically offline | ||
|  |      */ | ||
|  |     OFFLINE = 2, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Device change action | ||
|  |      */ | ||
|  |     CHANGE = 3 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Service subscribe info for device discover | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   interface SubscribeInfo { | ||
|  |     /** | ||
|  |      * Service subscribe ID, the value is in scope [0, 65535], should be unique for each discover process | ||
|  |      */ | ||
|  |     subscribeId: number; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Discovery mode for service subscription. | ||
|  |      */ | ||
|  |     mode: DiscoverMode; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Service subscription medium. | ||
|  |      */ | ||
|  |     medium: ExchangeMedium; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Service subscription frequency. | ||
|  |      */ | ||
|  |     freq: ExchangeFreq; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * only find the device with the same account. | ||
|  |      */ | ||
|  |     isSameAccount: boolean; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * find the sleeping devices. | ||
|  |      */ | ||
|  |     isWakeRemote: boolean; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Subscribe capability. | ||
|  |      */ | ||
|  |     capability: SubscribeCap; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Service publish info for device discover | ||
|  |    * @since 9 | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   interface PublishInfo { | ||
|  |     /** | ||
|  |      * Service publish ID, the value is in scope [0, 65535], should be unique for each publish process | ||
|  |      */ | ||
|  |     publishId: number; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Discovery mode for service subscription. | ||
|  |      */ | ||
|  |     mode: DiscoverMode; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Service subscription frequency. | ||
|  |      */ | ||
|  |     freq: ExchangeFreq; | ||
|  | 
 | ||
|  |     /** | ||
|  |      *  Whether the device should be ranged by discoverer. | ||
|  |      */ | ||
|  |     ranging : boolean; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * device discover mode | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   enum DiscoverMode { | ||
|  |     /** | ||
|  |      * when using this key at client side, it means discovering for available nearby devices by  | ||
|  |      * calling @startDeviceDiscovery function, while using this key at server side indicating that | ||
|  |      * a device publication or advertisement by calling @publishDeviceDiscovery. | ||
|  |      */ | ||
|  |     DISCOVER_MODE_PASSIVE = 0x55, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * when using this key at server side, it means discovering for available nearby devices by  | ||
|  |      * calling @startDeviceDiscovery function, while using this key at client side indicating that | ||
|  |      * a device publication or advertisement by calling @publishDeviceDiscovery. | ||
|  |      */ | ||
|  |     DISCOVER_MODE_ACTIVE = 0xAA | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * device discover medium | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   enum ExchangeMedium { | ||
|  |     /** | ||
|  |      * Automatic medium selection | ||
|  |      */ | ||
|  |     AUTO = 0, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Bluetooth | ||
|  |      */ | ||
|  |     BLE = 1, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Wi-Fi | ||
|  |      */ | ||
|  |     COAP = 2, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * USB | ||
|  |      */ | ||
|  |     USB = 3 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * device discover freq | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   enum ExchangeFreq { | ||
|  |     /** | ||
|  |      * Low | ||
|  |      */ | ||
|  |     LOW = 0, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Medium | ||
|  |      */ | ||
|  |     MID = 1, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * High | ||
|  |      */ | ||
|  |     HIGH = 2, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Super-high | ||
|  |      */ | ||
|  |     SUPER_HIGH = 3 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * device discover capability | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   enum SubscribeCap { | ||
|  |     /** | ||
|  |      * ddmpCapability, will be discarded later. Currently, it will be converted to OSD capability inner. | ||
|  |      */ | ||
|  |     SUBSCRIBE_CAPABILITY_DDMP = 0, | ||
|  | 
 | ||
|  |     /** | ||
|  |      * One Super Device Capability | ||
|  |      */ | ||
|  |     SUBSCRIBE_CAPABILITY_OSD = 1 | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Device Authentication param | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications | ||
|  |    */ | ||
|  |   interface AuthParam { | ||
|  |     /** | ||
|  |      * Authentication type, 1 for pin code. | ||
|  |      */ | ||
|  |     authType: number; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Authentication extra infos. | ||
|  |      */ | ||
|  |     extraInfo: {[key:string] : any}; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Device auth info. | ||
|  |    * | ||
|  |    * @systemapi this method can be used only by system applications | ||
|  |    */ | ||
|  |   interface AuthInfo { | ||
|  |     /** | ||
|  |      * Authentication type, 1 for pin code. | ||
|  |      */ | ||
|  |     authType: number; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * the token used for this authentication. | ||
|  |      */ | ||
|  |     token: number; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Authentication extra infos. | ||
|  |      */ | ||
|  |     extraInfo: {[key:string] : any}; | ||
|  |   } | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Creates a {@code DeviceManager} instance. | ||
|  |    * | ||
|  |    * <p>To manage devices, you must first call this method to obtain a {@code DeviceManager} instance and then | ||
|  |    * use this instance to call other device management methods. | ||
|  |    * | ||
|  |    * @param bundleName Indicates the bundle name of the application. | ||
|  |    * @param callback Indicates the callback to be invoked upon {@code DeviceManager} instance creation. | ||
|  |    * @throws {BusinessError} 401 - Input parameter error. | ||
|  |    * @systemapi this method can be used only by system applications. | ||
|  |    */ | ||
|  |   function createDeviceManager(bundleName: string, callback: AsyncCallback<DeviceManager>): void; | ||
|  | 
 | ||
|  |   /** | ||
|  |    * Provides methods for managing devices. | ||
|  |    */ | ||
|  |   interface DeviceManager { | ||
|  |     /** | ||
|  |      * Releases the {@code DeviceManager} instance after the methods for device management are no longer used. | ||
|  |      * | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     release(): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Obtains a list of trusted devices. | ||
|  |      * | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @returns Returns a list of trusted devices. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     getTrustedDeviceListSync(): Array<DeviceInfo>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Obtains a list of trusted devices. | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @param callback Indicates the callback to be invoked upon getTrustedDeviceList | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @returns Returns a list of trusted devices. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     getTrustedDeviceList(callback:AsyncCallback<Array<DeviceInfo>>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Obtains a list of trusted devices. | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @returns Returns a list of trusted devices. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     getTrustedDeviceList(): Promise<Array<DeviceInfo>>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Obtains local device info | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @returns Returns local device info. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     getLocalDeviceInfoSync(): DeviceInfo; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Obtains local device info | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @param callback Indicates the callback to be invoked upon getLocalDeviceInfo | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @returns Returns local device info. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     getLocalDeviceInfo(callback:AsyncCallback<DeviceInfo>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Obtains local device info | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @returns Returns local device info. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     getLocalDeviceInfo(): Promise<DeviceInfo>; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Start to discover device. | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @param subscribeInfo subscribe info to discovery device | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 201 - Permission verify failed. | ||
|  |      * @throws {BusinessError} 11600104 - Discovery invalid. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     startDeviceDiscovery(subscribeInfo: SubscribeInfo): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Start to discover device. | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param subscribeInfo subscribe info to discovery device | ||
|  |      * @param filterOptions filterOptions to filter discovery device | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 201 - Permission verify failed. | ||
|  |      * @throws {BusinessError} 11600104 - Discovery invalid. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     startDeviceDiscovery(subscribeInfo: SubscribeInfo, filterOptions?: string): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Stop to discover device. | ||
|  |      * | ||
|  |      * @param subscribeId Service subscribe ID | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 201 - Permission verify failed. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     stopDeviceDiscovery(subscribeId: number): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Publish discover device. | ||
|  |      * @since 9 | ||
|  |      * @param publishInfo publish info to Publish discovery device | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 201 - Permission verify failed. | ||
|  |      * @throws {BusinessError} 11600105 - Publish invalid. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     publishDeviceDiscovery(publishInfo: PublishInfo): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnPublish discover device. | ||
|  |      * @since 9 | ||
|  |      * @param publishId Service publish ID, identify a publish operation, should be a unique id in package range | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 201 - Permission verify failed. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     unPublishDeviceDiscovery(publishId: number): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Authenticate the specified device. | ||
|  |      * | ||
|  |      * @param deviceInfo deviceInfo of device to authenticate | ||
|  |      * @param authParam authParam of device to authenticate | ||
|  |      * @param callback Indicates the callback to be invoked upon authenticateDevice | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     authenticateDevice(deviceInfo: DeviceInfo, authParam: AuthParam, callback: AsyncCallback<{deviceId: string, pinToken ?: number}>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * unAuthenticate the specified device. | ||
|  |      * | ||
|  |      * @since 8 | ||
|  |      * @param deviceInfo deviceInfo of device to unAuthenticate | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @throws {BusinessError} 201 - Permission verify failed. | ||
|  |      * @throws {BusinessError} 11600101 - Failed to execute the function. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     unAuthenticateDevice(deviceInfo: DeviceInfo): void | ||
|  | 
 | ||
|  |      /** | ||
|  |      * verify auth info, such as pin code. | ||
|  |      * | ||
|  |      * @param authInfo device auth info o verify | ||
|  |      * @param callback Indicates the callback to be invoked upon verifyAuthInfo | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     verifyAuthInfo(authInfo: AuthInfo, callback: AsyncCallback<{deviceId: string, level: number}>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Set user Operation from devicemanager Sea, this interface can only be used by devicemanager Sea. | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param operateAction User Operation Actions. | ||
|  |      * @param params Indicates the input param of the user. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */   | ||
|  |     setUserOperation(operateAction: number, params: string): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a callback from deviceManager service so that the devicemanager ui can be notified when ui statue | ||
|  |      * changes. | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param callback Indicates the devicemanager ui state to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     on(type: 'uiStateChange', callback: Callback<{ param: string}>): void; | ||
|  | 
 | ||
|  |      /** | ||
|  |       * Unregister uiStatueChange, this interface can only be used by devicemanager ui. | ||
|  |       * | ||
|  |       * @since 9 | ||
|  |       * @param callback Indicates the devicemanager ui state to unregister. | ||
|  |       * @throws {BusinessError} 401 - Input parameter error. | ||
|  |       * @systemapi this method can be used only by system applications. | ||
|  |       */ | ||
|  |     off(type: 'uiStateChange', callback?: Callback<{ param: string}>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a device state callback so that the application can be notified upon device state changes based on | ||
|  |      * the application bundle name. | ||
|  |      * | ||
|  |      * @param bundleName Indicates the bundle name of the application. | ||
|  |      * @param callback Indicates the device state callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     on(type: 'deviceStateChange', callback: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnRegister device state callback based on the application bundle name. | ||
|  |      * | ||
|  |      * @param bundleName Indicates the bundle name of the application. | ||
|  |      * @param callback Indicates the device state callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     off(type: 'deviceStateChange', callback?: Callback<{ action: DeviceStateChangeAction, device: DeviceInfo }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a device found callback so that the application can be notified when the device was found | ||
|  |      * | ||
|  |      * @param callback Indicates the device found callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     on(type: 'deviceFound', callback: Callback<{ subscribeId: number, device: DeviceInfo }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnRegister a device found callback so that the application can be notified when the device was found | ||
|  |      * | ||
|  |      * @param callback Indicates the device found callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     off(type: 'deviceFound', callback?: Callback<{ subscribeId: number, device: DeviceInfo }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a device found result callback so that the application can be notified when the device discover was failed | ||
|  |      * | ||
|  |      * @param callback Indicates the device found result callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     on(type: 'discoverFail', callback: Callback<{ subscribeId: number, reason: number }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnRegister a device found result callback so that the application can be notified when the device discover was failed | ||
|  |      * | ||
|  |      * @param callback Indicates the device found result callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     off(type: 'discoverFail', callback?: Callback<{ subscribeId: number, reason: number }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a device publish result callback so that the application can be notified when the device publish success | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param callback Indicates the device publish result callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |      on(type: 'publishSuccess', callback: Callback<{ publishId: number }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnRegister a device publish result callback so that the application can be notified when the device publish was failed | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param callback Indicates the device publish result callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |      off(type: 'publishSuccess', callback?: Callback<{ publishId: number }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a device publish result callback so that the application can be notified when the device publish was failed | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param callback Indicates the device publish result callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |      on(type: 'publishFail', callback: Callback<{ publishId: number, reason: number }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnRegister a device publish result callback so that the application can be notified when the device publish was failed | ||
|  |      * | ||
|  |      * @since 9 | ||
|  |      * @param callback Indicates the device publish result callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |      off(type: 'publishFail', callback?: Callback<{ publishId: number, reason: number }>): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * Register a serviceError callback so that the application can be notified when devicemanager service died | ||
|  |      * | ||
|  |      * @param callback Indicates the service error callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     on(type: 'serviceDie', callback: () => void): void; | ||
|  | 
 | ||
|  |     /** | ||
|  |      * UnRegister a serviceError callback so that the application can be notified when devicemanager service died | ||
|  |      * | ||
|  |      * @param callback Indicates the service error callback to register. | ||
|  |      * @throws {BusinessError} 401 - Input parameter error. | ||
|  |      * @systemapi this method can be used only by system applications. | ||
|  |      */ | ||
|  |     off(type: 'serviceDie', callback?: () => void): void; | ||
|  |   } | ||
|  | } | ||
|  | 
 | ||
|  | export default deviceManager; |