react-native-zeroconf 0.17.2 → 1.0.0-rc.1
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/NOTICE +2 -6
- package/README.md +1 -1
- package/android/CMakeLists.txt +64 -0
- package/android/build.gradle +1 -13
- package/android/generated/java/com/balthazargronon/RCTZeroconf/NativeZeroconfSpec.java +96 -0
- package/android/generated/jni/CMakeLists.txt +28 -0
- package/android/generated/jni/RNZeroconfSpec-generated.cpp +77 -0
- package/android/generated/jni/RNZeroconfSpec.h +31 -0
- package/android/generated/jni/react/renderer/components/RNZeroconfSpec/RNZeroconfSpecJSI.h +798 -0
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/{ZeroconfModule.java → NsdHost.java} +97 -140
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/NsdPayload.java +87 -0
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/NsdPromise.java +40 -0
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/Zeroconf.java +4 -6
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfNativeSupport.java +60 -0
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfOptions.java +15 -26
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroconfReactPackage.java +5 -15
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/nsd/NsdServiceImpl.java +90 -96
- package/android/src/main/jni/mdnsresponder/mDNSPosix/PosixDaemon.c +19 -1
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSPosix.c +104 -1
- package/android/src/main/jni/mdnsresponder/mDNSPosix/mDNSPosix.h +7 -0
- package/android/src/main/jni/mdnsresponder/mDNSShared/dnssd_clientshim.c +34 -9
- package/cpp/Backend.cpp +16 -0
- package/cpp/Backend.h +116 -0
- package/cpp/ZeroconfModule.cpp +280 -0
- package/cpp/ZeroconfModule.h +144 -0
- package/cpp/android/NsdBackend.cpp +462 -0
- package/cpp/android/NsdBackend.h +61 -0
- package/cpp/android/ZeroconfAndroidModule.cpp +49 -0
- package/cpp/android/ZeroconfAndroidModule.h +15 -0
- package/cpp/apple/DispatchExecutor.cpp +66 -0
- package/cpp/apple/DispatchExecutor.h +37 -0
- package/cpp/apple/LocalNetworkAccess.h +19 -0
- package/cpp/apple/LocalNetworkAccess.mm +87 -0
- package/cpp/dnssd/DnssdBackend.cpp +976 -0
- package/cpp/dnssd/DnssdBackend.h +114 -0
- package/cpp/dnssd/Executor.h +28 -0
- package/cpp/embedded/EmbeddedExecutor.cpp +124 -0
- package/cpp/embedded/EmbeddedExecutor.h +57 -0
- package/ios/ZeroconfOnLoad.mm +34 -0
- package/ios/generated/ReactCodegen/RNZeroconfSpec/RNZeroconfSpec-generated.mm +140 -0
- package/ios/generated/ReactCodegen/RNZeroconfSpec/RNZeroconfSpec.h +189 -0
- package/ios/generated/ReactCodegen/RNZeroconfSpecJSI.h +798 -0
- package/lib/module/NativeZeroconf.js +15 -0
- package/lib/module/NativeZeroconf.js.map +1 -0
- package/lib/module/bridge.js +124 -0
- package/lib/module/bridge.js.map +1 -0
- package/{dist → lib/module}/index.js +149 -149
- package/lib/module/index.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/module/types.js +24 -0
- package/lib/module/types.js.map +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NativeZeroconf.d.ts +75 -0
- package/lib/typescript/src/NativeZeroconf.d.ts.map +1 -0
- package/lib/typescript/src/bridge.d.ts +22 -0
- package/lib/typescript/src/bridge.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +111 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/types.d.ts +175 -0
- package/lib/typescript/src/types.d.ts.map +1 -0
- package/package.json +65 -29
- package/react-native-zeroconf.podspec +2 -1
- package/react-native.config.js +17 -0
- package/src/NativeZeroconf.ts +120 -0
- package/src/bridge.ts +153 -0
- package/src/index.ts +607 -0
- package/{index.d.ts → src/types.ts} +5 -99
- package/windows/RNZeroconf/RNZeroconf.vcxproj +17 -2
- package/windows/RNZeroconf/RNZeroconf.vcxproj.filters +0 -6
- package/windows/RNZeroconf/ReactPackageProvider.cpp +23 -20
- package/windows/RNZeroconf/WindowsBackend.cpp +156 -0
- package/windows/RNZeroconf/WindowsBackend.h +13 -0
- package/windows/RNZeroconf/ZeroconfCore.cpp +2 -2
- package/windows/RNZeroconf/ZeroconfCore.h +2 -2
- package/windows/RNZeroconf/ZeroconfWindowsModule.cpp +22 -0
- package/windows/RNZeroconf/ZeroconfWindowsModule.h +14 -0
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/ZeroConfImplFactory.java +0 -56
- package/android/src/main/java/com/balthazargronon/RCTZeroconf/dnssd/DnssdImpl.java +0 -654
- package/android/src/main/java/com/github/druk/dnssd/BaseListener.java +0 -33
- package/android/src/main/java/com/github/druk/dnssd/BrowseListener.java +0 -67
- package/android/src/main/java/com/github/druk/dnssd/DNSRecord.java +0 -47
- package/android/src/main/java/com/github/druk/dnssd/DNSSD.java +0 -650
- package/android/src/main/java/com/github/druk/dnssd/DNSSDEmbedded.java +0 -135
- package/android/src/main/java/com/github/druk/dnssd/DNSSDException.java +0 -66
- package/android/src/main/java/com/github/druk/dnssd/DNSSDRecordRegistrar.java +0 -55
- package/android/src/main/java/com/github/druk/dnssd/DNSSDRegistration.java +0 -54
- package/android/src/main/java/com/github/druk/dnssd/DNSSDService.java +0 -35
- package/android/src/main/java/com/github/druk/dnssd/DomainListener.java +0 -57
- package/android/src/main/java/com/github/druk/dnssd/InternalBrowseListener.java +0 -76
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSD.java +0 -870
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRecordRegistrar.java +0 -30
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDRegistration.java +0 -34
- package/android/src/main/java/com/github/druk/dnssd/InternalDNSSDService.java +0 -29
- package/android/src/main/java/com/github/druk/dnssd/InternalDomainListener.java +0 -62
- package/android/src/main/java/com/github/druk/dnssd/InternalQueryListener.java +0 -61
- package/android/src/main/java/com/github/druk/dnssd/InternalRegisterListener.java +0 -51
- package/android/src/main/java/com/github/druk/dnssd/InternalResolveListener.java +0 -58
- package/android/src/main/java/com/github/druk/dnssd/NSClass.java +0 -16
- package/android/src/main/java/com/github/druk/dnssd/NSType.java +0 -58
- package/android/src/main/java/com/github/druk/dnssd/QueryListener.java +0 -54
- package/android/src/main/java/com/github/druk/dnssd/RegisterListener.java +0 -46
- package/android/src/main/java/com/github/druk/dnssd/RegisterRecordListener.java +0 -35
- package/android/src/main/java/com/github/druk/dnssd/ResolveListener.java +0 -55
- package/android/src/main/java/com/github/druk/dnssd/TXTRecord.java +0 -293
- package/android/src/main/jni/Android.mk +0 -73
- package/android/src/main/jni/Application.mk +0 -3
- package/android/src/main/jni/DNSSD.java.h +0 -290
- package/android/src/main/jni/JNISupport.c +0 -1140
- package/ios/RNZeroconf/RNNetServiceSerializer.h +0 -31
- package/ios/RNZeroconf/RNNetServiceSerializer.m +0 -84
- package/ios/RNZeroconf/RNZeroconf.h +0 -17
- package/ios/RNZeroconf/RNZeroconf.m +0 -1025
- package/ios/RNZeroconf.xcodeproj/project.pbxproj +0 -261
- package/ios/RNZeroconf.xcodeproj/project.xcworkspace/contents.xcworkspacedata +0 -7
- package/src/index.js +0 -563
- package/windows/RNZeroconf/RNZeroconf.cpp +0 -228
- package/windows/RNZeroconf/RNZeroconf.h +0 -70
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RNNetService.h
|
|
3
|
-
// RNZeroconf
|
|
4
|
-
//
|
|
5
|
-
// Created by Jeremy White on 7/1/2016.
|
|
6
|
-
// Copyright © 2016 Balthazar Gronon MIT
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import <Foundation/Foundation.h>
|
|
10
|
-
#include <sys/socket.h>
|
|
11
|
-
|
|
12
|
-
FOUNDATION_EXPORT const NSString *kRNServiceKeysName;
|
|
13
|
-
FOUNDATION_EXPORT const NSString *kRNServiceKeysFullName;
|
|
14
|
-
FOUNDATION_EXPORT const NSString *kRNServiceKeysAddresses;
|
|
15
|
-
FOUNDATION_EXPORT const NSString *kRNServiceKeysHost;
|
|
16
|
-
FOUNDATION_EXPORT const NSString *kRNServiceKeysPort;
|
|
17
|
-
FOUNDATION_EXPORT const NSString *kRNServiceTxtRecords;
|
|
18
|
-
|
|
19
|
-
// Converts dns_sd results to the service dictionaries sent to JS
|
|
20
|
-
@interface RNNetServiceSerializer : NSObject
|
|
21
|
-
|
|
22
|
-
// "192.168.1.2" or "fe80::1", nil for other address families
|
|
23
|
-
+ (NSString *) stringFromAddress:(const struct sockaddr *)address;
|
|
24
|
-
|
|
25
|
-
// TXT record bytes to { key: value }, values decoded as UTF-8 (Latin-1 when not valid UTF-8)
|
|
26
|
-
+ (NSDictionary<NSString *, NSString *> *) dictionaryFromTXTRecord:(const void *)record length:(uint16_t)length;
|
|
27
|
-
|
|
28
|
-
// Ordered [key, value] pairs to TXT record bytes, keys of entries longer than 255 bytes are skipped and added to tooLong
|
|
29
|
-
+ (NSData *) TXTRecordFromPairs:(NSArray<NSArray<NSString *> *> *)pairs tooLong:(NSMutableArray<NSString *> *)tooLong;
|
|
30
|
-
|
|
31
|
-
@end
|
|
@@ -1,84 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RNNetService.m
|
|
3
|
-
// RNZeroconf
|
|
4
|
-
//
|
|
5
|
-
// Created by Jeremy White on 7/1/2016.
|
|
6
|
-
// Copyright © 2016 Balthazar Gronon MIT
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import "RNNetServiceSerializer.h"
|
|
10
|
-
#include <arpa/inet.h>
|
|
11
|
-
#include <dns_sd.h>
|
|
12
|
-
|
|
13
|
-
const NSString *kRNServiceKeysName = @"name";
|
|
14
|
-
const NSString *kRNServiceKeysFullName = @"fullName";
|
|
15
|
-
const NSString *kRNServiceKeysAddresses = @"addresses";
|
|
16
|
-
const NSString *kRNServiceKeysHost = @"host";
|
|
17
|
-
const NSString *kRNServiceKeysPort = @"port";
|
|
18
|
-
const NSString *kRNServiceTxtRecords = @"txt";
|
|
19
|
-
|
|
20
|
-
@implementation RNNetServiceSerializer
|
|
21
|
-
|
|
22
|
-
+ (NSString *) stringFromAddress:(const struct sockaddr *)address
|
|
23
|
-
{
|
|
24
|
-
if (address == NULL) {
|
|
25
|
-
return nil;
|
|
26
|
-
}
|
|
27
|
-
|
|
28
|
-
char buffer[INET6_ADDRSTRLEN];
|
|
29
|
-
const char *result = NULL;
|
|
30
|
-
if (address->sa_family == AF_INET) {
|
|
31
|
-
result = inet_ntop(AF_INET, &((const struct sockaddr_in *)address)->sin_addr, buffer, sizeof(buffer));
|
|
32
|
-
} else if (address->sa_family == AF_INET6) {
|
|
33
|
-
result = inet_ntop(AF_INET6, &((const struct sockaddr_in6 *)address)->sin6_addr, buffer, sizeof(buffer));
|
|
34
|
-
}
|
|
35
|
-
return result ? [NSString stringWithUTF8String:result] : nil;
|
|
36
|
-
}
|
|
37
|
-
|
|
38
|
-
+ (NSDictionary<NSString *, NSString *> *) dictionaryFromTXTRecord:(const void *)record length:(uint16_t)length
|
|
39
|
-
{
|
|
40
|
-
NSMutableDictionary *txt = [[NSMutableDictionary alloc] init];
|
|
41
|
-
uint16_t count = TXTRecordGetCount(length, record);
|
|
42
|
-
for (uint16_t i = 0; i < count; i++) {
|
|
43
|
-
char key[256];
|
|
44
|
-
uint8_t valueLength = 0;
|
|
45
|
-
const void *value = NULL;
|
|
46
|
-
if (TXTRecordGetItemAtIndex(length, record, i, sizeof(key), key, &valueLength, &value) != kDNSServiceErr_NoError || key[0] == '\0') {
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
NSString *string = @"";
|
|
51
|
-
if (value != NULL && valueLength > 0) {
|
|
52
|
-
NSData *data = [NSData dataWithBytes:value length:valueLength];
|
|
53
|
-
string = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]
|
|
54
|
-
?: [[NSString alloc] initWithData:data encoding:NSISOLatin1StringEncoding]
|
|
55
|
-
?: @"";
|
|
56
|
-
}
|
|
57
|
-
NSString *keyString = [NSString stringWithUTF8String:key];
|
|
58
|
-
if (keyString) {
|
|
59
|
-
txt[keyString] = string;
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
return txt;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
+ (NSData *) TXTRecordFromPairs:(NSArray<NSArray<NSString *> *> *)pairs tooLong:(NSMutableArray<NSString *> *)tooLong
|
|
66
|
-
{
|
|
67
|
-
NSMutableData *data = [NSMutableData data];
|
|
68
|
-
for (NSArray<NSString *> *pair in pairs) {
|
|
69
|
-
if (pair.count != 2) {
|
|
70
|
-
continue;
|
|
71
|
-
}
|
|
72
|
-
NSData *entry = [[NSString stringWithFormat:@"%@=%@", pair[0], pair[1]] dataUsingEncoding:NSUTF8StringEncoding];
|
|
73
|
-
if (entry.length > 255) {
|
|
74
|
-
[tooLong addObject:pair[0]];
|
|
75
|
-
continue;
|
|
76
|
-
}
|
|
77
|
-
uint8_t entryLength = (uint8_t)entry.length;
|
|
78
|
-
[data appendBytes:&entryLength length:1];
|
|
79
|
-
[data appendData:entry];
|
|
80
|
-
}
|
|
81
|
-
return data;
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
@end
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
//
|
|
2
|
-
// RNZeroconf.h
|
|
3
|
-
// RNZeroconf
|
|
4
|
-
//
|
|
5
|
-
// Created by Balthazar Gronon on 25/10/2015.
|
|
6
|
-
// Copyright © 2016 Balthazar Gronon MIT
|
|
7
|
-
//
|
|
8
|
-
|
|
9
|
-
#import <Foundation/Foundation.h>
|
|
10
|
-
#import <React/RCTBridge.h>
|
|
11
|
-
#import <React/RCTBridgeModule.h>
|
|
12
|
-
#import <React/RCTEventDispatcher.h>
|
|
13
|
-
#import <React/RCTInvalidating.h>
|
|
14
|
-
|
|
15
|
-
@interface RNZeroconf : NSObject <RCTBridgeModule, RCTInvalidating>
|
|
16
|
-
|
|
17
|
-
@end
|