UNPKG

react-native-ble-manager

Version:
243 lines (242 loc) 10.4 kB
import { TurboModule } from 'react-native'; import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes'; /** * This represents the Turbo Module version of react-native-ble-manager. * This adds the codegen definition to react-native generate the c++ bindings on compile time. * That should work only on 0.75 and higher. * Don't remove it! and please modify with caution! Knowing that can create wrong bindings into jsi and break at compile or execution time. * - Knowing that also every type needs to match the current Objective C++ and Java callbacks types and callbacks type definitions and be aware of the current differences between implementation in both platforms. */ export interface Spec extends TurboModule { start(options: Object, callback: (error: CallbackError) => void): void; scan(serviceUUIDStrings: string[], timeoutSeconds: number, allowDuplicates: boolean, scanningOptions: Object, callback: (error: CallbackError) => void): void; stopScan(callback: (error: CallbackError) => void): void; connect(peripheralUUID: string, options: Object, callback: (error: CallbackError) => void): void; disconnect(peripheralUUID: string, force: boolean, callback: (error: CallbackError) => void): void; retrieveServices(peripheralUUID: string, services: string[], callback: (error: CallbackError, peripheral: PeripheralInfo) => void): void; readRSSI(peripheralUUID: string, callback: (error: string | null, rssi: number) => void): void; readDescriptor(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, descriptorUUID: string, callback: (error: string | null, data: number[]) => void): void; writeDescriptor(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, descriptorUUID: string, data: object[], callback: (error: string | null) => void): void; getDiscoveredPeripherals(callback: (error: string | null, result: Peripheral[] | null) => void): void; checkState(callback: (state: BleState) => void): void; write(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, message: object[], maxByteSize: number, callback: (error: string | null) => void): void; writeWithoutResponse(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, message: object[], maxByteSize: number, queueSleepTime: number, callback: (error: string | null) => void): void; read(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, callback: (error: string | null, data: number[]) => void): void; startNotificationWithBuffer(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, bufferLength: number, callback: (error: string | null) => void): void; startNotification(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, callback: (error: string | null) => void): void; stopNotification(peripheralUUID: string, serviceUUID: string, characteristicUUID: string, callback: (error: string | null) => void): void; getConnectedPeripherals(serviceUUIDStrings: string[], callback: (error: string | null, result: Peripheral[] | null) => void): void; isPeripheralConnected(peripheralUUID: string, callback: (error: Peripheral[]) => void): void; isScanning(callback: (error: string | null, status: boolean) => void): void; getMaximumWriteValueLengthForWithoutResponse(peripheralUUID: string, callback: (error: string | null, max: number) => void): void; getMaximumWriteValueLengthForWithResponse(deviceUUID: string, callback: (error: string | null, max: number) => void): void; enableBluetooth(callback: (error: string | null) => void): void; getBondedPeripherals(callback: (error: string | null, result: Peripheral[] | null) => void): void; createBond(peripheralUUID: string, devicePin: string, callback: (error: string | null) => void): void; removeBond(peripheralUUID: string, callback: (error: string | null) => void): void; removePeripheral(peripheralUUID: string, callback: (error: string | null) => void): void; requestMTU(peripheralUUID: string, mtu: number, callback: (error: string | null, mtu: number) => void): void; requestConnectionPriority(peripheralUUID: string, connectionPriority: number, callback: (error: string | null, status: boolean) => void): void; refreshCache(peripheralUUID: string, callback: (error: string | null, result: boolean) => void): void; setName(name: string): void; getAssociatedPeripherals(callback: (error: string | null, peripherals: Peripheral[] | null) => void): void; removeAssociatedPeripheral(peripheralUUID: string, callback: (error: string | null) => void): void; supportsCompanion(callback: (supports: boolean) => void): void; companionScan(serviceUUIDs: string[], option: Object, callback: (error: string | null, peripheral: Peripheral | null) => void): void; /** * Supported events. */ readonly onDiscoverPeripheral: EventEmitter<Peripheral>; readonly onStopScan: EventEmitter<EventStopScan>; readonly onDidUpdateState: EventEmitter<EventDidUpdateState>; readonly onDidUpdateValueForCharacteristic: EventEmitter<EventDidUpdateValueForCharacteristic>; readonly onConnectPeripheral: EventEmitter<EventConnectPeripheral>; readonly onDisconnectPeripheral: EventEmitter<EventDisconnectPeripheral>; readonly onPeripheralDidBond: EventEmitter<EventPeripheralDidBond>; readonly onCentralManagerWillRestoreState: EventEmitter<EventCentralManagerWillRestoreState>; readonly onDidUpdateNotificationStateFor: EventEmitter<EventDidUpdateNotificationStateFor>; readonly onCompanionPeripheral: EventEmitter<EventCompanionPeripheral>; readonly onCompanionFailure: EventEmitter<EventCompanionFailure>; } declare const _default: Spec; export default _default; /** Turbo Module Type Definitions */ export type BleScanCallbackType = number; export type BleScanMatchCount = number; export type BleScanMatchMode = number; export type BleScanMode = number; export type BleScanPhyMode = number; export type CallbackError = string | null; export type BleState = string; export type Peripheral = { id: string; rssi: number; name: string | null; advertising: { isConnectable?: boolean; localName?: string | null; rawData?: { CDVType: number[]; bytes: number[]; data: string; }; manufacturerData?: { CDVType: number[]; bytes: number[]; data: string; }[] | null; manufacturerRawData?: { CDVType: number[]; bytes: number[]; data: string; } | null; serviceData?: { CDVType: number[]; bytes: number[]; data: string; }[] | null; serviceUUIDs?: string[]; txPowerLevel?: number; }; }; export type PeripheralInfo = { id: string; rssi: number; name: string | null; advertising: { isConnectable?: boolean; localName?: string | null; rawData?: { CDVType: number[]; bytes: number[]; data: string; } | null; manufacturerData?: { CDVType: number[]; bytes: number[]; data: string; }[] | null; manufacturerRawData?: { CDVType: number[]; bytes: number[]; data: string; } | null; serviceData?: { CDVType: number[]; bytes: number[]; data: string; }[] | null; serviceUUIDs?: string[]; txPowerLevel?: number; }; serviceUUIDs?: string[]; characteristics?: { properties: { Broadcast?: string; Read?: string; WriteWithoutResponse?: string; Write?: string; Notify?: string; Indicate?: string; AuthenticatedSignedWrites?: string; ExtendedProperties?: string; NotifyEncryptionRequired?: string; IndicateEncryptionRequired?: string; }; characteristic: string; service: string; descriptors?: { value: string; uuid: string; }[]; }[]; services?: { uuid: string; }[]; }; export type EventStopScan = { status: number; }; export type EventDidUpdateState = { state: string; }; export type EventDiscoverPeripheral = { id: string; name: string; rssi: number; advertising: { isConnectable: boolean; serviceUUIDs: string[]; manufacturerData: number[]; serviceData: number[]; txPowerLevel: number; rawData?: number | null; }; }; export type EventDidUpdateValueForCharacteristic = { value: number[]; peripheral: string; characteristic: string; service: string; }; export type EventConnectPeripheral = { peripheral: string; status?: number | null; }; export type EventDisconnectPeripheral = { peripheral: string; status?: number | null; domain?: string | null; code?: number | null; }; export type EventPeripheralDidBond = { id: string; name: string; rssi: number; advertising: { isConnectable: boolean; serviceUUIDs: string[]; manufacturerData: number[]; serviceData: number[]; txPowerLevel: number; rawData?: number | null; }; }; export type EventCentralManagerWillRestoreState = { peripherals: { id: string; name: string; rssi: number; advertising: { isConnectable: boolean; serviceUUIDs: string[]; manufacturerData: number[]; serviceData: number[]; txPowerLevel: number; rawData?: number | null; }; }[]; }; export type EventDidUpdateNotificationStateFor = { peripheral: string; characteristic: string; isNotifying: boolean; domain?: string | null; code?: number | null; }; export type EventCompanionPeripheral = { id: string; name: string; rssi: number; advertising: { isConnectable: boolean; serviceUUIDs: string[]; manufacturerData: number[]; serviceData: number[]; txPowerLevel: number; rawData?: number | null; }; }; export type EventCompanionFailure = { error: string; };