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;
 |