UNPKG

react-native-wifi-p2p

Version:

Module for working with wifi direct (p2p) API module in android.

89 lines (80 loc) 3.71 kB
import type { EmitterSubscription } from 'react-native' export interface Device { deviceAddress: string deviceName: string isGroupOwner: boolean primaryDeviceType: string | null secondaryDeviceType: string | null status: number } export interface ConnectionArgs { deviceAddress: string groupOwnerIntent?: number } export interface GroupInfo { interface: string networkName: string passphrase: string owner: { deviceAddress: string deviceName: string primaryDeviceType: string | null secondaryDeviceType: string | null status: number } } export interface WifiP2pInfo { groupOwnerAddress: { hostAddress: string isLoopbackAddress: boolean } | null groupFormed: boolean isGroupOwner: boolean } export const PEERS_UPDATED_ACTION: string export const CONNECTION_INFO_UPDATED_ACTION: string export const THIS_DEVICE_CHANGED_ACTION: string // public methods export const initialize: () => Promise<boolean> export const startDiscoveringPeers: () => Promise<string> export const stopDiscoveringPeers: () => Promise<void> export const subscribeOnThisDeviceChanged: (callback: (data: GroupInfo) => void) => EmitterSubscription /** * @deprecated since RN 0.65 because of favour to new API. * @see https://github.com/kirillzyusko/react-native-wifi-p2p/releases/tag/3.3.0 for migration process. */ export const unsubscribeFromThisDeviceChanged: (callback: (data: GroupInfo) => void) => void export const subscribeOnPeersUpdates: (callback: (data: {devices: Device[]}) => void) => EmitterSubscription /** * @deprecated since RN 0.65 because of favour to new API. * @see https://github.com/kirillzyusko/react-native-wifi-p2p/releases/tag/3.3.0 for migration process. */ export const unsubscribeFromPeersUpdates: (callback: (data: {devices: Device[]}) => void) => void export const subscribeOnConnectionInfoUpdates: (callback: (data: WifiP2pInfo) => void) => EmitterSubscription /** * @deprecated since RN 0.65 because of favour to new API. * @see https://github.com/kirillzyusko/react-native-wifi-p2p/releases/tag/3.3.0 for migration process. */ export const unsubscribeFromConnectionInfoUpdates: (callback: (data: WifiP2pInfo) => void) => void export const getAvailablePeers: () => Promise<{devices: Device[]}> export const connect: (deviceAddress: string) => Promise<void> export const connectWithConfig: (config: ConnectionArgs) => Promise<void> export const cancelConnect: () => Promise<void> export const createGroup: () => Promise<void> export const removeGroup: () => Promise<void> export const getConnectionInfo: () => Promise<WifiP2pInfo> export const getGroupInfo: () => Promise<GroupInfo> export const sendFile: (pathToFile: string) => Promise<{ time: number, file: string }> export const sendFileTo: (pathToFile: string, address: string) => Promise<{ time: number, file: string }> export const receiveFile: (folder: string, fileName: string, forceToScanGallery?: boolean) => Promise<string> export const sendMessage: (message: string) => Promise<{ time: number, message: string }> export const sendMessageTo: (message: string, address: string) => Promise<{ time: number, message: string }> export const receiveMessage: (props: { meta: boolean }) => Promise<string> export const stopReceivingMessage: () => void // system methods export const subscribeOnEvent: (event: string, callback: Function) => EmitterSubscription /** * @deprecated since RN 0.65 because of favour to new API. * @see https://github.com/kirillzyusko/react-native-wifi-p2p/releases/tag/3.3.0 for migration process. */ export const unsubscribeFromEvent: (event: string, callback: Function) => void