munim-wifi 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/MunimWifi.podspec +31 -0
- package/README.md +591 -0
- package/android/CMakeLists.txt +32 -0
- package/android/build.gradle +148 -0
- package/android/fix-prefab.gradle +51 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +6 -0
- package/android/src/main/cpp/cpp-adapter.cpp +6 -0
- package/android/src/main/java/com/munimwifi/HybridMunimWifi.kt +283 -0
- package/android/src/main/java/com/munimwifi/MunimWifiPackage.kt +20 -0
- package/ios/Bridge.h +8 -0
- package/ios/HybridMunimWifi.swift +222 -0
- package/lib/commonjs/index.js +216 -0
- package/lib/commonjs/index.js.map +1 -0
- package/lib/commonjs/package.json +1 -0
- package/lib/commonjs/specs/munim-wifi.nitro.js +6 -0
- package/lib/commonjs/specs/munim-wifi.nitro.js.map +1 -0
- package/lib/module/index.js +198 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/specs/munim-wifi.nitro.js +4 -0
- package/lib/module/specs/munim-wifi.nitro.js.map +1 -0
- package/lib/typescript/src/index.d.ts +120 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/specs/munim-wifi.nitro.d.ts +118 -0
- package/lib/typescript/src/specs/munim-wifi.nitro.d.ts.map +1 -0
- package/nitro.json +24 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/MunimWifi+autolinking.cmake +85 -0
- package/nitrogen/generated/android/MunimWifi+autolinking.gradle +27 -0
- package/nitrogen/generated/android/MunimWifiOnLoad.cpp +44 -0
- package/nitrogen/generated/android/MunimWifiOnLoad.hpp +25 -0
- package/nitrogen/generated/android/c++/JChannelInfo.hpp +61 -0
- package/nitrogen/generated/android/c++/JHybridMunimWifiSpec.cpp +262 -0
- package/nitrogen/generated/android/c++/JHybridMunimWifiSpec.hpp +78 -0
- package/nitrogen/generated/android/c++/JLocation.hpp +61 -0
- package/nitrogen/generated/android/c++/JScanOptions.hpp +61 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_ChannelInfo.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_ChannelInfo.hpp +71 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Double.hpp +69 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_String.hpp +70 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_WifiNetwork.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_WifiNetwork.hpp +73 -0
- package/nitrogen/generated/android/c++/JWifiFingerprint.hpp +89 -0
- package/nitrogen/generated/android/c++/JWifiNetwork.hpp +86 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/ChannelInfo.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/HybridMunimWifiSpec.kt +107 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Location.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/MunimWifiOnLoad.kt +35 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/ScanOptions.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_ChannelInfo.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_Double.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_String.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/Variant_NullType_WifiNetwork.kt +59 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/WifiFingerprint.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/munimwifi/WifiNetwork.kt +59 -0
- package/nitrogen/generated/ios/MunimWifi+autolinking.rb +60 -0
- package/nitrogen/generated/ios/MunimWifi-Swift-Cxx-Bridge.cpp +105 -0
- package/nitrogen/generated/ios/MunimWifi-Swift-Cxx-Bridge.hpp +653 -0
- package/nitrogen/generated/ios/MunimWifi-Swift-Cxx-Umbrella.hpp +64 -0
- package/nitrogen/generated/ios/MunimWifiAutolinking.mm +33 -0
- package/nitrogen/generated/ios/MunimWifiAutolinking.swift +26 -0
- package/nitrogen/generated/ios/c++/HybridMunimWifiSpecSwift.cpp +11 -0
- package/nitrogen/generated/ios/c++/HybridMunimWifiSpecSwift.hpp +189 -0
- package/nitrogen/generated/ios/swift/ChannelInfo.swift +35 -0
- package/nitrogen/generated/ios/swift/Func_void_WifiFingerprint.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_bool.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__exception_ptr.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__ChannelInfo_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__WifiNetwork_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__double_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__variant_nitro__NullType__std__string_.swift +59 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_WifiNetwork_.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_std__vector_std__string_.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridMunimWifiSpec.swift +68 -0
- package/nitrogen/generated/ios/swift/HybridMunimWifiSpec_cxx.swift +382 -0
- package/nitrogen/generated/ios/swift/Location.swift +47 -0
- package/nitrogen/generated/ios/swift/ScanOptions.swift +47 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_ChannelInfo.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_Double.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_String.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_WifiNetwork.swift +18 -0
- package/nitrogen/generated/ios/swift/WifiFingerprint.swift +52 -0
- package/nitrogen/generated/ios/swift/WifiNetwork.swift +103 -0
- package/nitrogen/generated/shared/c++/ChannelInfo.hpp +87 -0
- package/nitrogen/generated/shared/c++/HybridMunimWifiSpec.cpp +33 -0
- package/nitrogen/generated/shared/c++/HybridMunimWifiSpec.hpp +90 -0
- package/nitrogen/generated/shared/c++/Location.hpp +87 -0
- package/nitrogen/generated/shared/c++/ScanOptions.hpp +87 -0
- package/nitrogen/generated/shared/c++/WifiFingerprint.hpp +97 -0
- package/nitrogen/generated/shared/c++/WifiNetwork.hpp +112 -0
- package/package.json +122 -0
- package/src/index.ts +221 -0
- package/src/specs/munim-wifi.nitro.ts +140 -0
|
@@ -0,0 +1,120 @@
|
|
|
1
|
+
import type { WifiNetwork, WifiFingerprint, ScanOptions, ChannelInfo, Location } from './specs/munim-wifi.nitro';
|
|
2
|
+
/**
|
|
3
|
+
* Check if Wi-Fi is enabled on the device.
|
|
4
|
+
*
|
|
5
|
+
* @returns Promise resolving to true if Wi-Fi is enabled, false otherwise.
|
|
6
|
+
*/
|
|
7
|
+
export declare function isWifiEnabled(): Promise<boolean>;
|
|
8
|
+
/**
|
|
9
|
+
* Request Wi-Fi permissions (Android) or check authorization status (iOS).
|
|
10
|
+
* On Android, this requests location permission which is required for Wi-Fi scanning.
|
|
11
|
+
* On iOS, this checks location authorization status.
|
|
12
|
+
*
|
|
13
|
+
* @returns Promise resolving to true if permissions are granted, false otherwise.
|
|
14
|
+
*/
|
|
15
|
+
export declare function requestWifiPermission(): Promise<boolean>;
|
|
16
|
+
/**
|
|
17
|
+
* Scan for nearby Wi-Fi networks.
|
|
18
|
+
*
|
|
19
|
+
* @param options - Optional scan configuration including max results and timeout.
|
|
20
|
+
* @returns Promise resolving to array of discovered Wi-Fi networks.
|
|
21
|
+
*/
|
|
22
|
+
export declare function scanNetworks(options?: ScanOptions): Promise<WifiNetwork[]>;
|
|
23
|
+
/**
|
|
24
|
+
* Start continuous Wi-Fi scanning. Results will be emitted via events.
|
|
25
|
+
*
|
|
26
|
+
* @param options - Optional scan configuration.
|
|
27
|
+
*/
|
|
28
|
+
export declare function startScan(options?: ScanOptions): void;
|
|
29
|
+
/**
|
|
30
|
+
* Stop continuous Wi-Fi scanning.
|
|
31
|
+
*/
|
|
32
|
+
export declare function stopScan(): void;
|
|
33
|
+
/**
|
|
34
|
+
* Get list of SSIDs (network names) from the last scan.
|
|
35
|
+
*
|
|
36
|
+
* @returns Promise resolving to array of SSID strings.
|
|
37
|
+
*/
|
|
38
|
+
export declare function getSSIDs(): Promise<string[]>;
|
|
39
|
+
/**
|
|
40
|
+
* Get Wi-Fi fingerprint containing all network information.
|
|
41
|
+
* This includes SSIDs, BSSIDs, RSSI, channels, and frequencies.
|
|
42
|
+
*
|
|
43
|
+
* @returns Promise resolving to Wi-Fi fingerprint data.
|
|
44
|
+
*/
|
|
45
|
+
export declare function getWifiFingerprint(): Promise<WifiFingerprint>;
|
|
46
|
+
/**
|
|
47
|
+
* Get RSSI (signal strength) for a specific network by SSID.
|
|
48
|
+
*
|
|
49
|
+
* @param ssid - The SSID of the network.
|
|
50
|
+
* @returns Promise resolving to RSSI value in dBm, or null if network not found.
|
|
51
|
+
*/
|
|
52
|
+
export declare function getRSSI(ssid: string): Promise<number | null>;
|
|
53
|
+
/**
|
|
54
|
+
* Get BSSID (MAC address) for a specific network by SSID.
|
|
55
|
+
*
|
|
56
|
+
* @param ssid - The SSID of the network.
|
|
57
|
+
* @returns Promise resolving to BSSID string, or null if network not found.
|
|
58
|
+
*/
|
|
59
|
+
export declare function getBSSID(ssid: string): Promise<string | null>;
|
|
60
|
+
/**
|
|
61
|
+
* Get channel and frequency information for a specific network by SSID.
|
|
62
|
+
*
|
|
63
|
+
* @param ssid - The SSID of the network.
|
|
64
|
+
* @returns Promise resolving to object with channel and frequency, or null if network not found.
|
|
65
|
+
*/
|
|
66
|
+
export declare function getChannelInfo(ssid: string): Promise<ChannelInfo | null>;
|
|
67
|
+
/**
|
|
68
|
+
* Get all available information for a specific network by SSID.
|
|
69
|
+
*
|
|
70
|
+
* @param ssid - The SSID of the network.
|
|
71
|
+
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
72
|
+
*/
|
|
73
|
+
export declare function getNetworkInfo(ssid: string): Promise<WifiNetwork | null>;
|
|
74
|
+
/**
|
|
75
|
+
* Add a network found event listener (for continuous scanning).
|
|
76
|
+
*
|
|
77
|
+
* @param callback - Function to call when a network is found
|
|
78
|
+
* @returns A function to remove the listener
|
|
79
|
+
*/
|
|
80
|
+
export declare function addNetworkFoundListener(callback: (network: WifiNetwork) => void): () => void;
|
|
81
|
+
/**
|
|
82
|
+
* Add an event listener.
|
|
83
|
+
*
|
|
84
|
+
* @param eventName - The name of the event to listen for.
|
|
85
|
+
* @param callback - The callback to invoke when the event occurs.
|
|
86
|
+
* @returns A function to remove the listener
|
|
87
|
+
*/
|
|
88
|
+
export declare function addEventListener(eventName: string, callback: (data: any) => void): () => void;
|
|
89
|
+
/**
|
|
90
|
+
* Add an event listener (legacy method).
|
|
91
|
+
*
|
|
92
|
+
* @param eventName - The name of the event to listen for.
|
|
93
|
+
*/
|
|
94
|
+
export declare function addListener(eventName: string): void;
|
|
95
|
+
/**
|
|
96
|
+
* Remove event listeners.
|
|
97
|
+
*
|
|
98
|
+
* @param count - Number of listeners to remove.
|
|
99
|
+
*/
|
|
100
|
+
export declare function removeListeners(count: number): void;
|
|
101
|
+
export type { WifiNetwork, WifiFingerprint, ScanOptions, ChannelInfo, Location };
|
|
102
|
+
declare const _default: {
|
|
103
|
+
isWifiEnabled: typeof isWifiEnabled;
|
|
104
|
+
requestWifiPermission: typeof requestWifiPermission;
|
|
105
|
+
scanNetworks: typeof scanNetworks;
|
|
106
|
+
startScan: typeof startScan;
|
|
107
|
+
stopScan: typeof stopScan;
|
|
108
|
+
getSSIDs: typeof getSSIDs;
|
|
109
|
+
getWifiFingerprint: typeof getWifiFingerprint;
|
|
110
|
+
getRSSI: typeof getRSSI;
|
|
111
|
+
getBSSID: typeof getBSSID;
|
|
112
|
+
getChannelInfo: typeof getChannelInfo;
|
|
113
|
+
getNetworkInfo: typeof getNetworkInfo;
|
|
114
|
+
addNetworkFoundListener: typeof addNetworkFoundListener;
|
|
115
|
+
addEventListener: typeof addEventListener;
|
|
116
|
+
addListener: typeof addListener;
|
|
117
|
+
removeListeners: typeof removeListeners;
|
|
118
|
+
};
|
|
119
|
+
export default _default;
|
|
120
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAEV,WAAW,EACX,eAAe,EACf,WAAW,EACX,WAAW,EACX,QAAQ,EACT,MAAM,0BAA0B,CAAA;AAuBjC;;;;GAIG;AACH,wBAAgB,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAEhD;AAED;;;;;;GAMG;AACH,wBAAgB,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAE1E;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAErD;AAED;;GAEG;AACH,wBAAgB,QAAQ,IAAI,IAAI,CAE/B;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAE5C;AAED;;;;;GAKG;AACH,wBAAgB,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE5D;AAED;;;;;GAKG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAE7D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAExE;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAExE;AAID;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,CAAC,OAAO,EAAE,WAAW,KAAK,IAAI,GACvC,MAAM,IAAI,CAUZ;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,CAAC,IAAI,EAAE,GAAG,KAAK,IAAI,GAC5B,MAAM,IAAI,CAUZ;AAED;;;;GAIG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAEnD;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAEnD;AAID,YAAY,EAAE,WAAW,EAAE,eAAe,EAAE,WAAW,EAAE,WAAW,EAAE,QAAQ,EAAE,CAAA;;;;;;;;;;;;;;;;;;AAGhF,wBAgBC"}
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import { type HybridObject } from 'react-native-nitro-modules';
|
|
2
|
+
export interface Location {
|
|
3
|
+
latitude?: number;
|
|
4
|
+
longitude?: number;
|
|
5
|
+
}
|
|
6
|
+
export interface ChannelInfo {
|
|
7
|
+
channel: number;
|
|
8
|
+
frequency: number;
|
|
9
|
+
}
|
|
10
|
+
export interface WifiNetwork {
|
|
11
|
+
ssid: string;
|
|
12
|
+
bssid: string;
|
|
13
|
+
rssi: number;
|
|
14
|
+
frequency: number;
|
|
15
|
+
channel?: number;
|
|
16
|
+
capabilities?: string;
|
|
17
|
+
isSecure?: boolean;
|
|
18
|
+
timestamp?: number;
|
|
19
|
+
}
|
|
20
|
+
export interface WifiFingerprint {
|
|
21
|
+
networks: WifiNetwork[];
|
|
22
|
+
timestamp: number;
|
|
23
|
+
location?: Location;
|
|
24
|
+
}
|
|
25
|
+
export interface ScanOptions {
|
|
26
|
+
maxResults?: number;
|
|
27
|
+
timeout?: number;
|
|
28
|
+
}
|
|
29
|
+
export interface MunimWifi extends HybridObject<{
|
|
30
|
+
ios: 'swift';
|
|
31
|
+
android: 'kotlin';
|
|
32
|
+
}> {
|
|
33
|
+
/**
|
|
34
|
+
* Check if Wi-Fi is enabled on the device.
|
|
35
|
+
*
|
|
36
|
+
* @returns Promise resolving to true if Wi-Fi is enabled, false otherwise.
|
|
37
|
+
*/
|
|
38
|
+
isWifiEnabled(): Promise<boolean>;
|
|
39
|
+
/**
|
|
40
|
+
* Request Wi-Fi permissions (Android) or check authorization status (iOS).
|
|
41
|
+
* On Android, this requests location permission which is required for Wi-Fi scanning.
|
|
42
|
+
* On iOS, this checks location authorization status.
|
|
43
|
+
*
|
|
44
|
+
* @returns Promise resolving to true if permissions are granted, false otherwise.
|
|
45
|
+
*/
|
|
46
|
+
requestWifiPermission(): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Scan for nearby Wi-Fi networks.
|
|
49
|
+
*
|
|
50
|
+
* @param options - Optional scan configuration including max results and timeout.
|
|
51
|
+
* @returns Promise resolving to array of discovered Wi-Fi networks.
|
|
52
|
+
*/
|
|
53
|
+
scanNetworks(options?: ScanOptions): Promise<WifiNetwork[]>;
|
|
54
|
+
/**
|
|
55
|
+
* Start continuous Wi-Fi scanning. Results will be emitted via events.
|
|
56
|
+
*
|
|
57
|
+
* @param options - Optional scan configuration.
|
|
58
|
+
*/
|
|
59
|
+
startScan(options?: ScanOptions): void;
|
|
60
|
+
/**
|
|
61
|
+
* Stop continuous Wi-Fi scanning.
|
|
62
|
+
*/
|
|
63
|
+
stopScan(): void;
|
|
64
|
+
/**
|
|
65
|
+
* Get list of SSIDs (network names) from the last scan.
|
|
66
|
+
*
|
|
67
|
+
* @returns Promise resolving to array of SSID strings.
|
|
68
|
+
*/
|
|
69
|
+
getSSIDs(): Promise<string[]>;
|
|
70
|
+
/**
|
|
71
|
+
* Get Wi-Fi fingerprint containing all network information.
|
|
72
|
+
* This includes SSIDs, BSSIDs, RSSI, channels, and frequencies.
|
|
73
|
+
*
|
|
74
|
+
* @returns Promise resolving to Wi-Fi fingerprint data.
|
|
75
|
+
*/
|
|
76
|
+
getWifiFingerprint(): Promise<WifiFingerprint>;
|
|
77
|
+
/**
|
|
78
|
+
* Get RSSI (signal strength) for a specific network by SSID.
|
|
79
|
+
*
|
|
80
|
+
* @param ssid - The SSID of the network.
|
|
81
|
+
* @returns Promise resolving to RSSI value in dBm, or null if network not found.
|
|
82
|
+
*/
|
|
83
|
+
getRSSI(ssid: string): Promise<number | null>;
|
|
84
|
+
/**
|
|
85
|
+
* Get BSSID (MAC address) for a specific network by SSID.
|
|
86
|
+
*
|
|
87
|
+
* @param ssid - The SSID of the network.
|
|
88
|
+
* @returns Promise resolving to BSSID string, or null if network not found.
|
|
89
|
+
*/
|
|
90
|
+
getBSSID(ssid: string): Promise<string | null>;
|
|
91
|
+
/**
|
|
92
|
+
* Get channel and frequency information for a specific network by SSID.
|
|
93
|
+
*
|
|
94
|
+
* @param ssid - The SSID of the network.
|
|
95
|
+
* @returns Promise resolving to object with channel and frequency, or null if network not found.
|
|
96
|
+
*/
|
|
97
|
+
getChannelInfo(ssid: string): Promise<ChannelInfo | null>;
|
|
98
|
+
/**
|
|
99
|
+
* Get all available information for a specific network by SSID.
|
|
100
|
+
*
|
|
101
|
+
* @param ssid - The SSID of the network.
|
|
102
|
+
* @returns Promise resolving to WifiNetwork object, or null if network not found.
|
|
103
|
+
*/
|
|
104
|
+
getNetworkInfo(ssid: string): Promise<WifiNetwork | null>;
|
|
105
|
+
/**
|
|
106
|
+
* Add an event listener for network found events (when using startScan).
|
|
107
|
+
*
|
|
108
|
+
* @param eventName - The name of the event to listen for.
|
|
109
|
+
*/
|
|
110
|
+
addListener(eventName: string): void;
|
|
111
|
+
/**
|
|
112
|
+
* Remove event listeners.
|
|
113
|
+
*
|
|
114
|
+
* @param count - Number of listeners to remove.
|
|
115
|
+
*/
|
|
116
|
+
removeListeners(count: number): void;
|
|
117
|
+
}
|
|
118
|
+
//# sourceMappingURL=munim-wifi.nitro.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"munim-wifi.nitro.d.ts","sourceRoot":"","sources":["../../../../src/specs/munim-wifi.nitro.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,4BAA4B,CAAA;AAG9D,MAAM,WAAW,QAAQ;IACvB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAGD,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAA;IACf,SAAS,EAAE,MAAM,CAAA;CAClB;AAGD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,SAAS,EAAE,MAAM,CAAA;IACjB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,SAAS,CAAC,EAAE,MAAM,CAAA;CACnB;AAGD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,WAAW,EAAE,CAAA;IACvB,SAAS,EAAE,MAAM,CAAA;IACjB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACpB;AAGD,MAAM,WAAW,WAAW;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,OAAO,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,MAAM,WAAW,SACf,SAAQ,YAAY,CAAC;IAAE,GAAG,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,QAAQ,CAAA;CAAE,CAAC;IACzD;;;;OAIG;IACH,aAAa,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAEjC;;;;;;OAMG;IACH,qBAAqB,IAAI,OAAO,CAAC,OAAO,CAAC,CAAA;IAEzC;;;;;OAKG;IACH,YAAY,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAA;IAE3D;;;;OAIG;IACH,SAAS,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,IAAI,CAAA;IAEtC;;OAEG;IACH,QAAQ,IAAI,IAAI,CAAA;IAEhB;;;;OAIG;IACH,QAAQ,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC,CAAA;IAE7B;;;;;OAKG;IACH,kBAAkB,IAAI,OAAO,CAAC,eAAe,CAAC,CAAA;IAE9C;;;;;OAKG;IACH,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAE7C;;;;;OAKG;IACH,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAA;IAE9C;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAEzD;;;;;OAKG;IACH,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAAA;IAIzD;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IAEpC;;;;OAIG;IACH,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC"}
|
package/nitro.json
ADDED
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://nitro.margelo.com/nitro.schema.json",
|
|
3
|
+
"cxxNamespace": [
|
|
4
|
+
"munimwifi"
|
|
5
|
+
],
|
|
6
|
+
"ios": {
|
|
7
|
+
"iosModuleName": "MunimWifi"
|
|
8
|
+
},
|
|
9
|
+
"android": {
|
|
10
|
+
"androidNamespace": [
|
|
11
|
+
"munimwifi"
|
|
12
|
+
],
|
|
13
|
+
"androidCxxLibName": "MunimWifi"
|
|
14
|
+
},
|
|
15
|
+
"autolinking": {
|
|
16
|
+
"MunimWifi": {
|
|
17
|
+
"swift": "HybridMunimWifi",
|
|
18
|
+
"kotlin": "HybridMunimWifi"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"ignorePaths": [
|
|
22
|
+
"**/node_modules"
|
|
23
|
+
]
|
|
24
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
** linguist-generated=true
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
#
|
|
2
|
+
# MunimWifi+autolinking.cmake
|
|
3
|
+
# This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
# https://github.com/mrousavy/nitro
|
|
5
|
+
# Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
#
|
|
7
|
+
|
|
8
|
+
# This is a CMake file that adds all files generated by Nitrogen
|
|
9
|
+
# to the current CMake project.
|
|
10
|
+
#
|
|
11
|
+
# To use it, add this to your CMakeLists.txt:
|
|
12
|
+
# ```cmake
|
|
13
|
+
# include(${CMAKE_SOURCE_DIR}/../nitrogen/generated/android/MunimWifi+autolinking.cmake)
|
|
14
|
+
# ```
|
|
15
|
+
|
|
16
|
+
# Define a flag to check if we are building properly
|
|
17
|
+
add_definitions(-DBUILDING_MUNIMWIFI_WITH_GENERATED_CMAKE_PROJECT)
|
|
18
|
+
|
|
19
|
+
# Enable Raw Props parsing in react-native (for Nitro Views)
|
|
20
|
+
add_definitions(-DRN_SERIALIZABLE_STATE)
|
|
21
|
+
|
|
22
|
+
# Add all headers that were generated by Nitrogen
|
|
23
|
+
include_directories(
|
|
24
|
+
"../nitrogen/generated/shared/c++"
|
|
25
|
+
"../nitrogen/generated/android/c++"
|
|
26
|
+
"../nitrogen/generated/android/"
|
|
27
|
+
)
|
|
28
|
+
|
|
29
|
+
# Add all .cpp sources that were generated by Nitrogen
|
|
30
|
+
target_sources(
|
|
31
|
+
# CMake project name (Android C++ library name)
|
|
32
|
+
MunimWifi PRIVATE
|
|
33
|
+
# Autolinking Setup
|
|
34
|
+
../nitrogen/generated/android/MunimWifiOnLoad.cpp
|
|
35
|
+
# Shared Nitrogen C++ sources
|
|
36
|
+
../nitrogen/generated/shared/c++/HybridMunimWifiSpec.cpp
|
|
37
|
+
# Android-specific Nitrogen C++ sources
|
|
38
|
+
../nitrogen/generated/android/c++/JHybridMunimWifiSpec.cpp
|
|
39
|
+
../nitrogen/generated/android/c++/JVariant_NullType_Double.cpp
|
|
40
|
+
../nitrogen/generated/android/c++/JVariant_NullType_String.cpp
|
|
41
|
+
../nitrogen/generated/android/c++/JVariant_NullType_ChannelInfo.cpp
|
|
42
|
+
../nitrogen/generated/android/c++/JVariant_NullType_WifiNetwork.cpp
|
|
43
|
+
)
|
|
44
|
+
|
|
45
|
+
# From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
|
|
46
|
+
# Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
|
|
47
|
+
target_compile_definitions(
|
|
48
|
+
MunimWifi PRIVATE
|
|
49
|
+
-DFOLLY_NO_CONFIG=1
|
|
50
|
+
-DFOLLY_HAVE_CLOCK_GETTIME=1
|
|
51
|
+
-DFOLLY_USE_LIBCPP=1
|
|
52
|
+
-DFOLLY_CFG_NO_COROUTINES=1
|
|
53
|
+
-DFOLLY_MOBILE=1
|
|
54
|
+
-DFOLLY_HAVE_RECVMMSG=1
|
|
55
|
+
-DFOLLY_HAVE_PTHREAD=1
|
|
56
|
+
# Once we target android-23 above, we can comment
|
|
57
|
+
# the following line. NDK uses GNU style stderror_r() after API 23.
|
|
58
|
+
-DFOLLY_HAVE_XSI_STRERROR_R=1
|
|
59
|
+
)
|
|
60
|
+
|
|
61
|
+
# Add all libraries required by the generated specs
|
|
62
|
+
find_package(fbjni REQUIRED) # <-- Used for communication between Java <-> C++
|
|
63
|
+
find_package(ReactAndroid REQUIRED) # <-- Used to set up React Native bindings (e.g. CallInvoker/TurboModule)
|
|
64
|
+
find_package(react-native-nitro-modules REQUIRED) # <-- Used to create all HybridObjects and use the Nitro core library
|
|
65
|
+
|
|
66
|
+
# Link all libraries together
|
|
67
|
+
target_link_libraries(
|
|
68
|
+
MunimWifi
|
|
69
|
+
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
|
70
|
+
ReactAndroid::jsi # <-- RN: JSI
|
|
71
|
+
react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
|
|
72
|
+
)
|
|
73
|
+
|
|
74
|
+
# Link react-native (different prefab between RN 0.75 and RN 0.76)
|
|
75
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
76
|
+
target_link_libraries(
|
|
77
|
+
MunimWifi
|
|
78
|
+
ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
|
|
79
|
+
)
|
|
80
|
+
else()
|
|
81
|
+
target_link_libraries(
|
|
82
|
+
MunimWifi
|
|
83
|
+
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
|
84
|
+
)
|
|
85
|
+
endif()
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// MunimWifi+autolinking.gradle
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
/// This is a Gradle file that adds all files generated by Nitrogen
|
|
9
|
+
/// to the current Gradle project.
|
|
10
|
+
///
|
|
11
|
+
/// To use it, add this to your build.gradle:
|
|
12
|
+
/// ```gradle
|
|
13
|
+
/// apply from: '../nitrogen/generated/android/MunimWifi+autolinking.gradle'
|
|
14
|
+
/// ```
|
|
15
|
+
|
|
16
|
+
logger.warn("[NitroModules] 🔥 MunimWifi is boosted by nitro!")
|
|
17
|
+
|
|
18
|
+
android {
|
|
19
|
+
sourceSets {
|
|
20
|
+
main {
|
|
21
|
+
java.srcDirs += [
|
|
22
|
+
// Nitrogen files
|
|
23
|
+
"${project.projectDir}/../nitrogen/generated/android/kotlin"
|
|
24
|
+
]
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// MunimWifiOnLoad.cpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#ifndef BUILDING_MUNIMWIFI_WITH_GENERATED_CMAKE_PROJECT
|
|
9
|
+
#error MunimWifiOnLoad.cpp is not being built with the autogenerated CMakeLists.txt project. Is a different CMakeLists.txt building this?
|
|
10
|
+
#endif
|
|
11
|
+
|
|
12
|
+
#include "MunimWifiOnLoad.hpp"
|
|
13
|
+
|
|
14
|
+
#include <jni.h>
|
|
15
|
+
#include <fbjni/fbjni.h>
|
|
16
|
+
#include <NitroModules/HybridObjectRegistry.hpp>
|
|
17
|
+
|
|
18
|
+
#include "JHybridMunimWifiSpec.hpp"
|
|
19
|
+
#include <NitroModules/DefaultConstructableObject.hpp>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::munimwifi {
|
|
22
|
+
|
|
23
|
+
int initialize(JavaVM* vm) {
|
|
24
|
+
using namespace margelo::nitro;
|
|
25
|
+
using namespace margelo::nitro::munimwifi;
|
|
26
|
+
using namespace facebook;
|
|
27
|
+
|
|
28
|
+
return facebook::jni::initialize(vm, [] {
|
|
29
|
+
// Register native JNI methods
|
|
30
|
+
margelo::nitro::munimwifi::JHybridMunimWifiSpec::registerNatives();
|
|
31
|
+
|
|
32
|
+
// Register Nitro Hybrid Objects
|
|
33
|
+
HybridObjectRegistry::registerHybridObjectConstructor(
|
|
34
|
+
"MunimWifi",
|
|
35
|
+
[]() -> std::shared_ptr<HybridObject> {
|
|
36
|
+
static DefaultConstructableObject<JHybridMunimWifiSpec::javaobject> object("com/munimwifi/HybridMunimWifi");
|
|
37
|
+
auto instance = object.create();
|
|
38
|
+
return instance->cthis()->shared();
|
|
39
|
+
}
|
|
40
|
+
);
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
} // namespace margelo::nitro::munimwifi
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// MunimWifiOnLoad.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#include <jni.h>
|
|
9
|
+
#include <NitroModules/NitroDefines.hpp>
|
|
10
|
+
|
|
11
|
+
namespace margelo::nitro::munimwifi {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Initializes the native (C++) part of MunimWifi, and autolinks all Hybrid Objects.
|
|
15
|
+
* Call this in your `JNI_OnLoad` function (probably inside `cpp-adapter.cpp`).
|
|
16
|
+
* Example:
|
|
17
|
+
* ```cpp (cpp-adapter.cpp)
|
|
18
|
+
* JNIEXPORT jint JNICALL JNI_OnLoad(JavaVM* vm, void*) {
|
|
19
|
+
* return margelo::nitro::munimwifi::initialize(vm);
|
|
20
|
+
* }
|
|
21
|
+
* ```
|
|
22
|
+
*/
|
|
23
|
+
int initialize(JavaVM* vm);
|
|
24
|
+
|
|
25
|
+
} // namespace margelo::nitro::munimwifi
|
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JChannelInfo.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "ChannelInfo.hpp"
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::munimwifi {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "ChannelInfo" and the the Kotlin data class "ChannelInfo".
|
|
21
|
+
*/
|
|
22
|
+
struct JChannelInfo final: public jni::JavaClass<JChannelInfo> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/munimwifi/ChannelInfo;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct ChannelInfo by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
ChannelInfo toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldChannel = clazz->getField<double>("channel");
|
|
35
|
+
double channel = this->getFieldValue(fieldChannel);
|
|
36
|
+
static const auto fieldFrequency = clazz->getField<double>("frequency");
|
|
37
|
+
double frequency = this->getFieldValue(fieldFrequency);
|
|
38
|
+
return ChannelInfo(
|
|
39
|
+
channel,
|
|
40
|
+
frequency
|
|
41
|
+
);
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
public:
|
|
45
|
+
/**
|
|
46
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
47
|
+
*/
|
|
48
|
+
[[maybe_unused]]
|
|
49
|
+
static jni::local_ref<JChannelInfo::javaobject> fromCpp(const ChannelInfo& value) {
|
|
50
|
+
using JSignature = JChannelInfo(double, double);
|
|
51
|
+
static const auto clazz = javaClassStatic();
|
|
52
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
53
|
+
return create(
|
|
54
|
+
clazz,
|
|
55
|
+
value.channel,
|
|
56
|
+
value.frequency
|
|
57
|
+
);
|
|
58
|
+
}
|
|
59
|
+
};
|
|
60
|
+
|
|
61
|
+
} // namespace margelo::nitro::munimwifi
|