From 075a53475fd8c36db3069137ac942106e355eb03 Mon Sep 17 00:00:00 2001 From: Joseph Henry Date: Tue, 5 Jul 2016 14:47:14 -0500 Subject: [PATCH] OSX SDK demo app update --- autoip.o | Bin 1452 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 59317 -> 59502 bytes .../Example_OSX_App.xcodeproj/project.pbxproj | 30 ++++++--- .../UserInterfaceState.xcuserstate | Bin 31006 -> 38328 bytes ...er.h => Example_OSX_App-Bridging-Header.h} | 0 .../Example_OSX_App/ViewController.swift | 4 +- src/SDK_ServiceSetup.cpp | 2 +- src/SDK_ServiceSetup.hpp | 11 ++- src/SDK_XcodeWrapper.cpp | 63 ++++++++++++++++++ src/SDK_XcodeWrapper.hpp | 14 ++++ zerotier-idtool | 1 - 11 files changed, 109 insertions(+), 16 deletions(-) delete mode 100644 autoip.o rename integrations/apple/example_app/Example_OSX_App/{Example_OSX-Bridging-Header.h => Example_OSX_App-Bridging-Header.h} (100%) create mode 100755 src/SDK_XcodeWrapper.cpp create mode 100755 src/SDK_XcodeWrapper.hpp delete mode 120000 zerotier-idtool diff --git a/autoip.o b/autoip.o deleted file mode 100644 index 286311d7a7b7e40ef974ea4f49a197849bca3678..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1452 zcmcJPPcOt!5WuI_?utJf!hvi=4V{DO)+APOyJteAEM}b$WFp|9d zp*$p-TjZ(2QgY?2(`MmpcP-tg3`T5p=}#R%=6t&@kBBtpvhO%PAidr*@X-w)ez7*9dwZ4s}R z^1G_RUfanIXW6H2c`{ zw7@qt)AgBVd8J9sI0{|M%bB2U1PIWU+<;rRSVF5TuH_fGpDO%nL9s6dA1MD7(?yBI?KA}mNJ1mD)O=?e W;=FjfZ2;aB6y+_`hND8Ip!ozrsH+kH diff --git a/integrations/apple/ZeroTierSDK_Apple/ZeroTierSDK_Apple.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate b/integrations/apple/ZeroTierSDK_Apple/ZeroTierSDK_Apple.xcodeproj/project.xcworkspace/xcuserdata/Joseph.xcuserdatad/UserInterfaceState.xcuserstate index d06a6891836554fb54be8f074bcaa17981146d15..4c636313429cf3f659b2f11b7198e409e0271c7d 100644 GIT binary patch delta 18473 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 OddA27pMJ(f_WT=Ibu?B0 literal 31006 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 + + #ifdef __cplusplus extern "C" { #endif @@ -38,13 +41,15 @@ extern "C" { #define INTERCEPT_ENABLED 111 #define INTERCEPT_DISABLED 222 - + + extern std::string homeDir; #if defined(__ANDROID__) // JNI naming convention: Java_PACKAGENAME_CLASSNAME_METHODNAME - /* If you define anything else in this file it *must* follow that convention - and any corresponding Java package/classes in your Android project must match this as well */ + /* If you define anything else in this file it that you wish to expose to your Android + Java application you *must* follow that convention and any corresponding Java package/classes + in your Android project must match this as well */ JNIEXPORT void JNICALL Java_ZeroTier_SDK_startOneService(JNIEnv *env, jobject thisObj); #else void *startOneService(void *thread_id); diff --git a/src/SDK_XcodeWrapper.cpp b/src/SDK_XcodeWrapper.cpp new file mode 100755 index 0000000..7603f90 --- /dev/null +++ b/src/SDK_XcodeWrapper.cpp @@ -0,0 +1,63 @@ +// +// NetconWrapper.cpp +// Netcon-iOS +// +// Created by Joseph Henry on 2/14/16. +// Copyright © 2016 ZeroTier. All rights reserved. +// + +#include "SDK.h" +#include "SDK_XcodeWrapper.hpp" +#include "SDK_Signatures.h" +#include + +#define INTERCEPT_ENABLED 111 +#define INTERCEPT_DISABLED 222 + +#include "SDK_ServiceSetup.hpp" + +// Starts a service at the specified path +extern "C" int start_service(const char * path) { + init_service(INTERCEPT_DISABLED, path); + return 1; +} + +// Joins a network +extern "C" void zt_join_network(const char * nwid){ + join_network(nwid); // Instruct ZeroTier service to join network + // zt_init_rpc(nwid); // Tells the RPC code where to contact the ZeroTier service +} + +// Leaves a network +extern "C" void zt_leave_network(const char * nwid){ + leave_network(nwid); +} + +// Explicit ZT API wrappers +extern "C" int zts_socket(SOCKET_SIG) { + return zt_socket(socket_family, socket_type, protocol); +} +extern "C" int zts_connect(CONNECT_SIG) { + return zt_connect(__fd, __addr, __len); +} +extern "C" int zt_bind(BIND_SIG){ + return zt_bind(sockfd, addr, addrlen); +} +extern "C" int zt_accept(ACCEPT_SIG) { + return zt_accept(sockfd, addr, addrlen); +} +extern "C" int zt_listen(LISTEN_SIG) { + return zt_listen(sockfd, backlog); +} +extern "C" int zt_setsockopt(SETSOCKOPT_SIG) { + return zt_setsockopt(socket, level, option_name, option_value, option_len); +} +extern "C" int zt_getsockopt(GETSOCKOPT_SIG) { + return zt_getsockopt(sockfd, level, optname, optval, optlen); +} +extern "C" int zt_close(CLOSE_SIG) { + return zt_close(fd); +} +extern "C" int zt_getsockname(GETSOCKNAME_SIG) { + return zt_getsockname(sockfd, addr, addrlen); +} diff --git a/src/SDK_XcodeWrapper.hpp b/src/SDK_XcodeWrapper.hpp new file mode 100755 index 0000000..df12052 --- /dev/null +++ b/src/SDK_XcodeWrapper.hpp @@ -0,0 +1,14 @@ +// +// SDK_XcodeWrapper.hpp +// Netcon-iOS +// +// Created by Joseph Henry on 2/14/16. +// Copyright © 2016 ZeroTier. All rights reserved. +// + +#ifndef SDK_XCODE_WRAPPER_HPP +#define SDK_XCODE_WRAPPER_HPP + +#include + +#endif /* SDK_XCODE_WRAPPER_HPP */ diff --git a/zerotier-idtool b/zerotier-idtool deleted file mode 120000 index 0974c8e..0000000 --- a/zerotier-idtool +++ /dev/null @@ -1 +0,0 @@ -zerotier-sdk-service \ No newline at end of file