@chilkat/react-native 11.6.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/CHANGELOG.md +6 -0
- package/ChilkatRN.podspec +44 -0
- package/LICENSE +254 -0
- package/README.md +67 -0
- package/android/CMakeLists.txt +60 -0
- package/android/build.gradle +148 -0
- package/android/gradle.properties +5 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/cpp/cpp-adapter.cpp +12 -0
- package/android/src/main/java/com/margelo/nitro/chilkat/ChilkatRNPackage.java +33 -0
- package/chilkat-checksums.json +9 -0
- package/cpp/HybridAi.cpp +660 -0
- package/cpp/HybridAi.hpp +159 -0
- package/cpp/HybridAsn.cpp +403 -0
- package/cpp/HybridAsn.hpp +105 -0
- package/cpp/HybridAuthAws.cpp +188 -0
- package/cpp/HybridAuthAws.hpp +55 -0
- package/cpp/HybridAuthAzureSAS.cpp +142 -0
- package/cpp/HybridAuthAzureSAS.hpp +47 -0
- package/cpp/HybridAuthAzureStorage.cpp +144 -0
- package/cpp/HybridAuthAzureStorage.hpp +47 -0
- package/cpp/HybridAuthGoogle.cpp +215 -0
- package/cpp/HybridAuthGoogle.hpp +67 -0
- package/cpp/HybridBinData.cpp +439 -0
- package/cpp/HybridBinData.hpp +112 -0
- package/cpp/HybridBz2.cpp +177 -0
- package/cpp/HybridBz2.hpp +58 -0
- package/cpp/HybridCache.cpp +314 -0
- package/cpp/HybridCache.hpp +82 -0
- package/cpp/HybridCert.cpp +840 -0
- package/cpp/HybridCert.hpp +196 -0
- package/cpp/HybridCertChain.cpp +149 -0
- package/cpp/HybridCertChain.hpp +50 -0
- package/cpp/HybridCertStore.cpp +276 -0
- package/cpp/HybridCertStore.hpp +78 -0
- package/cpp/HybridCharset.cpp +333 -0
- package/cpp/HybridCharset.hpp +83 -0
- package/cpp/HybridCkDateTime.cpp +384 -0
- package/cpp/HybridCkDateTime.hpp +105 -0
- package/cpp/HybridCodeSign.cpp +156 -0
- package/cpp/HybridCodeSign.hpp +55 -0
- package/cpp/HybridCompression.cpp +422 -0
- package/cpp/HybridCompression.hpp +100 -0
- package/cpp/HybridCrypt2.cpp +1517 -0
- package/cpp/HybridCrypt2.hpp +320 -0
- package/cpp/HybridCsr.cpp +292 -0
- package/cpp/HybridCsr.hpp +77 -0
- package/cpp/HybridCsv.cpp +382 -0
- package/cpp/HybridCsv.hpp +101 -0
- package/cpp/HybridDh.cpp +137 -0
- package/cpp/HybridDh.hpp +47 -0
- package/cpp/HybridDirTree.cpp +167 -0
- package/cpp/HybridDirTree.hpp +53 -0
- package/cpp/HybridDkim.cpp +249 -0
- package/cpp/HybridDkim.hpp +74 -0
- package/cpp/HybridDns.cpp +193 -0
- package/cpp/HybridDns.hpp +64 -0
- package/cpp/HybridDsa.cpp +453 -0
- package/cpp/HybridDsa.hpp +112 -0
- package/cpp/HybridDtObj.cpp +172 -0
- package/cpp/HybridDtObj.hpp +57 -0
- package/cpp/HybridEcc.cpp +195 -0
- package/cpp/HybridEcc.hpp +55 -0
- package/cpp/HybridEdDSA.cpp +147 -0
- package/cpp/HybridEdDSA.hpp +47 -0
- package/cpp/HybridEmail.cpp +1911 -0
- package/cpp/HybridEmail.hpp +419 -0
- package/cpp/HybridEmailBundle.cpp +204 -0
- package/cpp/HybridEmailBundle.hpp +64 -0
- package/cpp/HybridFileAccess.cpp +631 -0
- package/cpp/HybridFileAccess.hpp +149 -0
- package/cpp/HybridFtp2.cpp +2308 -0
- package/cpp/HybridFtp2.hpp +462 -0
- package/cpp/HybridGlobal.cpp +221 -0
- package/cpp/HybridGlobal.hpp +68 -0
- package/cpp/HybridGzip.cpp +440 -0
- package/cpp/HybridGzip.hpp +105 -0
- package/cpp/HybridHashtable.cpp +211 -0
- package/cpp/HybridHashtable.hpp +64 -0
- package/cpp/HybridHtmlToText.cpp +136 -0
- package/cpp/HybridHtmlToText.hpp +47 -0
- package/cpp/HybridHtmlToXml.cpp +218 -0
- package/cpp/HybridHtmlToXml.hpp +65 -0
- package/cpp/HybridHttp.cpp +2067 -0
- package/cpp/HybridHttp.hpp +416 -0
- package/cpp/HybridHttpCurl.cpp +337 -0
- package/cpp/HybridHttpCurl.hpp +93 -0
- package/cpp/HybridHttpRequest.cpp +455 -0
- package/cpp/HybridHttpRequest.hpp +109 -0
- package/cpp/HybridHttpResponse.cpp +340 -0
- package/cpp/HybridHttpResponse.hpp +86 -0
- package/cpp/HybridImap.cpp +1818 -0
- package/cpp/HybridImap.hpp +363 -0
- package/cpp/HybridJavaKeyStore.cpp +387 -0
- package/cpp/HybridJavaKeyStore.hpp +98 -0
- package/cpp/HybridJs.cpp +154 -0
- package/cpp/HybridJs.hpp +54 -0
- package/cpp/HybridJsonArray.cpp +441 -0
- package/cpp/HybridJsonArray.hpp +120 -0
- package/cpp/HybridJsonObject.cpp +1125 -0
- package/cpp/HybridJsonObject.hpp +260 -0
- package/cpp/HybridJwe.cpp +294 -0
- package/cpp/HybridJwe.hpp +82 -0
- package/cpp/HybridJws.cpp +290 -0
- package/cpp/HybridJws.hpp +82 -0
- package/cpp/HybridJwt.cpp +198 -0
- package/cpp/HybridJwt.hpp +57 -0
- package/cpp/HybridLog.cpp +212 -0
- package/cpp/HybridLog.hpp +63 -0
- package/cpp/HybridMailMan.cpp +1853 -0
- package/cpp/HybridMailMan.hpp +386 -0
- package/cpp/HybridMailboxes.cpp +165 -0
- package/cpp/HybridMailboxes.hpp +54 -0
- package/cpp/HybridMcp.cpp +322 -0
- package/cpp/HybridMcp.hpp +85 -0
- package/cpp/HybridMessageSet.cpp +162 -0
- package/cpp/HybridMessageSet.hpp +54 -0
- package/cpp/HybridMht.cpp +700 -0
- package/cpp/HybridMht.hpp +165 -0
- package/cpp/HybridMime.cpp +1119 -0
- package/cpp/HybridMime.hpp +266 -0
- package/cpp/HybridNtlm.cpp +333 -0
- package/cpp/HybridNtlm.hpp +83 -0
- package/cpp/HybridOAuth1.cpp +307 -0
- package/cpp/HybridOAuth1.hpp +78 -0
- package/cpp/HybridOAuth2.cpp +515 -0
- package/cpp/HybridOAuth2.hpp +127 -0
- package/cpp/HybridPdf.cpp +370 -0
- package/cpp/HybridPdf.hpp +103 -0
- package/cpp/HybridPem.cpp +327 -0
- package/cpp/HybridPem.hpp +88 -0
- package/cpp/HybridPfx.cpp +343 -0
- package/cpp/HybridPfx.hpp +87 -0
- package/cpp/HybridPkcs11.cpp +318 -0
- package/cpp/HybridPkcs11.hpp +88 -0
- package/cpp/HybridPrivateKey.cpp +464 -0
- package/cpp/HybridPrivateKey.hpp +117 -0
- package/cpp/HybridPrng.cpp +192 -0
- package/cpp/HybridPrng.hpp +57 -0
- package/cpp/HybridPublicKey.cpp +238 -0
- package/cpp/HybridPublicKey.hpp +68 -0
- package/cpp/HybridRest.cpp +993 -0
- package/cpp/HybridRest.hpp +214 -0
- package/cpp/HybridRsa.cpp +348 -0
- package/cpp/HybridRsa.hpp +90 -0
- package/cpp/HybridSCard.cpp +328 -0
- package/cpp/HybridSCard.hpp +91 -0
- package/cpp/HybridSFtp.cpp +1889 -0
- package/cpp/HybridSFtp.hpp +366 -0
- package/cpp/HybridSFtpDir.cpp +119 -0
- package/cpp/HybridSFtpDir.hpp +43 -0
- package/cpp/HybridSFtpFile.cpp +203 -0
- package/cpp/HybridSFtpFile.hpp +60 -0
- package/cpp/HybridScMinidriver.cpp +341 -0
- package/cpp/HybridScMinidriver.hpp +88 -0
- package/cpp/HybridScp.cpp +398 -0
- package/cpp/HybridScp.hpp +96 -0
- package/cpp/HybridSecrets.cpp +328 -0
- package/cpp/HybridSecrets.hpp +84 -0
- package/cpp/HybridSecureString.cpp +175 -0
- package/cpp/HybridSecureString.hpp +55 -0
- package/cpp/HybridServerSentEvent.cpp +112 -0
- package/cpp/HybridServerSentEvent.hpp +41 -0
- package/cpp/HybridSocket.cpp +1567 -0
- package/cpp/HybridSocket.hpp +336 -0
- package/cpp/HybridSpider.cpp +543 -0
- package/cpp/HybridSpider.hpp +138 -0
- package/cpp/HybridSsh.cpp +1330 -0
- package/cpp/HybridSsh.hpp +282 -0
- package/cpp/HybridSshKey.cpp +310 -0
- package/cpp/HybridSshKey.hpp +83 -0
- package/cpp/HybridSshTunnel.cpp +687 -0
- package/cpp/HybridSshTunnel.hpp +159 -0
- package/cpp/HybridStream.cpp +496 -0
- package/cpp/HybridStream.hpp +123 -0
- package/cpp/HybridStringArray.cpp +368 -0
- package/cpp/HybridStringArray.hpp +99 -0
- package/cpp/HybridStringBuilder.cpp +739 -0
- package/cpp/HybridStringBuilder.hpp +178 -0
- package/cpp/HybridStringTable.cpp +218 -0
- package/cpp/HybridStringTable.hpp +66 -0
- package/cpp/HybridTar.cpp +547 -0
- package/cpp/HybridTar.hpp +134 -0
- package/cpp/HybridTrustedRoots.cpp +178 -0
- package/cpp/HybridTrustedRoots.hpp +61 -0
- package/cpp/HybridUnixCompress.cpp +191 -0
- package/cpp/HybridUnixCompress.hpp +60 -0
- package/cpp/HybridUpload.cpp +427 -0
- package/cpp/HybridUpload.hpp +114 -0
- package/cpp/HybridUrl.cpp +152 -0
- package/cpp/HybridUrl.hpp +48 -0
- package/cpp/HybridWebSocket.cpp +378 -0
- package/cpp/HybridWebSocket.hpp +103 -0
- package/cpp/HybridXml.cpp +1527 -0
- package/cpp/HybridXml.hpp +340 -0
- package/cpp/HybridXmlCertVault.cpp +215 -0
- package/cpp/HybridXmlCertVault.hpp +63 -0
- package/cpp/HybridXmlDSig.cpp +328 -0
- package/cpp/HybridXmlDSig.hpp +88 -0
- package/cpp/HybridXmlDSigGen.cpp +549 -0
- package/cpp/HybridXmlDSigGen.hpp +126 -0
- package/cpp/HybridXmp.cpp +329 -0
- package/cpp/HybridXmp.hpp +86 -0
- package/cpp/HybridZip.cpp +1000 -0
- package/cpp/HybridZip.hpp +226 -0
- package/cpp/HybridZipCrc.cpp +162 -0
- package/cpp/HybridZipCrc.hpp +57 -0
- package/cpp/HybridZipEntry.cpp +395 -0
- package/cpp/HybridZipEntry.hpp +102 -0
- package/cpp/runtime/AsyncCall.hpp +96 -0
- package/cpp/runtime/Bytes.hpp +49 -0
- package/cpp/runtime/ChilkatError.hpp +66 -0
- package/cpp/runtime/ChilkatObject.hpp +219 -0
- package/cpp/runtime/ProgLang.hpp +9 -0
- package/cpp/runtime/ProgressAdapter.hpp +43 -0
- package/nitro.json +113 -0
- package/nitrogen/generated/.gitattributes +1 -0
- package/nitrogen/generated/android/ChilkatRN+autolinking.cmake +179 -0
- package/nitrogen/generated/android/ChilkatRN+autolinking.gradle +27 -0
- package/nitrogen/generated/android/ChilkatRNOnLoad.cpp +1029 -0
- package/nitrogen/generated/android/ChilkatRNOnLoad.hpp +34 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/chilkat/ChilkatRNOnLoad.kt +35 -0
- package/nitrogen/generated/ios/ChilkatRN+autolinking.rb +62 -0
- package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.cpp +17 -0
- package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.hpp +27 -0
- package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Umbrella.hpp +38 -0
- package/nitrogen/generated/ios/ChilkatRNAutolinking.mm +1015 -0
- package/nitrogen/generated/ios/ChilkatRNAutolinking.swift +16 -0
- package/nitrogen/generated/shared/c++/HybridAiSpec.cpp +114 -0
- package/nitrogen/generated/shared/c++/HybridAiSpec.hpp +175 -0
- package/nitrogen/generated/shared/c++/HybridAsnSpec.cpp +70 -0
- package/nitrogen/generated/shared/c++/HybridAsnSpec.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.cpp +49 -0
- package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.hpp +89 -0
- package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.cpp +38 -0
- package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.hpp +78 -0
- package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.cpp +41 -0
- package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.hpp +81 -0
- package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.cpp +56 -0
- package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.hpp +108 -0
- package/nitrogen/generated/shared/c++/HybridBinDataSpec.cpp +69 -0
- package/nitrogen/generated/shared/c++/HybridBinDataSpec.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridBz2Spec.cpp +47 -0
- package/nitrogen/generated/shared/c++/HybridBz2Spec.hpp +93 -0
- package/nitrogen/generated/shared/c++/HybridCacheSpec.cpp +57 -0
- package/nitrogen/generated/shared/c++/HybridCacheSpec.hpp +106 -0
- package/nitrogen/generated/shared/c++/HybridCertChainSpec.cpp +40 -0
- package/nitrogen/generated/shared/c++/HybridCertChainSpec.hpp +89 -0
- package/nitrogen/generated/shared/c++/HybridCertSpec.cpp +138 -0
- package/nitrogen/generated/shared/c++/HybridCertSpec.hpp +205 -0
- package/nitrogen/generated/shared/c++/HybridCertStoreSpec.cpp +55 -0
- package/nitrogen/generated/shared/c++/HybridCertStoreSpec.hpp +104 -0
- package/nitrogen/generated/shared/c++/HybridCharsetSpec.cpp +61 -0
- package/nitrogen/generated/shared/c++/HybridCharsetSpec.hpp +101 -0
- package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.cpp +66 -0
- package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.hpp +115 -0
- package/nitrogen/generated/shared/c++/HybridCodeSignSpec.cpp +44 -0
- package/nitrogen/generated/shared/c++/HybridCodeSignSpec.hpp +93 -0
- package/nitrogen/generated/shared/c++/HybridCompressionSpec.cpp +79 -0
- package/nitrogen/generated/shared/c++/HybridCompressionSpec.hpp +134 -0
- package/nitrogen/generated/shared/c++/HybridCrypt2Spec.cpp +215 -0
- package/nitrogen/generated/shared/c++/HybridCrypt2Spec.hpp +283 -0
- package/nitrogen/generated/shared/c++/HybridCsrSpec.cpp +61 -0
- package/nitrogen/generated/shared/c++/HybridCsrSpec.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridCsvSpec.cpp +72 -0
- package/nitrogen/generated/shared/c++/HybridCsvSpec.hpp +121 -0
- package/nitrogen/generated/shared/c++/HybridDhSpec.cpp +37 -0
- package/nitrogen/generated/shared/c++/HybridDhSpec.hpp +77 -0
- package/nitrogen/generated/shared/c++/HybridDirTreeSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridDirTreeSpec.hpp +86 -0
- package/nitrogen/generated/shared/c++/HybridDkimSpec.cpp +60 -0
- package/nitrogen/generated/shared/c++/HybridDkimSpec.hpp +109 -0
- package/nitrogen/generated/shared/c++/HybridDnsSpec.cpp +51 -0
- package/nitrogen/generated/shared/c++/HybridDnsSpec.hpp +97 -0
- package/nitrogen/generated/shared/c++/HybridDsaSpec.cpp +73 -0
- package/nitrogen/generated/shared/c++/HybridDsaSpec.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridDtObjSpec.cpp +50 -0
- package/nitrogen/generated/shared/c++/HybridDtObjSpec.hpp +90 -0
- package/nitrogen/generated/shared/c++/HybridEccSpec.cpp +41 -0
- package/nitrogen/generated/shared/c++/HybridEccSpec.hpp +96 -0
- package/nitrogen/generated/shared/c++/HybridEdDSASpec.cpp +38 -0
- package/nitrogen/generated/shared/c++/HybridEdDSASpec.hpp +90 -0
- package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.cpp +45 -0
- package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.hpp +91 -0
- package/nitrogen/generated/shared/c++/HybridEmailSpec.cpp +259 -0
- package/nitrogen/generated/shared/c++/HybridEmailSpec.hpp +326 -0
- package/nitrogen/generated/shared/c++/HybridFileAccessSpec.cpp +90 -0
- package/nitrogen/generated/shared/c++/HybridFileAccessSpec.hpp +140 -0
- package/nitrogen/generated/shared/c++/HybridFtp2Spec.cpp +367 -0
- package/nitrogen/generated/shared/c++/HybridFtp2Spec.hpp +434 -0
- package/nitrogen/generated/shared/c++/HybridGlobalSpec.cpp +59 -0
- package/nitrogen/generated/shared/c++/HybridGlobalSpec.hpp +99 -0
- package/nitrogen/generated/shared/c++/HybridGzipSpec.cpp +79 -0
- package/nitrogen/generated/shared/c++/HybridGzipSpec.hpp +134 -0
- package/nitrogen/generated/shared/c++/HybridHashtableSpec.cpp +45 -0
- package/nitrogen/generated/shared/c++/HybridHashtableSpec.hpp +91 -0
- package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.cpp +40 -0
- package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.hpp +83 -0
- package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.cpp +49 -0
- package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.hpp +95 -0
- package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.cpp +67 -0
- package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.hpp +125 -0
- package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.cpp +76 -0
- package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.hpp +122 -0
- package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.cpp +64 -0
- package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.hpp +119 -0
- package/nitrogen/generated/shared/c++/HybridHttpSpec.cpp +334 -0
- package/nitrogen/generated/shared/c++/HybridHttpSpec.hpp +407 -0
- package/nitrogen/generated/shared/c++/HybridImapSpec.cpp +275 -0
- package/nitrogen/generated/shared/c++/HybridImapSpec.hpp +360 -0
- package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.cpp +65 -0
- package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.hpp +132 -0
- package/nitrogen/generated/shared/c++/HybridJsSpec.cpp +43 -0
- package/nitrogen/generated/shared/c++/HybridJsSpec.hpp +92 -0
- package/nitrogen/generated/shared/c++/HybridJsonArraySpec.cpp +76 -0
- package/nitrogen/generated/shared/c++/HybridJsonArraySpec.hpp +131 -0
- package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.cpp +154 -0
- package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.hpp +218 -0
- package/nitrogen/generated/shared/c++/HybridJweSpec.cpp +57 -0
- package/nitrogen/generated/shared/c++/HybridJweSpec.hpp +112 -0
- package/nitrogen/generated/shared/c++/HybridJwsSpec.cpp +57 -0
- package/nitrogen/generated/shared/c++/HybridJwsSpec.hpp +115 -0
- package/nitrogen/generated/shared/c++/HybridJwtSpec.cpp +43 -0
- package/nitrogen/generated/shared/c++/HybridJwtSpec.hpp +92 -0
- package/nitrogen/generated/shared/c++/HybridLogSpec.cpp +44 -0
- package/nitrogen/generated/shared/c++/HybridLogSpec.hpp +85 -0
- package/nitrogen/generated/shared/c++/HybridMailManSpec.cpp +311 -0
- package/nitrogen/generated/shared/c++/HybridMailManSpec.hpp +396 -0
- package/nitrogen/generated/shared/c++/HybridMailboxesSpec.cpp +40 -0
- package/nitrogen/generated/shared/c++/HybridMailboxesSpec.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridMcpSpec.cpp +68 -0
- package/nitrogen/generated/shared/c++/HybridMcpSpec.hpp +117 -0
- package/nitrogen/generated/shared/c++/HybridMessageSetSpec.cpp +41 -0
- package/nitrogen/generated/shared/c++/HybridMessageSetSpec.hpp +84 -0
- package/nitrogen/generated/shared/c++/HybridMhtSpec.cpp +138 -0
- package/nitrogen/generated/shared/c++/HybridMhtSpec.hpp +181 -0
- package/nitrogen/generated/shared/c++/HybridMimeSpec.cpp +169 -0
- package/nitrogen/generated/shared/c++/HybridMimeSpec.hpp +233 -0
- package/nitrogen/generated/shared/c++/HybridNtlmSpec.cpp +69 -0
- package/nitrogen/generated/shared/c++/HybridNtlmSpec.hpp +109 -0
- package/nitrogen/generated/shared/c++/HybridOAuth1Spec.cpp +67 -0
- package/nitrogen/generated/shared/c++/HybridOAuth1Spec.hpp +110 -0
- package/nitrogen/generated/shared/c++/HybridOAuth2Spec.cpp +107 -0
- package/nitrogen/generated/shared/c++/HybridOAuth2Spec.hpp +156 -0
- package/nitrogen/generated/shared/c++/HybridPdfSpec.cpp +73 -0
- package/nitrogen/generated/shared/c++/HybridPdfSpec.hpp +134 -0
- package/nitrogen/generated/shared/c++/HybridPemSpec.cpp +63 -0
- package/nitrogen/generated/shared/c++/HybridPemSpec.hpp +124 -0
- package/nitrogen/generated/shared/c++/HybridPfxSpec.cpp +61 -0
- package/nitrogen/generated/shared/c++/HybridPfxSpec.hpp +122 -0
- package/nitrogen/generated/shared/c++/HybridPkcs11Spec.cpp +60 -0
- package/nitrogen/generated/shared/c++/HybridPkcs11Spec.hpp +115 -0
- package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.cpp +76 -0
- package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.hpp +131 -0
- package/nitrogen/generated/shared/c++/HybridPrngSpec.cpp +42 -0
- package/nitrogen/generated/shared/c++/HybridPrngSpec.hpp +85 -0
- package/nitrogen/generated/shared/c++/HybridPublicKeySpec.cpp +48 -0
- package/nitrogen/generated/shared/c++/HybridPublicKeySpec.hpp +91 -0
- package/nitrogen/generated/shared/c++/HybridRestSpec.cpp +150 -0
- package/nitrogen/generated/shared/c++/HybridRestSpec.hpp +229 -0
- package/nitrogen/generated/shared/c++/HybridRsaSpec.cpp +68 -0
- package/nitrogen/generated/shared/c++/HybridRsaSpec.hpp +120 -0
- package/nitrogen/generated/shared/c++/HybridSCardSpec.cpp +64 -0
- package/nitrogen/generated/shared/c++/HybridSCardSpec.hpp +116 -0
- package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.cpp +35 -0
- package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.hpp +78 -0
- package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.cpp +57 -0
- package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.hpp +98 -0
- package/nitrogen/generated/shared/c++/HybridSFtpSpec.cpp +284 -0
- package/nitrogen/generated/shared/c++/HybridSFtpSpec.hpp +354 -0
- package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.cpp +61 -0
- package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.hpp +119 -0
- package/nitrogen/generated/shared/c++/HybridScpSpec.cpp +78 -0
- package/nitrogen/generated/shared/c++/HybridScpSpec.hpp +127 -0
- package/nitrogen/generated/shared/c++/HybridSecretsSpec.cpp +65 -0
- package/nitrogen/generated/shared/c++/HybridSecretsSpec.hpp +120 -0
- package/nitrogen/generated/shared/c++/HybridSecureStringSpec.cpp +42 -0
- package/nitrogen/generated/shared/c++/HybridSecureStringSpec.hpp +88 -0
- package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.cpp +35 -0
- package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.hpp +75 -0
- package/nitrogen/generated/shared/c++/HybridSocketSpec.cpp +262 -0
- package/nitrogen/generated/shared/c++/HybridSocketSpec.hpp +327 -0
- package/nitrogen/generated/shared/c++/HybridSpiderSpec.cpp +110 -0
- package/nitrogen/generated/shared/c++/HybridSpiderSpec.hpp +153 -0
- package/nitrogen/generated/shared/c++/HybridSshKeySpec.cpp +59 -0
- package/nitrogen/generated/shared/c++/HybridSshKeySpec.hpp +102 -0
- package/nitrogen/generated/shared/c++/HybridSshSpec.cpp +215 -0
- package/nitrogen/generated/shared/c++/HybridSshSpec.hpp +276 -0
- package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.cpp +136 -0
- package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.hpp +191 -0
- package/nitrogen/generated/shared/c++/HybridStreamSpec.cpp +100 -0
- package/nitrogen/generated/shared/c++/HybridStreamSpec.hpp +150 -0
- package/nitrogen/generated/shared/c++/HybridStringArraySpec.cpp +66 -0
- package/nitrogen/generated/shared/c++/HybridStringArraySpec.hpp +109 -0
- package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.cpp +104 -0
- package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.hpp +156 -0
- package/nitrogen/generated/shared/c++/HybridStringTableSpec.cpp +46 -0
- package/nitrogen/generated/shared/c++/HybridStringTableSpec.hpp +89 -0
- package/nitrogen/generated/shared/c++/HybridTarSpec.cpp +110 -0
- package/nitrogen/generated/shared/c++/HybridTarSpec.hpp +156 -0
- package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.cpp +48 -0
- package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.hpp +97 -0
- package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.cpp +48 -0
- package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.hpp +91 -0
- package/nitrogen/generated/shared/c++/HybridUploadSpec.cpp +98 -0
- package/nitrogen/generated/shared/c++/HybridUploadSpec.hpp +141 -0
- package/nitrogen/generated/shared/c++/HybridUrlSpec.cpp +42 -0
- package/nitrogen/generated/shared/c++/HybridUrlSpec.hpp +82 -0
- package/nitrogen/generated/shared/c++/HybridWebSocketSpec.cpp +80 -0
- package/nitrogen/generated/shared/c++/HybridWebSocketSpec.hpp +135 -0
- package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.cpp +45 -0
- package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.hpp +94 -0
- package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.cpp +99 -0
- package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.hpp +163 -0
- package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.cpp +62 -0
- package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.hpp +126 -0
- package/nitrogen/generated/shared/c++/HybridXmlSpec.cpp +203 -0
- package/nitrogen/generated/shared/c++/HybridXmlSpec.hpp +253 -0
- package/nitrogen/generated/shared/c++/HybridXmpSpec.cpp +58 -0
- package/nitrogen/generated/shared/c++/HybridXmpSpec.hpp +104 -0
- package/nitrogen/generated/shared/c++/HybridZipCrcSpec.cpp +43 -0
- package/nitrogen/generated/shared/c++/HybridZipCrcSpec.hpp +92 -0
- package/nitrogen/generated/shared/c++/HybridZipEntrySpec.cpp +82 -0
- package/nitrogen/generated/shared/c++/HybridZipEntrySpec.hpp +137 -0
- package/nitrogen/generated/shared/c++/HybridZipSpec.cpp +176 -0
- package/nitrogen/generated/shared/c++/HybridZipSpec.hpp +231 -0
- package/package.json +46 -0
- package/react-native.config.js +9 -0
- package/scripts/fetch-chilkat.js +184 -0
- package/src/index.ts +306 -0
- package/src/runtime/chilkat.ts +25 -0
- package/src/specs/Ai.nitro.ts +1288 -0
- package/src/specs/Asn.nitro.ts +509 -0
- package/src/specs/AuthAws.nitro.ts +234 -0
- package/src/specs/AuthAzureSAS.nitro.ts +205 -0
- package/src/specs/AuthAzureStorage.nitro.ts +172 -0
- package/src/specs/AuthGoogle.nitro.ts +291 -0
- package/src/specs/BinData.nitro.ts +470 -0
- package/src/specs/Bz2.nitro.ts +269 -0
- package/src/specs/Cache.nitro.ts +483 -0
- package/src/specs/Cert.nitro.ts +1279 -0
- package/src/specs/CertChain.nitro.ts +312 -0
- package/src/specs/CertStore.nitro.ts +430 -0
- package/src/specs/Charset.nitro.ts +518 -0
- package/src/specs/CkDateTime.nitro.ts +492 -0
- package/src/specs/CodeSign.nitro.ts +307 -0
- package/src/specs/Compression.nitro.ts +654 -0
- package/src/specs/Crypt2.nitro.ts +2387 -0
- package/src/specs/Csr.nitro.ts +461 -0
- package/src/specs/Csv.nitro.ts +670 -0
- package/src/specs/Dh.nitro.ts +343 -0
- package/src/specs/DirTree.nitro.ts +332 -0
- package/src/specs/Dkim.nitro.ts +595 -0
- package/src/specs/Dns.nitro.ts +271 -0
- package/src/specs/Dsa.nitro.ts +653 -0
- package/src/specs/DtObj.nitro.ts +198 -0
- package/src/specs/Ecc.nitro.ts +375 -0
- package/src/specs/EdDSA.nitro.ts +273 -0
- package/src/specs/Email.nitro.ts +2921 -0
- package/src/specs/EmailBundle.nitro.ts +334 -0
- package/src/specs/FileAccess.nitro.ts +836 -0
- package/src/specs/Ftp2.nitro.ts +3943 -0
- package/src/specs/Global.nitro.ts +319 -0
- package/src/specs/Gzip.nitro.ts +646 -0
- package/src/specs/Hashtable.nitro.ts +356 -0
- package/src/specs/HtmlToText.nitro.ts +238 -0
- package/src/specs/HtmlToXml.nitro.ts +323 -0
- package/src/specs/Http.nitro.ts +3095 -0
- package/src/specs/HttpCurl.nitro.ts +550 -0
- package/src/specs/HttpRequest.nitro.ts +522 -0
- package/src/specs/HttpResponse.nitro.ts +424 -0
- package/src/specs/Imap.nitro.ts +2991 -0
- package/src/specs/JavaKeyStore.nitro.ts +619 -0
- package/src/specs/Js.nitro.ts +263 -0
- package/src/specs/JsonArray.nitro.ts +681 -0
- package/src/specs/JsonObject.nitro.ts +1454 -0
- package/src/specs/Jwe.nitro.ts +756 -0
- package/src/specs/Jws.nitro.ts +733 -0
- package/src/specs/Jwt.nitro.ts +380 -0
- package/src/specs/Log.nitro.ts +258 -0
- package/src/specs/MailMan.nitro.ts +3571 -0
- package/src/specs/Mailboxes.nitro.ts +251 -0
- package/src/specs/Mcp.nitro.ts +491 -0
- package/src/specs/MessageSet.nitro.ts +320 -0
- package/src/specs/Mht.nitro.ts +1684 -0
- package/src/specs/Mime.nitro.ts +1745 -0
- package/src/specs/Ntlm.nitro.ts +556 -0
- package/src/specs/OAuth1.nitro.ts +331 -0
- package/src/specs/OAuth2.nitro.ts +1023 -0
- package/src/specs/Pdf.nitro.ts +740 -0
- package/src/specs/Pem.nitro.ts +484 -0
- package/src/specs/Pfx.nitro.ts +1003 -0
- package/src/specs/Pkcs11.nitro.ts +559 -0
- package/src/specs/PrivateKey.nitro.ts +994 -0
- package/src/specs/Prng.nitro.ts +348 -0
- package/src/specs/PublicKey.nitro.ts +610 -0
- package/src/specs/Rest.nitro.ts +1972 -0
- package/src/specs/Rsa.nitro.ts +453 -0
- package/src/specs/SCard.nitro.ts +739 -0
- package/src/specs/SFtp.nitro.ts +3138 -0
- package/src/specs/SFtpDir.nitro.ts +213 -0
- package/src/specs/SFtpFile.nitro.ts +452 -0
- package/src/specs/ScMinidriver.nitro.ts +443 -0
- package/src/specs/Scp.nitro.ts +708 -0
- package/src/specs/Secrets.nitro.ts +470 -0
- package/src/specs/SecureString.nitro.ts +231 -0
- package/src/specs/ServerSentEvent.nitro.ts +183 -0
- package/src/specs/Socket.nitro.ts +3335 -0
- package/src/specs/Spider.nitro.ts +609 -0
- package/src/specs/Ssh.nitro.ts +2842 -0
- package/src/specs/SshKey.nitro.ts +740 -0
- package/src/specs/SshTunnel.nitro.ts +1243 -0
- package/src/specs/Stream.nitro.ts +737 -0
- package/src/specs/StringArray.nitro.ts +396 -0
- package/src/specs/StringBuilder.nitro.ts +920 -0
- package/src/specs/StringTable.nitro.ts +271 -0
- package/src/specs/Tar.nitro.ts +804 -0
- package/src/specs/TrustedRoots.nitro.ts +360 -0
- package/src/specs/UnixCompress.nitro.ts +293 -0
- package/src/specs/Upload.nitro.ts +623 -0
- package/src/specs/Url.nitro.ts +246 -0
- package/src/specs/WebSocket.nitro.ts +840 -0
- package/src/specs/Xml.nitro.ts +1988 -0
- package/src/specs/XmlCertVault.nitro.ts +259 -0
- package/src/specs/XmlDSig.nitro.ts +464 -0
- package/src/specs/XmlDSigGen.nitro.ts +978 -0
- package/src/specs/Xmp.nitro.ts +364 -0
- package/src/specs/Zip.nitro.ts +1611 -0
- package/src/specs/ZipCrc.nitro.ts +229 -0
- package/src/specs/ZipEntry.nitro.ts +782 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
// ChilkatError.hpp -- hand-maintained (not generated).
|
|
2
|
+
// The exception every generated member throws when a Chilkat call fails, and the
|
|
3
|
+
// "reason line" rule that turns Chilkat's LastErrorText into a one-line message.
|
|
4
|
+
// ReactNativeGen_DESIGN.md §3.4.
|
|
5
|
+
//
|
|
6
|
+
// Nitro turns a std::exception thrown by a synchronous member into a JS Error whose
|
|
7
|
+
// message is "<Class>.<member>(...): <what()>", so what() is the bare reason. For the
|
|
8
|
+
// Promise-returning twins (AsyncCall.hpp) the rejection message is prefixed here.
|
|
9
|
+
#pragma once
|
|
10
|
+
|
|
11
|
+
#include <stdexcept>
|
|
12
|
+
#include <string>
|
|
13
|
+
#include <vector>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::chilkat {
|
|
16
|
+
|
|
17
|
+
class ChilkatError : public std::runtime_error {
|
|
18
|
+
public:
|
|
19
|
+
ChilkatError(const std::string& className, const std::string& methodName, const std::string& lastErrorText)
|
|
20
|
+
: std::runtime_error(reasonLine(lastErrorText)), _className(className), _methodName(methodName),
|
|
21
|
+
_lastErrorText(lastErrorText) {}
|
|
22
|
+
|
|
23
|
+
const std::string& className() const { return _className; }
|
|
24
|
+
const std::string& methodName() const { return _methodName; }
|
|
25
|
+
const std::string& lastErrorText() const { return _lastErrorText; }
|
|
26
|
+
|
|
27
|
+
// The last non-empty, non-structural line of a Chilkat log (the same rule as the Rust
|
|
28
|
+
// and Dart wrappers): section headers ("Foo:"), section ends ("--Foo"), braces and the
|
|
29
|
+
// bare "Failed." are skipped. Falls back to "see lastErrorText".
|
|
30
|
+
static std::string reasonLine(const std::string& log) {
|
|
31
|
+
std::vector<std::string> lines;
|
|
32
|
+
std::string cur;
|
|
33
|
+
for (char c : log) {
|
|
34
|
+
if (c == '\n') { lines.push_back(cur); cur.clear(); }
|
|
35
|
+
else if (c != '\r') cur.push_back(c);
|
|
36
|
+
}
|
|
37
|
+
if (!cur.empty()) lines.push_back(cur);
|
|
38
|
+
for (auto it = lines.rbegin(); it != lines.rend(); ++it) {
|
|
39
|
+
std::string s = trim(*it);
|
|
40
|
+
if (s.empty()) continue;
|
|
41
|
+
if (s == "ChilkatLog:" || s == "Failed." || s == "Failed" || s == "Success." || s == "{" || s == "}") continue;
|
|
42
|
+
if (s.size() >= 2 && s[0] == '-' && s[1] == '-') continue; // "--ChilkatLog", "--QuickGetStr"
|
|
43
|
+
if (s.back() == ':') continue; // "QuickGetStr:" section start
|
|
44
|
+
if (s.rfind("DllDate:", 0) == 0 || s.rfind("ChilkatVersion:", 0) == 0 || s.rfind("UnlockPrefix:", 0) == 0 ||
|
|
45
|
+
s.rfind("UnlockStatus:", 0) == 0 || s.rfind("Architecture:", 0) == 0 || s.rfind("Language:", 0) == 0 ||
|
|
46
|
+
s.rfind("VerboseLogging:", 0) == 0)
|
|
47
|
+
continue;
|
|
48
|
+
return s;
|
|
49
|
+
}
|
|
50
|
+
return "see lastErrorText";
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
private:
|
|
54
|
+
static std::string trim(const std::string& s) {
|
|
55
|
+
size_t b = 0, e = s.size();
|
|
56
|
+
while (b < e && (s[b] == ' ' || s[b] == '\t')) b++;
|
|
57
|
+
while (e > b && (s[e - 1] == ' ' || s[e - 1] == '\t')) e--;
|
|
58
|
+
return s.substr(b, e - b);
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
std::string _className;
|
|
62
|
+
std::string _methodName;
|
|
63
|
+
std::string _lastErrorText;
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace margelo::nitro::chilkat
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
// ChilkatObject.hpp -- hand-maintained (not generated).
|
|
2
|
+
// The per-object runtime every generated Hybrid<Class> mixes in: ownership of the Chilkat
|
|
3
|
+
// C++ object, the dispose / busy guards (ReactNativeGen_DESIGN.md §3.3, §5.2), the event
|
|
4
|
+
// state (§6) and the small conversion helpers the generated bodies call.
|
|
5
|
+
#pragma once
|
|
6
|
+
|
|
7
|
+
#include "ChilkatError.hpp"
|
|
8
|
+
#include <CkBaseProgress.h>
|
|
9
|
+
#include <CkString.h>
|
|
10
|
+
#include <atomic>
|
|
11
|
+
#include <cmath>
|
|
12
|
+
#include <cstdint>
|
|
13
|
+
#include <functional>
|
|
14
|
+
#include <limits>
|
|
15
|
+
#include <memory>
|
|
16
|
+
#include <mutex>
|
|
17
|
+
#include <optional>
|
|
18
|
+
#include <stdexcept>
|
|
19
|
+
#include <string>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::chilkat {
|
|
22
|
+
|
|
23
|
+
// ---- Events (§6) ------------------------------------------------------------
|
|
24
|
+
|
|
25
|
+
// Shared between a HybridObject and the CkBaseProgress adapter installed on its Chilkat
|
|
26
|
+
// object. Callbacks are read under the mutex by the thread running the Chilkat method
|
|
27
|
+
// and written by the JS thread; Nitro schedules the JS function itself on the JS thread.
|
|
28
|
+
struct EventState {
|
|
29
|
+
std::mutex mutex;
|
|
30
|
+
std::optional<std::function<void(double)>> onPercentDone;
|
|
31
|
+
std::optional<std::function<void(const std::string&, const std::string&)>> onProgressInfo;
|
|
32
|
+
std::atomic<bool> abortRequested{false};
|
|
33
|
+
|
|
34
|
+
void percentDone(int pct) {
|
|
35
|
+
std::optional<std::function<void(double)>> cb;
|
|
36
|
+
{ std::lock_guard<std::mutex> lock(mutex); cb = onPercentDone; }
|
|
37
|
+
if (cb.has_value()) (*cb)(static_cast<double>(pct));
|
|
38
|
+
}
|
|
39
|
+
void progressInfo(const char* name, const char* value) {
|
|
40
|
+
std::optional<std::function<void(const std::string&, const std::string&)>> cb;
|
|
41
|
+
{ std::lock_guard<std::mutex> lock(mutex); cb = onProgressInfo; }
|
|
42
|
+
if (cb.has_value()) (*cb)(std::string(name ? name : ""), std::string(value ? value : ""));
|
|
43
|
+
}
|
|
44
|
+
};
|
|
45
|
+
|
|
46
|
+
// ---- Busy guard (§5.2) -------------------------------------------------------
|
|
47
|
+
|
|
48
|
+
// The non-template face of ChilkatObject<Ck>, so AsyncCall can mark object arguments of
|
|
49
|
+
// any class busy while a Promise-returning twin runs.
|
|
50
|
+
class ChilkatBusy {
|
|
51
|
+
public:
|
|
52
|
+
virtual ~ChilkatBusy() = default;
|
|
53
|
+
// Marks the object busy with `what` ("Http.quickGetStrAsync"); false if it already was.
|
|
54
|
+
bool markBusy(const char* what) {
|
|
55
|
+
const char* expected = nullptr;
|
|
56
|
+
return _busyWith.compare_exchange_strong(expected, what);
|
|
57
|
+
}
|
|
58
|
+
void clearBusy() { _busyWith.store(nullptr); }
|
|
59
|
+
const char* busyWith() const { return _busyWith.load(); }
|
|
60
|
+
virtual const char* chilkatClassName() const = 0;
|
|
61
|
+
|
|
62
|
+
protected:
|
|
63
|
+
std::atomic<const char*> _busyWith{nullptr};
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
// ---- The object ---------------------------------------------------------------
|
|
67
|
+
|
|
68
|
+
template <typename Ck>
|
|
69
|
+
class ChilkatObject : public ChilkatBusy {
|
|
70
|
+
public:
|
|
71
|
+
// `owned` was created by Ck::createNew2(PROGLANG_REACT_NATIVE) or returned by a Chilkat
|
|
72
|
+
// method (heap-allocated, ours to delete).
|
|
73
|
+
ChilkatObject(const char* className, Ck* owned) : _className(className), _ck(owned) {
|
|
74
|
+
if (!_ck) throw std::runtime_error(std::string(className) + ": the native Chilkat object could not be created");
|
|
75
|
+
_ck->put_Utf8(true);
|
|
76
|
+
}
|
|
77
|
+
~ChilkatObject() override {
|
|
78
|
+
// The Chilkat object goes first: it may still point at the progress adapter.
|
|
79
|
+
_ck.reset();
|
|
80
|
+
_progress.reset();
|
|
81
|
+
}
|
|
82
|
+
ChilkatObject(const ChilkatObject&) = delete;
|
|
83
|
+
ChilkatObject& operator=(const ChilkatObject&) = delete;
|
|
84
|
+
|
|
85
|
+
const char* chilkatClassName() const override { return _className; }
|
|
86
|
+
|
|
87
|
+
// The Chilkat object. Throws after dispose(). Does not check the busy flag: the
|
|
88
|
+
// generated *_impl bodies run while the object is (deliberately) busy.
|
|
89
|
+
Ck& ck() {
|
|
90
|
+
if (!_ck) throw std::runtime_error(std::string(_className) + " has been disposed");
|
|
91
|
+
return *_ck;
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
// Start of every public synchronous member: not disposed, not busy. A synchronous
|
|
95
|
+
// call also clears a stale abort() request (nothing was pending, so it meant nothing).
|
|
96
|
+
void beginCall() {
|
|
97
|
+
if (!_ck) throw std::runtime_error(std::string(_className) + " has been disposed");
|
|
98
|
+
const char* b = _busyWith.load();
|
|
99
|
+
if (b) throw std::runtime_error(std::string(_className) + " is busy (" + b + " in progress)");
|
|
100
|
+
if (_ev) _ev->abortRequested.store(false);
|
|
101
|
+
}
|
|
102
|
+
|
|
103
|
+
// dispose(): release the Chilkat object now. Refused while an async call is running.
|
|
104
|
+
void disposeChilkat() {
|
|
105
|
+
const char* b = _busyWith.load();
|
|
106
|
+
if (b) throw std::runtime_error(std::string(_className) + " is busy (" + b + " in progress) and cannot be disposed");
|
|
107
|
+
_ck.reset();
|
|
108
|
+
_progress.reset();
|
|
109
|
+
}
|
|
110
|
+
bool isDisposed() const { return !_ck; }
|
|
111
|
+
|
|
112
|
+
// The exception for a failed call: LastErrorText is read now, before the next call
|
|
113
|
+
// overwrites it.
|
|
114
|
+
ChilkatError fail(const char* method) {
|
|
115
|
+
CkString s;
|
|
116
|
+
if (_ck) _ck->get_LastErrorText(s);
|
|
117
|
+
const char* t = s.getUtf8();
|
|
118
|
+
return ChilkatError(_className, method, t ? t : "");
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
// ---- events (event-capable classes only) ----
|
|
122
|
+
// The generated constructor installs the adapter (ProgressAdapter.hpp) once.
|
|
123
|
+
template <typename Adapter>
|
|
124
|
+
void installProgress() {
|
|
125
|
+
_ev = std::make_shared<EventState>();
|
|
126
|
+
auto adapter = std::make_unique<Adapter>(_ev);
|
|
127
|
+
_ck->put_EventCallbackObject(adapter.get());
|
|
128
|
+
_progress = std::move(adapter);
|
|
129
|
+
}
|
|
130
|
+
const std::shared_ptr<EventState>& events() const { return _ev; }
|
|
131
|
+
|
|
132
|
+
void requestAbort() { if (_ev) _ev->abortRequested.store(true); }
|
|
133
|
+
void clearAbort() { if (_ev) _ev->abortRequested.store(false); }
|
|
134
|
+
|
|
135
|
+
std::optional<std::function<void(double)>> getOnPercentDoneCb() {
|
|
136
|
+
std::lock_guard<std::mutex> lock(_ev->mutex);
|
|
137
|
+
return _ev->onPercentDone;
|
|
138
|
+
}
|
|
139
|
+
void setOnPercentDoneCb(const std::optional<std::function<void(double)>>& cb) {
|
|
140
|
+
std::lock_guard<std::mutex> lock(_ev->mutex);
|
|
141
|
+
_ev->onPercentDone = cb;
|
|
142
|
+
}
|
|
143
|
+
std::optional<std::function<void(const std::string&, const std::string&)>> getOnProgressInfoCb() {
|
|
144
|
+
std::lock_guard<std::mutex> lock(_ev->mutex);
|
|
145
|
+
return _ev->onProgressInfo;
|
|
146
|
+
}
|
|
147
|
+
void setOnProgressInfoCb(const std::optional<std::function<void(const std::string&, const std::string&)>>& cb) {
|
|
148
|
+
std::lock_guard<std::mutex> lock(_ev->mutex);
|
|
149
|
+
_ev->onProgressInfo = cb;
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
protected:
|
|
153
|
+
const char* _className;
|
|
154
|
+
std::shared_ptr<EventState> _ev; // null for the 59 non-event classes
|
|
155
|
+
std::unique_ptr<CkBaseProgress> _progress; // declared before _ck: destroyed after it
|
|
156
|
+
std::unique_ptr<Ck> _ck;
|
|
157
|
+
};
|
|
158
|
+
|
|
159
|
+
// ---- Conversion helpers used by the generated bodies -------------------------------
|
|
160
|
+
// In their own namespace (`rt::`) so that a Chilkat argument name can never shadow them.
|
|
161
|
+
namespace rt {
|
|
162
|
+
|
|
163
|
+
// Chilkat takes NUL-terminated UTF-8; an interior NUL would silently truncate.
|
|
164
|
+
inline void checkNoNul(const std::string& s, const char* argName) {
|
|
165
|
+
if (s.find('\0') != std::string::npos)
|
|
166
|
+
throw std::runtime_error(std::string("argument '") + argName + "' contains a NUL character");
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
inline void checkFinite(double v, const char* argName) {
|
|
170
|
+
if (!std::isfinite(v)) throw std::runtime_error(std::string("argument '") + argName + "' is not a finite number");
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
inline int toInt(double v, const char* argName) {
|
|
174
|
+
checkFinite(v, argName);
|
|
175
|
+
if (v < static_cast<double>(std::numeric_limits<int>::min()) || v > static_cast<double>(std::numeric_limits<int>::max()))
|
|
176
|
+
throw std::runtime_error(std::string("argument '") + argName + "' is out of range for a 32-bit integer");
|
|
177
|
+
return static_cast<int>(v);
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
inline unsigned long toULong(double v, const char* argName) {
|
|
181
|
+
checkFinite(v, argName);
|
|
182
|
+
if (v < 0 || v > static_cast<double>(std::numeric_limits<unsigned long>::max()))
|
|
183
|
+
throw std::runtime_error(std::string("argument '") + argName + "' is out of range for an unsigned integer");
|
|
184
|
+
return static_cast<unsigned long>(v);
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
inline __int64 toInt64(double v, const char* argName) {
|
|
188
|
+
checkFinite(v, argName);
|
|
189
|
+
return static_cast<__int64>(v); // exact up to 2^53 (documented)
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
inline int sizeToInt(size_t n, const char* argName) {
|
|
193
|
+
if (n > static_cast<size_t>(std::numeric_limits<int>::max()))
|
|
194
|
+
throw std::runtime_error(std::string("argument '") + argName + "' is too large (more than 2 GB)");
|
|
195
|
+
return static_cast<int>(n);
|
|
196
|
+
}
|
|
197
|
+
|
|
198
|
+
inline double toDouble(double v, const char* argName) {
|
|
199
|
+
checkFinite(v, argName);
|
|
200
|
+
return v;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
// CkString -> std::string (UTF-8; the objects are created with put_Utf8(true)).
|
|
204
|
+
inline std::string stdString(const CkString& s) {
|
|
205
|
+
const char* p = s.getUtf8();
|
|
206
|
+
return p ? std::string(p) : std::string();
|
|
207
|
+
}
|
|
208
|
+
|
|
209
|
+
// The implementation object behind a HybridObject argument (nitrogen types arguments as
|
|
210
|
+
// the spec class). Throws when the argument is not one of ours (or was disposed).
|
|
211
|
+
template <typename Impl, typename Spec>
|
|
212
|
+
inline Impl& implOf(const std::shared_ptr<Spec>& p, const char* argName) {
|
|
213
|
+
Impl* i = dynamic_cast<Impl*>(p.get());
|
|
214
|
+
if (!i) throw std::runtime_error(std::string("argument '") + argName + "' is not a Chilkat object of the expected class");
|
|
215
|
+
return *i;
|
|
216
|
+
}
|
|
217
|
+
|
|
218
|
+
} // namespace rt
|
|
219
|
+
} // namespace margelo::nitro::chilkat
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// Generated by ReactNativeNs.RnGenerator -- do not edit.
|
|
2
|
+
// Chilkat's programming-language id for React Native (ReactNativeGen_DESIGN.md §3.3), passed to
|
|
3
|
+
// Ck<Class>::createNew2(). The library's language table must contain the same value.
|
|
4
|
+
#pragma once
|
|
5
|
+
|
|
6
|
+
namespace margelo::nitro::chilkat {
|
|
7
|
+
constexpr int PROGLANG_REACT_NATIVE = 25;
|
|
8
|
+
constexpr const char* CHILKAT_RN_VERSION = "11.6.1";
|
|
9
|
+
} // namespace margelo::nitro::chilkat
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
// ProgressAdapter.hpp -- hand-maintained (not generated).
|
|
2
|
+
// The CkBaseProgress subclass installed on every event-capable Chilkat object. It runs on
|
|
3
|
+
// whatever thread executes the Chilkat method (the JS thread for a synchronous call, our
|
|
4
|
+
// worker thread for an xxxAsync twin), forwards PercentDone / ProgressInfo to the JS
|
|
5
|
+
// callbacks held in EventState (Nitro schedules them on the JS thread), and answers
|
|
6
|
+
// AbortCheck / PercentDone's abort flag from abort(). ReactNativeGen_DESIGN.md §6.
|
|
7
|
+
//
|
|
8
|
+
// TProgress is CkBaseProgress for most classes, or the class-specific subclass a few
|
|
9
|
+
// classes require (CkHttpProgress, CkFtp2Progress, CkMailManProgress, CkSFtpProgress,
|
|
10
|
+
// CkTarProgress, CkZipProgress); the generated constructor picks it from the header's
|
|
11
|
+
// put_EventCallbackObject signature. Class-specific events on those subclasses keep
|
|
12
|
+
// their empty default implementations (permanently out of scope).
|
|
13
|
+
#pragma once
|
|
14
|
+
|
|
15
|
+
#include "ChilkatObject.hpp"
|
|
16
|
+
#include <memory>
|
|
17
|
+
|
|
18
|
+
namespace margelo::nitro::chilkat {
|
|
19
|
+
|
|
20
|
+
template <typename TProgress>
|
|
21
|
+
class ProgressAdapter final : public TProgress {
|
|
22
|
+
public:
|
|
23
|
+
explicit ProgressAdapter(std::shared_ptr<EventState> ev) : _ev(std::move(ev)) {}
|
|
24
|
+
|
|
25
|
+
using TProgress::AbortCheck; // keep the bool-returning overloads visible
|
|
26
|
+
using TProgress::PercentDone;
|
|
27
|
+
|
|
28
|
+
void AbortCheck(bool* abort) override {
|
|
29
|
+
if (abort) *abort = _ev->abortRequested.load();
|
|
30
|
+
}
|
|
31
|
+
void PercentDone(int pctDone, bool* abort) override {
|
|
32
|
+
_ev->percentDone(pctDone);
|
|
33
|
+
if (abort) *abort = _ev->abortRequested.load();
|
|
34
|
+
}
|
|
35
|
+
void ProgressInfo(const char* name, const char* value) override {
|
|
36
|
+
_ev->progressInfo(name, value);
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
private:
|
|
40
|
+
std::shared_ptr<EventState> _ev;
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
} // namespace margelo::nitro::chilkat
|
package/nitro.json
ADDED
|
@@ -0,0 +1,113 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://nitro.margelo.com/nitro.schema.json",
|
|
3
|
+
"cxxNamespace": ["chilkat"],
|
|
4
|
+
"ios": {
|
|
5
|
+
"iosModuleName": "ChilkatRN"
|
|
6
|
+
},
|
|
7
|
+
"android": {
|
|
8
|
+
"androidNamespace": ["chilkat"],
|
|
9
|
+
"androidCxxLibName": "ChilkatRN"
|
|
10
|
+
},
|
|
11
|
+
"autolinking": {
|
|
12
|
+
"Ai": { "all": { "language": "c++", "implementationClassName": "HybridAi" } },
|
|
13
|
+
"Asn": { "all": { "language": "c++", "implementationClassName": "HybridAsn" } },
|
|
14
|
+
"AuthAws": { "all": { "language": "c++", "implementationClassName": "HybridAuthAws" } },
|
|
15
|
+
"AuthAzureSAS": { "all": { "language": "c++", "implementationClassName": "HybridAuthAzureSAS" } },
|
|
16
|
+
"AuthAzureStorage": { "all": { "language": "c++", "implementationClassName": "HybridAuthAzureStorage" } },
|
|
17
|
+
"AuthGoogle": { "all": { "language": "c++", "implementationClassName": "HybridAuthGoogle" } },
|
|
18
|
+
"BinData": { "all": { "language": "c++", "implementationClassName": "HybridBinData" } },
|
|
19
|
+
"Bz2": { "all": { "language": "c++", "implementationClassName": "HybridBz2" } },
|
|
20
|
+
"Cache": { "all": { "language": "c++", "implementationClassName": "HybridCache" } },
|
|
21
|
+
"Cert": { "all": { "language": "c++", "implementationClassName": "HybridCert" } },
|
|
22
|
+
"CertChain": { "all": { "language": "c++", "implementationClassName": "HybridCertChain" } },
|
|
23
|
+
"CertStore": { "all": { "language": "c++", "implementationClassName": "HybridCertStore" } },
|
|
24
|
+
"Charset": { "all": { "language": "c++", "implementationClassName": "HybridCharset" } },
|
|
25
|
+
"CkDateTime": { "all": { "language": "c++", "implementationClassName": "HybridCkDateTime" } },
|
|
26
|
+
"CodeSign": { "all": { "language": "c++", "implementationClassName": "HybridCodeSign" } },
|
|
27
|
+
"Compression": { "all": { "language": "c++", "implementationClassName": "HybridCompression" } },
|
|
28
|
+
"Crypt2": { "all": { "language": "c++", "implementationClassName": "HybridCrypt2" } },
|
|
29
|
+
"Csr": { "all": { "language": "c++", "implementationClassName": "HybridCsr" } },
|
|
30
|
+
"Csv": { "all": { "language": "c++", "implementationClassName": "HybridCsv" } },
|
|
31
|
+
"Dh": { "all": { "language": "c++", "implementationClassName": "HybridDh" } },
|
|
32
|
+
"DirTree": { "all": { "language": "c++", "implementationClassName": "HybridDirTree" } },
|
|
33
|
+
"Dkim": { "all": { "language": "c++", "implementationClassName": "HybridDkim" } },
|
|
34
|
+
"Dns": { "all": { "language": "c++", "implementationClassName": "HybridDns" } },
|
|
35
|
+
"Dsa": { "all": { "language": "c++", "implementationClassName": "HybridDsa" } },
|
|
36
|
+
"DtObj": { "all": { "language": "c++", "implementationClassName": "HybridDtObj" } },
|
|
37
|
+
"Ecc": { "all": { "language": "c++", "implementationClassName": "HybridEcc" } },
|
|
38
|
+
"EdDSA": { "all": { "language": "c++", "implementationClassName": "HybridEdDSA" } },
|
|
39
|
+
"Email": { "all": { "language": "c++", "implementationClassName": "HybridEmail" } },
|
|
40
|
+
"EmailBundle": { "all": { "language": "c++", "implementationClassName": "HybridEmailBundle" } },
|
|
41
|
+
"FileAccess": { "all": { "language": "c++", "implementationClassName": "HybridFileAccess" } },
|
|
42
|
+
"Ftp2": { "all": { "language": "c++", "implementationClassName": "HybridFtp2" } },
|
|
43
|
+
"Global": { "all": { "language": "c++", "implementationClassName": "HybridGlobal" } },
|
|
44
|
+
"Gzip": { "all": { "language": "c++", "implementationClassName": "HybridGzip" } },
|
|
45
|
+
"Hashtable": { "all": { "language": "c++", "implementationClassName": "HybridHashtable" } },
|
|
46
|
+
"HtmlToText": { "all": { "language": "c++", "implementationClassName": "HybridHtmlToText" } },
|
|
47
|
+
"HtmlToXml": { "all": { "language": "c++", "implementationClassName": "HybridHtmlToXml" } },
|
|
48
|
+
"Http": { "all": { "language": "c++", "implementationClassName": "HybridHttp" } },
|
|
49
|
+
"HttpCurl": { "all": { "language": "c++", "implementationClassName": "HybridHttpCurl" } },
|
|
50
|
+
"HttpRequest": { "all": { "language": "c++", "implementationClassName": "HybridHttpRequest" } },
|
|
51
|
+
"HttpResponse": { "all": { "language": "c++", "implementationClassName": "HybridHttpResponse" } },
|
|
52
|
+
"Imap": { "all": { "language": "c++", "implementationClassName": "HybridImap" } },
|
|
53
|
+
"JavaKeyStore": { "all": { "language": "c++", "implementationClassName": "HybridJavaKeyStore" } },
|
|
54
|
+
"Js": { "all": { "language": "c++", "implementationClassName": "HybridJs" } },
|
|
55
|
+
"JsonArray": { "all": { "language": "c++", "implementationClassName": "HybridJsonArray" } },
|
|
56
|
+
"JsonObject": { "all": { "language": "c++", "implementationClassName": "HybridJsonObject" } },
|
|
57
|
+
"Jwe": { "all": { "language": "c++", "implementationClassName": "HybridJwe" } },
|
|
58
|
+
"Jws": { "all": { "language": "c++", "implementationClassName": "HybridJws" } },
|
|
59
|
+
"Jwt": { "all": { "language": "c++", "implementationClassName": "HybridJwt" } },
|
|
60
|
+
"Log": { "all": { "language": "c++", "implementationClassName": "HybridLog" } },
|
|
61
|
+
"MailMan": { "all": { "language": "c++", "implementationClassName": "HybridMailMan" } },
|
|
62
|
+
"Mailboxes": { "all": { "language": "c++", "implementationClassName": "HybridMailboxes" } },
|
|
63
|
+
"Mcp": { "all": { "language": "c++", "implementationClassName": "HybridMcp" } },
|
|
64
|
+
"MessageSet": { "all": { "language": "c++", "implementationClassName": "HybridMessageSet" } },
|
|
65
|
+
"Mht": { "all": { "language": "c++", "implementationClassName": "HybridMht" } },
|
|
66
|
+
"Mime": { "all": { "language": "c++", "implementationClassName": "HybridMime" } },
|
|
67
|
+
"Ntlm": { "all": { "language": "c++", "implementationClassName": "HybridNtlm" } },
|
|
68
|
+
"OAuth1": { "all": { "language": "c++", "implementationClassName": "HybridOAuth1" } },
|
|
69
|
+
"OAuth2": { "all": { "language": "c++", "implementationClassName": "HybridOAuth2" } },
|
|
70
|
+
"Pdf": { "all": { "language": "c++", "implementationClassName": "HybridPdf" } },
|
|
71
|
+
"Pem": { "all": { "language": "c++", "implementationClassName": "HybridPem" } },
|
|
72
|
+
"Pfx": { "all": { "language": "c++", "implementationClassName": "HybridPfx" } },
|
|
73
|
+
"Pkcs11": { "all": { "language": "c++", "implementationClassName": "HybridPkcs11" } },
|
|
74
|
+
"PrivateKey": { "all": { "language": "c++", "implementationClassName": "HybridPrivateKey" } },
|
|
75
|
+
"Prng": { "all": { "language": "c++", "implementationClassName": "HybridPrng" } },
|
|
76
|
+
"PublicKey": { "all": { "language": "c++", "implementationClassName": "HybridPublicKey" } },
|
|
77
|
+
"Rest": { "all": { "language": "c++", "implementationClassName": "HybridRest" } },
|
|
78
|
+
"Rsa": { "all": { "language": "c++", "implementationClassName": "HybridRsa" } },
|
|
79
|
+
"SCard": { "all": { "language": "c++", "implementationClassName": "HybridSCard" } },
|
|
80
|
+
"SFtp": { "all": { "language": "c++", "implementationClassName": "HybridSFtp" } },
|
|
81
|
+
"SFtpDir": { "all": { "language": "c++", "implementationClassName": "HybridSFtpDir" } },
|
|
82
|
+
"SFtpFile": { "all": { "language": "c++", "implementationClassName": "HybridSFtpFile" } },
|
|
83
|
+
"ScMinidriver": { "all": { "language": "c++", "implementationClassName": "HybridScMinidriver" } },
|
|
84
|
+
"Scp": { "all": { "language": "c++", "implementationClassName": "HybridScp" } },
|
|
85
|
+
"Secrets": { "all": { "language": "c++", "implementationClassName": "HybridSecrets" } },
|
|
86
|
+
"SecureString": { "all": { "language": "c++", "implementationClassName": "HybridSecureString" } },
|
|
87
|
+
"ServerSentEvent": { "all": { "language": "c++", "implementationClassName": "HybridServerSentEvent" } },
|
|
88
|
+
"Socket": { "all": { "language": "c++", "implementationClassName": "HybridSocket" } },
|
|
89
|
+
"Spider": { "all": { "language": "c++", "implementationClassName": "HybridSpider" } },
|
|
90
|
+
"Ssh": { "all": { "language": "c++", "implementationClassName": "HybridSsh" } },
|
|
91
|
+
"SshKey": { "all": { "language": "c++", "implementationClassName": "HybridSshKey" } },
|
|
92
|
+
"SshTunnel": { "all": { "language": "c++", "implementationClassName": "HybridSshTunnel" } },
|
|
93
|
+
"Stream": { "all": { "language": "c++", "implementationClassName": "HybridStream" } },
|
|
94
|
+
"StringArray": { "all": { "language": "c++", "implementationClassName": "HybridStringArray" } },
|
|
95
|
+
"StringBuilder": { "all": { "language": "c++", "implementationClassName": "HybridStringBuilder" } },
|
|
96
|
+
"StringTable": { "all": { "language": "c++", "implementationClassName": "HybridStringTable" } },
|
|
97
|
+
"Tar": { "all": { "language": "c++", "implementationClassName": "HybridTar" } },
|
|
98
|
+
"TrustedRoots": { "all": { "language": "c++", "implementationClassName": "HybridTrustedRoots" } },
|
|
99
|
+
"UnixCompress": { "all": { "language": "c++", "implementationClassName": "HybridUnixCompress" } },
|
|
100
|
+
"Upload": { "all": { "language": "c++", "implementationClassName": "HybridUpload" } },
|
|
101
|
+
"Url": { "all": { "language": "c++", "implementationClassName": "HybridUrl" } },
|
|
102
|
+
"WebSocket": { "all": { "language": "c++", "implementationClassName": "HybridWebSocket" } },
|
|
103
|
+
"Xml": { "all": { "language": "c++", "implementationClassName": "HybridXml" } },
|
|
104
|
+
"XmlCertVault": { "all": { "language": "c++", "implementationClassName": "HybridXmlCertVault" } },
|
|
105
|
+
"XmlDSig": { "all": { "language": "c++", "implementationClassName": "HybridXmlDSig" } },
|
|
106
|
+
"XmlDSigGen": { "all": { "language": "c++", "implementationClassName": "HybridXmlDSigGen" } },
|
|
107
|
+
"Xmp": { "all": { "language": "c++", "implementationClassName": "HybridXmp" } },
|
|
108
|
+
"Zip": { "all": { "language": "c++", "implementationClassName": "HybridZip" } },
|
|
109
|
+
"ZipCrc": { "all": { "language": "c++", "implementationClassName": "HybridZipCrc" } },
|
|
110
|
+
"ZipEntry": { "all": { "language": "c++", "implementationClassName": "HybridZipEntry" } }
|
|
111
|
+
},
|
|
112
|
+
"ignorePaths": ["node_modules", "example"]
|
|
113
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
** linguist-generated=true
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
#
|
|
2
|
+
# ChilkatRN+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/ChilkatRN+autolinking.cmake)
|
|
14
|
+
# ```
|
|
15
|
+
|
|
16
|
+
# Define a flag to check if we are building properly
|
|
17
|
+
add_definitions(-DBUILDING_CHILKATRN_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
|
+
ChilkatRN PRIVATE
|
|
33
|
+
# Autolinking Setup
|
|
34
|
+
../nitrogen/generated/android/ChilkatRNOnLoad.cpp
|
|
35
|
+
# Shared Nitrogen C++ sources
|
|
36
|
+
../nitrogen/generated/shared/c++/HybridAiSpec.cpp
|
|
37
|
+
../nitrogen/generated/shared/c++/HybridAsnSpec.cpp
|
|
38
|
+
../nitrogen/generated/shared/c++/HybridAuthAwsSpec.cpp
|
|
39
|
+
../nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.cpp
|
|
40
|
+
../nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.cpp
|
|
41
|
+
../nitrogen/generated/shared/c++/HybridAuthGoogleSpec.cpp
|
|
42
|
+
../nitrogen/generated/shared/c++/HybridBinDataSpec.cpp
|
|
43
|
+
../nitrogen/generated/shared/c++/HybridBz2Spec.cpp
|
|
44
|
+
../nitrogen/generated/shared/c++/HybridCacheSpec.cpp
|
|
45
|
+
../nitrogen/generated/shared/c++/HybridCertSpec.cpp
|
|
46
|
+
../nitrogen/generated/shared/c++/HybridCertChainSpec.cpp
|
|
47
|
+
../nitrogen/generated/shared/c++/HybridCertStoreSpec.cpp
|
|
48
|
+
../nitrogen/generated/shared/c++/HybridCharsetSpec.cpp
|
|
49
|
+
../nitrogen/generated/shared/c++/HybridCkDateTimeSpec.cpp
|
|
50
|
+
../nitrogen/generated/shared/c++/HybridCodeSignSpec.cpp
|
|
51
|
+
../nitrogen/generated/shared/c++/HybridCompressionSpec.cpp
|
|
52
|
+
../nitrogen/generated/shared/c++/HybridCrypt2Spec.cpp
|
|
53
|
+
../nitrogen/generated/shared/c++/HybridCsrSpec.cpp
|
|
54
|
+
../nitrogen/generated/shared/c++/HybridCsvSpec.cpp
|
|
55
|
+
../nitrogen/generated/shared/c++/HybridDhSpec.cpp
|
|
56
|
+
../nitrogen/generated/shared/c++/HybridDirTreeSpec.cpp
|
|
57
|
+
../nitrogen/generated/shared/c++/HybridDkimSpec.cpp
|
|
58
|
+
../nitrogen/generated/shared/c++/HybridDnsSpec.cpp
|
|
59
|
+
../nitrogen/generated/shared/c++/HybridDsaSpec.cpp
|
|
60
|
+
../nitrogen/generated/shared/c++/HybridDtObjSpec.cpp
|
|
61
|
+
../nitrogen/generated/shared/c++/HybridEccSpec.cpp
|
|
62
|
+
../nitrogen/generated/shared/c++/HybridEdDSASpec.cpp
|
|
63
|
+
../nitrogen/generated/shared/c++/HybridEmailSpec.cpp
|
|
64
|
+
../nitrogen/generated/shared/c++/HybridEmailBundleSpec.cpp
|
|
65
|
+
../nitrogen/generated/shared/c++/HybridFileAccessSpec.cpp
|
|
66
|
+
../nitrogen/generated/shared/c++/HybridFtp2Spec.cpp
|
|
67
|
+
../nitrogen/generated/shared/c++/HybridGlobalSpec.cpp
|
|
68
|
+
../nitrogen/generated/shared/c++/HybridGzipSpec.cpp
|
|
69
|
+
../nitrogen/generated/shared/c++/HybridHashtableSpec.cpp
|
|
70
|
+
../nitrogen/generated/shared/c++/HybridHtmlToTextSpec.cpp
|
|
71
|
+
../nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.cpp
|
|
72
|
+
../nitrogen/generated/shared/c++/HybridHttpSpec.cpp
|
|
73
|
+
../nitrogen/generated/shared/c++/HybridHttpCurlSpec.cpp
|
|
74
|
+
../nitrogen/generated/shared/c++/HybridHttpRequestSpec.cpp
|
|
75
|
+
../nitrogen/generated/shared/c++/HybridHttpResponseSpec.cpp
|
|
76
|
+
../nitrogen/generated/shared/c++/HybridImapSpec.cpp
|
|
77
|
+
../nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.cpp
|
|
78
|
+
../nitrogen/generated/shared/c++/HybridJsSpec.cpp
|
|
79
|
+
../nitrogen/generated/shared/c++/HybridJsonArraySpec.cpp
|
|
80
|
+
../nitrogen/generated/shared/c++/HybridJsonObjectSpec.cpp
|
|
81
|
+
../nitrogen/generated/shared/c++/HybridJweSpec.cpp
|
|
82
|
+
../nitrogen/generated/shared/c++/HybridJwsSpec.cpp
|
|
83
|
+
../nitrogen/generated/shared/c++/HybridJwtSpec.cpp
|
|
84
|
+
../nitrogen/generated/shared/c++/HybridLogSpec.cpp
|
|
85
|
+
../nitrogen/generated/shared/c++/HybridMailboxesSpec.cpp
|
|
86
|
+
../nitrogen/generated/shared/c++/HybridMailManSpec.cpp
|
|
87
|
+
../nitrogen/generated/shared/c++/HybridMcpSpec.cpp
|
|
88
|
+
../nitrogen/generated/shared/c++/HybridMessageSetSpec.cpp
|
|
89
|
+
../nitrogen/generated/shared/c++/HybridMhtSpec.cpp
|
|
90
|
+
../nitrogen/generated/shared/c++/HybridMimeSpec.cpp
|
|
91
|
+
../nitrogen/generated/shared/c++/HybridNtlmSpec.cpp
|
|
92
|
+
../nitrogen/generated/shared/c++/HybridOAuth1Spec.cpp
|
|
93
|
+
../nitrogen/generated/shared/c++/HybridOAuth2Spec.cpp
|
|
94
|
+
../nitrogen/generated/shared/c++/HybridPdfSpec.cpp
|
|
95
|
+
../nitrogen/generated/shared/c++/HybridPemSpec.cpp
|
|
96
|
+
../nitrogen/generated/shared/c++/HybridPfxSpec.cpp
|
|
97
|
+
../nitrogen/generated/shared/c++/HybridPkcs11Spec.cpp
|
|
98
|
+
../nitrogen/generated/shared/c++/HybridPrivateKeySpec.cpp
|
|
99
|
+
../nitrogen/generated/shared/c++/HybridPrngSpec.cpp
|
|
100
|
+
../nitrogen/generated/shared/c++/HybridPublicKeySpec.cpp
|
|
101
|
+
../nitrogen/generated/shared/c++/HybridRestSpec.cpp
|
|
102
|
+
../nitrogen/generated/shared/c++/HybridRsaSpec.cpp
|
|
103
|
+
../nitrogen/generated/shared/c++/HybridSCardSpec.cpp
|
|
104
|
+
../nitrogen/generated/shared/c++/HybridScMinidriverSpec.cpp
|
|
105
|
+
../nitrogen/generated/shared/c++/HybridScpSpec.cpp
|
|
106
|
+
../nitrogen/generated/shared/c++/HybridSecretsSpec.cpp
|
|
107
|
+
../nitrogen/generated/shared/c++/HybridSecureStringSpec.cpp
|
|
108
|
+
../nitrogen/generated/shared/c++/HybridServerSentEventSpec.cpp
|
|
109
|
+
../nitrogen/generated/shared/c++/HybridSFtpSpec.cpp
|
|
110
|
+
../nitrogen/generated/shared/c++/HybridSFtpDirSpec.cpp
|
|
111
|
+
../nitrogen/generated/shared/c++/HybridSFtpFileSpec.cpp
|
|
112
|
+
../nitrogen/generated/shared/c++/HybridSocketSpec.cpp
|
|
113
|
+
../nitrogen/generated/shared/c++/HybridSpiderSpec.cpp
|
|
114
|
+
../nitrogen/generated/shared/c++/HybridSshSpec.cpp
|
|
115
|
+
../nitrogen/generated/shared/c++/HybridSshKeySpec.cpp
|
|
116
|
+
../nitrogen/generated/shared/c++/HybridSshTunnelSpec.cpp
|
|
117
|
+
../nitrogen/generated/shared/c++/HybridStreamSpec.cpp
|
|
118
|
+
../nitrogen/generated/shared/c++/HybridStringArraySpec.cpp
|
|
119
|
+
../nitrogen/generated/shared/c++/HybridStringBuilderSpec.cpp
|
|
120
|
+
../nitrogen/generated/shared/c++/HybridStringTableSpec.cpp
|
|
121
|
+
../nitrogen/generated/shared/c++/HybridTarSpec.cpp
|
|
122
|
+
../nitrogen/generated/shared/c++/HybridTrustedRootsSpec.cpp
|
|
123
|
+
../nitrogen/generated/shared/c++/HybridUnixCompressSpec.cpp
|
|
124
|
+
../nitrogen/generated/shared/c++/HybridUploadSpec.cpp
|
|
125
|
+
../nitrogen/generated/shared/c++/HybridUrlSpec.cpp
|
|
126
|
+
../nitrogen/generated/shared/c++/HybridWebSocketSpec.cpp
|
|
127
|
+
../nitrogen/generated/shared/c++/HybridXmlSpec.cpp
|
|
128
|
+
../nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.cpp
|
|
129
|
+
../nitrogen/generated/shared/c++/HybridXmlDSigSpec.cpp
|
|
130
|
+
../nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.cpp
|
|
131
|
+
../nitrogen/generated/shared/c++/HybridXmpSpec.cpp
|
|
132
|
+
../nitrogen/generated/shared/c++/HybridZipSpec.cpp
|
|
133
|
+
../nitrogen/generated/shared/c++/HybridZipCrcSpec.cpp
|
|
134
|
+
../nitrogen/generated/shared/c++/HybridZipEntrySpec.cpp
|
|
135
|
+
# Android-specific Nitrogen C++ sources
|
|
136
|
+
|
|
137
|
+
)
|
|
138
|
+
|
|
139
|
+
# From node_modules/react-native/ReactAndroid/cmake-utils/folly-flags.cmake
|
|
140
|
+
# Used in node_modules/react-native/ReactAndroid/cmake-utils/ReactNative-application.cmake
|
|
141
|
+
target_compile_definitions(
|
|
142
|
+
ChilkatRN PRIVATE
|
|
143
|
+
-DFOLLY_NO_CONFIG=1
|
|
144
|
+
-DFOLLY_HAVE_CLOCK_GETTIME=1
|
|
145
|
+
-DFOLLY_USE_LIBCPP=1
|
|
146
|
+
-DFOLLY_CFG_NO_COROUTINES=1
|
|
147
|
+
-DFOLLY_MOBILE=1
|
|
148
|
+
-DFOLLY_HAVE_RECVMMSG=1
|
|
149
|
+
-DFOLLY_HAVE_PTHREAD=1
|
|
150
|
+
# Once we target android-23 above, we can comment
|
|
151
|
+
# the following line. NDK uses GNU style stderror_r() after API 23.
|
|
152
|
+
-DFOLLY_HAVE_XSI_STRERROR_R=1
|
|
153
|
+
)
|
|
154
|
+
|
|
155
|
+
# Add all libraries required by the generated specs
|
|
156
|
+
find_package(fbjni REQUIRED) # <-- Used for communication between Java <-> C++
|
|
157
|
+
find_package(ReactAndroid REQUIRED) # <-- Used to set up React Native bindings (e.g. CallInvoker/TurboModule)
|
|
158
|
+
find_package(react-native-nitro-modules REQUIRED) # <-- Used to create all HybridObjects and use the Nitro core library
|
|
159
|
+
|
|
160
|
+
# Link all libraries together
|
|
161
|
+
target_link_libraries(
|
|
162
|
+
ChilkatRN
|
|
163
|
+
fbjni::fbjni # <-- Facebook C++ JNI helpers
|
|
164
|
+
ReactAndroid::jsi # <-- RN: JSI
|
|
165
|
+
react-native-nitro-modules::NitroModules # <-- NitroModules Core :)
|
|
166
|
+
)
|
|
167
|
+
|
|
168
|
+
# Link react-native (different prefab between RN 0.75 and RN 0.76)
|
|
169
|
+
if(ReactAndroid_VERSION_MINOR GREATER_EQUAL 76)
|
|
170
|
+
target_link_libraries(
|
|
171
|
+
ChilkatRN
|
|
172
|
+
ReactAndroid::reactnative # <-- RN: Native Modules umbrella prefab
|
|
173
|
+
)
|
|
174
|
+
else()
|
|
175
|
+
target_link_libraries(
|
|
176
|
+
ChilkatRN
|
|
177
|
+
ReactAndroid::react_nativemodule_core # <-- RN: TurboModules Core
|
|
178
|
+
)
|
|
179
|
+
endif()
|