@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.
Files changed (530) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/ChilkatRN.podspec +44 -0
  3. package/LICENSE +254 -0
  4. package/README.md +67 -0
  5. package/android/CMakeLists.txt +60 -0
  6. package/android/build.gradle +148 -0
  7. package/android/gradle.properties +5 -0
  8. package/android/src/main/AndroidManifest.xml +2 -0
  9. package/android/src/main/cpp/cpp-adapter.cpp +12 -0
  10. package/android/src/main/java/com/margelo/nitro/chilkat/ChilkatRNPackage.java +33 -0
  11. package/chilkat-checksums.json +9 -0
  12. package/cpp/HybridAi.cpp +660 -0
  13. package/cpp/HybridAi.hpp +159 -0
  14. package/cpp/HybridAsn.cpp +403 -0
  15. package/cpp/HybridAsn.hpp +105 -0
  16. package/cpp/HybridAuthAws.cpp +188 -0
  17. package/cpp/HybridAuthAws.hpp +55 -0
  18. package/cpp/HybridAuthAzureSAS.cpp +142 -0
  19. package/cpp/HybridAuthAzureSAS.hpp +47 -0
  20. package/cpp/HybridAuthAzureStorage.cpp +144 -0
  21. package/cpp/HybridAuthAzureStorage.hpp +47 -0
  22. package/cpp/HybridAuthGoogle.cpp +215 -0
  23. package/cpp/HybridAuthGoogle.hpp +67 -0
  24. package/cpp/HybridBinData.cpp +439 -0
  25. package/cpp/HybridBinData.hpp +112 -0
  26. package/cpp/HybridBz2.cpp +177 -0
  27. package/cpp/HybridBz2.hpp +58 -0
  28. package/cpp/HybridCache.cpp +314 -0
  29. package/cpp/HybridCache.hpp +82 -0
  30. package/cpp/HybridCert.cpp +840 -0
  31. package/cpp/HybridCert.hpp +196 -0
  32. package/cpp/HybridCertChain.cpp +149 -0
  33. package/cpp/HybridCertChain.hpp +50 -0
  34. package/cpp/HybridCertStore.cpp +276 -0
  35. package/cpp/HybridCertStore.hpp +78 -0
  36. package/cpp/HybridCharset.cpp +333 -0
  37. package/cpp/HybridCharset.hpp +83 -0
  38. package/cpp/HybridCkDateTime.cpp +384 -0
  39. package/cpp/HybridCkDateTime.hpp +105 -0
  40. package/cpp/HybridCodeSign.cpp +156 -0
  41. package/cpp/HybridCodeSign.hpp +55 -0
  42. package/cpp/HybridCompression.cpp +422 -0
  43. package/cpp/HybridCompression.hpp +100 -0
  44. package/cpp/HybridCrypt2.cpp +1517 -0
  45. package/cpp/HybridCrypt2.hpp +320 -0
  46. package/cpp/HybridCsr.cpp +292 -0
  47. package/cpp/HybridCsr.hpp +77 -0
  48. package/cpp/HybridCsv.cpp +382 -0
  49. package/cpp/HybridCsv.hpp +101 -0
  50. package/cpp/HybridDh.cpp +137 -0
  51. package/cpp/HybridDh.hpp +47 -0
  52. package/cpp/HybridDirTree.cpp +167 -0
  53. package/cpp/HybridDirTree.hpp +53 -0
  54. package/cpp/HybridDkim.cpp +249 -0
  55. package/cpp/HybridDkim.hpp +74 -0
  56. package/cpp/HybridDns.cpp +193 -0
  57. package/cpp/HybridDns.hpp +64 -0
  58. package/cpp/HybridDsa.cpp +453 -0
  59. package/cpp/HybridDsa.hpp +112 -0
  60. package/cpp/HybridDtObj.cpp +172 -0
  61. package/cpp/HybridDtObj.hpp +57 -0
  62. package/cpp/HybridEcc.cpp +195 -0
  63. package/cpp/HybridEcc.hpp +55 -0
  64. package/cpp/HybridEdDSA.cpp +147 -0
  65. package/cpp/HybridEdDSA.hpp +47 -0
  66. package/cpp/HybridEmail.cpp +1911 -0
  67. package/cpp/HybridEmail.hpp +419 -0
  68. package/cpp/HybridEmailBundle.cpp +204 -0
  69. package/cpp/HybridEmailBundle.hpp +64 -0
  70. package/cpp/HybridFileAccess.cpp +631 -0
  71. package/cpp/HybridFileAccess.hpp +149 -0
  72. package/cpp/HybridFtp2.cpp +2308 -0
  73. package/cpp/HybridFtp2.hpp +462 -0
  74. package/cpp/HybridGlobal.cpp +221 -0
  75. package/cpp/HybridGlobal.hpp +68 -0
  76. package/cpp/HybridGzip.cpp +440 -0
  77. package/cpp/HybridGzip.hpp +105 -0
  78. package/cpp/HybridHashtable.cpp +211 -0
  79. package/cpp/HybridHashtable.hpp +64 -0
  80. package/cpp/HybridHtmlToText.cpp +136 -0
  81. package/cpp/HybridHtmlToText.hpp +47 -0
  82. package/cpp/HybridHtmlToXml.cpp +218 -0
  83. package/cpp/HybridHtmlToXml.hpp +65 -0
  84. package/cpp/HybridHttp.cpp +2067 -0
  85. package/cpp/HybridHttp.hpp +416 -0
  86. package/cpp/HybridHttpCurl.cpp +337 -0
  87. package/cpp/HybridHttpCurl.hpp +93 -0
  88. package/cpp/HybridHttpRequest.cpp +455 -0
  89. package/cpp/HybridHttpRequest.hpp +109 -0
  90. package/cpp/HybridHttpResponse.cpp +340 -0
  91. package/cpp/HybridHttpResponse.hpp +86 -0
  92. package/cpp/HybridImap.cpp +1818 -0
  93. package/cpp/HybridImap.hpp +363 -0
  94. package/cpp/HybridJavaKeyStore.cpp +387 -0
  95. package/cpp/HybridJavaKeyStore.hpp +98 -0
  96. package/cpp/HybridJs.cpp +154 -0
  97. package/cpp/HybridJs.hpp +54 -0
  98. package/cpp/HybridJsonArray.cpp +441 -0
  99. package/cpp/HybridJsonArray.hpp +120 -0
  100. package/cpp/HybridJsonObject.cpp +1125 -0
  101. package/cpp/HybridJsonObject.hpp +260 -0
  102. package/cpp/HybridJwe.cpp +294 -0
  103. package/cpp/HybridJwe.hpp +82 -0
  104. package/cpp/HybridJws.cpp +290 -0
  105. package/cpp/HybridJws.hpp +82 -0
  106. package/cpp/HybridJwt.cpp +198 -0
  107. package/cpp/HybridJwt.hpp +57 -0
  108. package/cpp/HybridLog.cpp +212 -0
  109. package/cpp/HybridLog.hpp +63 -0
  110. package/cpp/HybridMailMan.cpp +1853 -0
  111. package/cpp/HybridMailMan.hpp +386 -0
  112. package/cpp/HybridMailboxes.cpp +165 -0
  113. package/cpp/HybridMailboxes.hpp +54 -0
  114. package/cpp/HybridMcp.cpp +322 -0
  115. package/cpp/HybridMcp.hpp +85 -0
  116. package/cpp/HybridMessageSet.cpp +162 -0
  117. package/cpp/HybridMessageSet.hpp +54 -0
  118. package/cpp/HybridMht.cpp +700 -0
  119. package/cpp/HybridMht.hpp +165 -0
  120. package/cpp/HybridMime.cpp +1119 -0
  121. package/cpp/HybridMime.hpp +266 -0
  122. package/cpp/HybridNtlm.cpp +333 -0
  123. package/cpp/HybridNtlm.hpp +83 -0
  124. package/cpp/HybridOAuth1.cpp +307 -0
  125. package/cpp/HybridOAuth1.hpp +78 -0
  126. package/cpp/HybridOAuth2.cpp +515 -0
  127. package/cpp/HybridOAuth2.hpp +127 -0
  128. package/cpp/HybridPdf.cpp +370 -0
  129. package/cpp/HybridPdf.hpp +103 -0
  130. package/cpp/HybridPem.cpp +327 -0
  131. package/cpp/HybridPem.hpp +88 -0
  132. package/cpp/HybridPfx.cpp +343 -0
  133. package/cpp/HybridPfx.hpp +87 -0
  134. package/cpp/HybridPkcs11.cpp +318 -0
  135. package/cpp/HybridPkcs11.hpp +88 -0
  136. package/cpp/HybridPrivateKey.cpp +464 -0
  137. package/cpp/HybridPrivateKey.hpp +117 -0
  138. package/cpp/HybridPrng.cpp +192 -0
  139. package/cpp/HybridPrng.hpp +57 -0
  140. package/cpp/HybridPublicKey.cpp +238 -0
  141. package/cpp/HybridPublicKey.hpp +68 -0
  142. package/cpp/HybridRest.cpp +993 -0
  143. package/cpp/HybridRest.hpp +214 -0
  144. package/cpp/HybridRsa.cpp +348 -0
  145. package/cpp/HybridRsa.hpp +90 -0
  146. package/cpp/HybridSCard.cpp +328 -0
  147. package/cpp/HybridSCard.hpp +91 -0
  148. package/cpp/HybridSFtp.cpp +1889 -0
  149. package/cpp/HybridSFtp.hpp +366 -0
  150. package/cpp/HybridSFtpDir.cpp +119 -0
  151. package/cpp/HybridSFtpDir.hpp +43 -0
  152. package/cpp/HybridSFtpFile.cpp +203 -0
  153. package/cpp/HybridSFtpFile.hpp +60 -0
  154. package/cpp/HybridScMinidriver.cpp +341 -0
  155. package/cpp/HybridScMinidriver.hpp +88 -0
  156. package/cpp/HybridScp.cpp +398 -0
  157. package/cpp/HybridScp.hpp +96 -0
  158. package/cpp/HybridSecrets.cpp +328 -0
  159. package/cpp/HybridSecrets.hpp +84 -0
  160. package/cpp/HybridSecureString.cpp +175 -0
  161. package/cpp/HybridSecureString.hpp +55 -0
  162. package/cpp/HybridServerSentEvent.cpp +112 -0
  163. package/cpp/HybridServerSentEvent.hpp +41 -0
  164. package/cpp/HybridSocket.cpp +1567 -0
  165. package/cpp/HybridSocket.hpp +336 -0
  166. package/cpp/HybridSpider.cpp +543 -0
  167. package/cpp/HybridSpider.hpp +138 -0
  168. package/cpp/HybridSsh.cpp +1330 -0
  169. package/cpp/HybridSsh.hpp +282 -0
  170. package/cpp/HybridSshKey.cpp +310 -0
  171. package/cpp/HybridSshKey.hpp +83 -0
  172. package/cpp/HybridSshTunnel.cpp +687 -0
  173. package/cpp/HybridSshTunnel.hpp +159 -0
  174. package/cpp/HybridStream.cpp +496 -0
  175. package/cpp/HybridStream.hpp +123 -0
  176. package/cpp/HybridStringArray.cpp +368 -0
  177. package/cpp/HybridStringArray.hpp +99 -0
  178. package/cpp/HybridStringBuilder.cpp +739 -0
  179. package/cpp/HybridStringBuilder.hpp +178 -0
  180. package/cpp/HybridStringTable.cpp +218 -0
  181. package/cpp/HybridStringTable.hpp +66 -0
  182. package/cpp/HybridTar.cpp +547 -0
  183. package/cpp/HybridTar.hpp +134 -0
  184. package/cpp/HybridTrustedRoots.cpp +178 -0
  185. package/cpp/HybridTrustedRoots.hpp +61 -0
  186. package/cpp/HybridUnixCompress.cpp +191 -0
  187. package/cpp/HybridUnixCompress.hpp +60 -0
  188. package/cpp/HybridUpload.cpp +427 -0
  189. package/cpp/HybridUpload.hpp +114 -0
  190. package/cpp/HybridUrl.cpp +152 -0
  191. package/cpp/HybridUrl.hpp +48 -0
  192. package/cpp/HybridWebSocket.cpp +378 -0
  193. package/cpp/HybridWebSocket.hpp +103 -0
  194. package/cpp/HybridXml.cpp +1527 -0
  195. package/cpp/HybridXml.hpp +340 -0
  196. package/cpp/HybridXmlCertVault.cpp +215 -0
  197. package/cpp/HybridXmlCertVault.hpp +63 -0
  198. package/cpp/HybridXmlDSig.cpp +328 -0
  199. package/cpp/HybridXmlDSig.hpp +88 -0
  200. package/cpp/HybridXmlDSigGen.cpp +549 -0
  201. package/cpp/HybridXmlDSigGen.hpp +126 -0
  202. package/cpp/HybridXmp.cpp +329 -0
  203. package/cpp/HybridXmp.hpp +86 -0
  204. package/cpp/HybridZip.cpp +1000 -0
  205. package/cpp/HybridZip.hpp +226 -0
  206. package/cpp/HybridZipCrc.cpp +162 -0
  207. package/cpp/HybridZipCrc.hpp +57 -0
  208. package/cpp/HybridZipEntry.cpp +395 -0
  209. package/cpp/HybridZipEntry.hpp +102 -0
  210. package/cpp/runtime/AsyncCall.hpp +96 -0
  211. package/cpp/runtime/Bytes.hpp +49 -0
  212. package/cpp/runtime/ChilkatError.hpp +66 -0
  213. package/cpp/runtime/ChilkatObject.hpp +219 -0
  214. package/cpp/runtime/ProgLang.hpp +9 -0
  215. package/cpp/runtime/ProgressAdapter.hpp +43 -0
  216. package/nitro.json +113 -0
  217. package/nitrogen/generated/.gitattributes +1 -0
  218. package/nitrogen/generated/android/ChilkatRN+autolinking.cmake +179 -0
  219. package/nitrogen/generated/android/ChilkatRN+autolinking.gradle +27 -0
  220. package/nitrogen/generated/android/ChilkatRNOnLoad.cpp +1029 -0
  221. package/nitrogen/generated/android/ChilkatRNOnLoad.hpp +34 -0
  222. package/nitrogen/generated/android/kotlin/com/margelo/nitro/chilkat/ChilkatRNOnLoad.kt +35 -0
  223. package/nitrogen/generated/ios/ChilkatRN+autolinking.rb +62 -0
  224. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.cpp +17 -0
  225. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Bridge.hpp +27 -0
  226. package/nitrogen/generated/ios/ChilkatRN-Swift-Cxx-Umbrella.hpp +38 -0
  227. package/nitrogen/generated/ios/ChilkatRNAutolinking.mm +1015 -0
  228. package/nitrogen/generated/ios/ChilkatRNAutolinking.swift +16 -0
  229. package/nitrogen/generated/shared/c++/HybridAiSpec.cpp +114 -0
  230. package/nitrogen/generated/shared/c++/HybridAiSpec.hpp +175 -0
  231. package/nitrogen/generated/shared/c++/HybridAsnSpec.cpp +70 -0
  232. package/nitrogen/generated/shared/c++/HybridAsnSpec.hpp +116 -0
  233. package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.cpp +49 -0
  234. package/nitrogen/generated/shared/c++/HybridAuthAwsSpec.hpp +89 -0
  235. package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.cpp +38 -0
  236. package/nitrogen/generated/shared/c++/HybridAuthAzureSASSpec.hpp +78 -0
  237. package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.cpp +41 -0
  238. package/nitrogen/generated/shared/c++/HybridAuthAzureStorageSpec.hpp +81 -0
  239. package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.cpp +56 -0
  240. package/nitrogen/generated/shared/c++/HybridAuthGoogleSpec.hpp +108 -0
  241. package/nitrogen/generated/shared/c++/HybridBinDataSpec.cpp +69 -0
  242. package/nitrogen/generated/shared/c++/HybridBinDataSpec.hpp +116 -0
  243. package/nitrogen/generated/shared/c++/HybridBz2Spec.cpp +47 -0
  244. package/nitrogen/generated/shared/c++/HybridBz2Spec.hpp +93 -0
  245. package/nitrogen/generated/shared/c++/HybridCacheSpec.cpp +57 -0
  246. package/nitrogen/generated/shared/c++/HybridCacheSpec.hpp +106 -0
  247. package/nitrogen/generated/shared/c++/HybridCertChainSpec.cpp +40 -0
  248. package/nitrogen/generated/shared/c++/HybridCertChainSpec.hpp +89 -0
  249. package/nitrogen/generated/shared/c++/HybridCertSpec.cpp +138 -0
  250. package/nitrogen/generated/shared/c++/HybridCertSpec.hpp +205 -0
  251. package/nitrogen/generated/shared/c++/HybridCertStoreSpec.cpp +55 -0
  252. package/nitrogen/generated/shared/c++/HybridCertStoreSpec.hpp +104 -0
  253. package/nitrogen/generated/shared/c++/HybridCharsetSpec.cpp +61 -0
  254. package/nitrogen/generated/shared/c++/HybridCharsetSpec.hpp +101 -0
  255. package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.cpp +66 -0
  256. package/nitrogen/generated/shared/c++/HybridCkDateTimeSpec.hpp +115 -0
  257. package/nitrogen/generated/shared/c++/HybridCodeSignSpec.cpp +44 -0
  258. package/nitrogen/generated/shared/c++/HybridCodeSignSpec.hpp +93 -0
  259. package/nitrogen/generated/shared/c++/HybridCompressionSpec.cpp +79 -0
  260. package/nitrogen/generated/shared/c++/HybridCompressionSpec.hpp +134 -0
  261. package/nitrogen/generated/shared/c++/HybridCrypt2Spec.cpp +215 -0
  262. package/nitrogen/generated/shared/c++/HybridCrypt2Spec.hpp +283 -0
  263. package/nitrogen/generated/shared/c++/HybridCsrSpec.cpp +61 -0
  264. package/nitrogen/generated/shared/c++/HybridCsrSpec.hpp +116 -0
  265. package/nitrogen/generated/shared/c++/HybridCsvSpec.cpp +72 -0
  266. package/nitrogen/generated/shared/c++/HybridCsvSpec.hpp +121 -0
  267. package/nitrogen/generated/shared/c++/HybridDhSpec.cpp +37 -0
  268. package/nitrogen/generated/shared/c++/HybridDhSpec.hpp +77 -0
  269. package/nitrogen/generated/shared/c++/HybridDirTreeSpec.cpp +46 -0
  270. package/nitrogen/generated/shared/c++/HybridDirTreeSpec.hpp +86 -0
  271. package/nitrogen/generated/shared/c++/HybridDkimSpec.cpp +60 -0
  272. package/nitrogen/generated/shared/c++/HybridDkimSpec.hpp +109 -0
  273. package/nitrogen/generated/shared/c++/HybridDnsSpec.cpp +51 -0
  274. package/nitrogen/generated/shared/c++/HybridDnsSpec.hpp +97 -0
  275. package/nitrogen/generated/shared/c++/HybridDsaSpec.cpp +73 -0
  276. package/nitrogen/generated/shared/c++/HybridDsaSpec.hpp +116 -0
  277. package/nitrogen/generated/shared/c++/HybridDtObjSpec.cpp +50 -0
  278. package/nitrogen/generated/shared/c++/HybridDtObjSpec.hpp +90 -0
  279. package/nitrogen/generated/shared/c++/HybridEccSpec.cpp +41 -0
  280. package/nitrogen/generated/shared/c++/HybridEccSpec.hpp +96 -0
  281. package/nitrogen/generated/shared/c++/HybridEdDSASpec.cpp +38 -0
  282. package/nitrogen/generated/shared/c++/HybridEdDSASpec.hpp +90 -0
  283. package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.cpp +45 -0
  284. package/nitrogen/generated/shared/c++/HybridEmailBundleSpec.hpp +91 -0
  285. package/nitrogen/generated/shared/c++/HybridEmailSpec.cpp +259 -0
  286. package/nitrogen/generated/shared/c++/HybridEmailSpec.hpp +326 -0
  287. package/nitrogen/generated/shared/c++/HybridFileAccessSpec.cpp +90 -0
  288. package/nitrogen/generated/shared/c++/HybridFileAccessSpec.hpp +140 -0
  289. package/nitrogen/generated/shared/c++/HybridFtp2Spec.cpp +367 -0
  290. package/nitrogen/generated/shared/c++/HybridFtp2Spec.hpp +434 -0
  291. package/nitrogen/generated/shared/c++/HybridGlobalSpec.cpp +59 -0
  292. package/nitrogen/generated/shared/c++/HybridGlobalSpec.hpp +99 -0
  293. package/nitrogen/generated/shared/c++/HybridGzipSpec.cpp +79 -0
  294. package/nitrogen/generated/shared/c++/HybridGzipSpec.hpp +134 -0
  295. package/nitrogen/generated/shared/c++/HybridHashtableSpec.cpp +45 -0
  296. package/nitrogen/generated/shared/c++/HybridHashtableSpec.hpp +91 -0
  297. package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.cpp +40 -0
  298. package/nitrogen/generated/shared/c++/HybridHtmlToTextSpec.hpp +83 -0
  299. package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.cpp +49 -0
  300. package/nitrogen/generated/shared/c++/HybridHtmlToXmlSpec.hpp +95 -0
  301. package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.cpp +67 -0
  302. package/nitrogen/generated/shared/c++/HybridHttpCurlSpec.hpp +125 -0
  303. package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.cpp +76 -0
  304. package/nitrogen/generated/shared/c++/HybridHttpRequestSpec.hpp +122 -0
  305. package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.cpp +64 -0
  306. package/nitrogen/generated/shared/c++/HybridHttpResponseSpec.hpp +119 -0
  307. package/nitrogen/generated/shared/c++/HybridHttpSpec.cpp +334 -0
  308. package/nitrogen/generated/shared/c++/HybridHttpSpec.hpp +407 -0
  309. package/nitrogen/generated/shared/c++/HybridImapSpec.cpp +275 -0
  310. package/nitrogen/generated/shared/c++/HybridImapSpec.hpp +360 -0
  311. package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.cpp +65 -0
  312. package/nitrogen/generated/shared/c++/HybridJavaKeyStoreSpec.hpp +132 -0
  313. package/nitrogen/generated/shared/c++/HybridJsSpec.cpp +43 -0
  314. package/nitrogen/generated/shared/c++/HybridJsSpec.hpp +92 -0
  315. package/nitrogen/generated/shared/c++/HybridJsonArraySpec.cpp +76 -0
  316. package/nitrogen/generated/shared/c++/HybridJsonArraySpec.hpp +131 -0
  317. package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.cpp +154 -0
  318. package/nitrogen/generated/shared/c++/HybridJsonObjectSpec.hpp +218 -0
  319. package/nitrogen/generated/shared/c++/HybridJweSpec.cpp +57 -0
  320. package/nitrogen/generated/shared/c++/HybridJweSpec.hpp +112 -0
  321. package/nitrogen/generated/shared/c++/HybridJwsSpec.cpp +57 -0
  322. package/nitrogen/generated/shared/c++/HybridJwsSpec.hpp +115 -0
  323. package/nitrogen/generated/shared/c++/HybridJwtSpec.cpp +43 -0
  324. package/nitrogen/generated/shared/c++/HybridJwtSpec.hpp +92 -0
  325. package/nitrogen/generated/shared/c++/HybridLogSpec.cpp +44 -0
  326. package/nitrogen/generated/shared/c++/HybridLogSpec.hpp +85 -0
  327. package/nitrogen/generated/shared/c++/HybridMailManSpec.cpp +311 -0
  328. package/nitrogen/generated/shared/c++/HybridMailManSpec.hpp +396 -0
  329. package/nitrogen/generated/shared/c++/HybridMailboxesSpec.cpp +40 -0
  330. package/nitrogen/generated/shared/c++/HybridMailboxesSpec.hpp +80 -0
  331. package/nitrogen/generated/shared/c++/HybridMcpSpec.cpp +68 -0
  332. package/nitrogen/generated/shared/c++/HybridMcpSpec.hpp +117 -0
  333. package/nitrogen/generated/shared/c++/HybridMessageSetSpec.cpp +41 -0
  334. package/nitrogen/generated/shared/c++/HybridMessageSetSpec.hpp +84 -0
  335. package/nitrogen/generated/shared/c++/HybridMhtSpec.cpp +138 -0
  336. package/nitrogen/generated/shared/c++/HybridMhtSpec.hpp +181 -0
  337. package/nitrogen/generated/shared/c++/HybridMimeSpec.cpp +169 -0
  338. package/nitrogen/generated/shared/c++/HybridMimeSpec.hpp +233 -0
  339. package/nitrogen/generated/shared/c++/HybridNtlmSpec.cpp +69 -0
  340. package/nitrogen/generated/shared/c++/HybridNtlmSpec.hpp +109 -0
  341. package/nitrogen/generated/shared/c++/HybridOAuth1Spec.cpp +67 -0
  342. package/nitrogen/generated/shared/c++/HybridOAuth1Spec.hpp +110 -0
  343. package/nitrogen/generated/shared/c++/HybridOAuth2Spec.cpp +107 -0
  344. package/nitrogen/generated/shared/c++/HybridOAuth2Spec.hpp +156 -0
  345. package/nitrogen/generated/shared/c++/HybridPdfSpec.cpp +73 -0
  346. package/nitrogen/generated/shared/c++/HybridPdfSpec.hpp +134 -0
  347. package/nitrogen/generated/shared/c++/HybridPemSpec.cpp +63 -0
  348. package/nitrogen/generated/shared/c++/HybridPemSpec.hpp +124 -0
  349. package/nitrogen/generated/shared/c++/HybridPfxSpec.cpp +61 -0
  350. package/nitrogen/generated/shared/c++/HybridPfxSpec.hpp +122 -0
  351. package/nitrogen/generated/shared/c++/HybridPkcs11Spec.cpp +60 -0
  352. package/nitrogen/generated/shared/c++/HybridPkcs11Spec.hpp +115 -0
  353. package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.cpp +76 -0
  354. package/nitrogen/generated/shared/c++/HybridPrivateKeySpec.hpp +131 -0
  355. package/nitrogen/generated/shared/c++/HybridPrngSpec.cpp +42 -0
  356. package/nitrogen/generated/shared/c++/HybridPrngSpec.hpp +85 -0
  357. package/nitrogen/generated/shared/c++/HybridPublicKeySpec.cpp +48 -0
  358. package/nitrogen/generated/shared/c++/HybridPublicKeySpec.hpp +91 -0
  359. package/nitrogen/generated/shared/c++/HybridRestSpec.cpp +150 -0
  360. package/nitrogen/generated/shared/c++/HybridRestSpec.hpp +229 -0
  361. package/nitrogen/generated/shared/c++/HybridRsaSpec.cpp +68 -0
  362. package/nitrogen/generated/shared/c++/HybridRsaSpec.hpp +120 -0
  363. package/nitrogen/generated/shared/c++/HybridSCardSpec.cpp +64 -0
  364. package/nitrogen/generated/shared/c++/HybridSCardSpec.hpp +116 -0
  365. package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.cpp +35 -0
  366. package/nitrogen/generated/shared/c++/HybridSFtpDirSpec.hpp +78 -0
  367. package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.cpp +57 -0
  368. package/nitrogen/generated/shared/c++/HybridSFtpFileSpec.hpp +98 -0
  369. package/nitrogen/generated/shared/c++/HybridSFtpSpec.cpp +284 -0
  370. package/nitrogen/generated/shared/c++/HybridSFtpSpec.hpp +354 -0
  371. package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.cpp +61 -0
  372. package/nitrogen/generated/shared/c++/HybridScMinidriverSpec.hpp +119 -0
  373. package/nitrogen/generated/shared/c++/HybridScpSpec.cpp +78 -0
  374. package/nitrogen/generated/shared/c++/HybridScpSpec.hpp +127 -0
  375. package/nitrogen/generated/shared/c++/HybridSecretsSpec.cpp +65 -0
  376. package/nitrogen/generated/shared/c++/HybridSecretsSpec.hpp +120 -0
  377. package/nitrogen/generated/shared/c++/HybridSecureStringSpec.cpp +42 -0
  378. package/nitrogen/generated/shared/c++/HybridSecureStringSpec.hpp +88 -0
  379. package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.cpp +35 -0
  380. package/nitrogen/generated/shared/c++/HybridServerSentEventSpec.hpp +75 -0
  381. package/nitrogen/generated/shared/c++/HybridSocketSpec.cpp +262 -0
  382. package/nitrogen/generated/shared/c++/HybridSocketSpec.hpp +327 -0
  383. package/nitrogen/generated/shared/c++/HybridSpiderSpec.cpp +110 -0
  384. package/nitrogen/generated/shared/c++/HybridSpiderSpec.hpp +153 -0
  385. package/nitrogen/generated/shared/c++/HybridSshKeySpec.cpp +59 -0
  386. package/nitrogen/generated/shared/c++/HybridSshKeySpec.hpp +102 -0
  387. package/nitrogen/generated/shared/c++/HybridSshSpec.cpp +215 -0
  388. package/nitrogen/generated/shared/c++/HybridSshSpec.hpp +276 -0
  389. package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.cpp +136 -0
  390. package/nitrogen/generated/shared/c++/HybridSshTunnelSpec.hpp +191 -0
  391. package/nitrogen/generated/shared/c++/HybridStreamSpec.cpp +100 -0
  392. package/nitrogen/generated/shared/c++/HybridStreamSpec.hpp +150 -0
  393. package/nitrogen/generated/shared/c++/HybridStringArraySpec.cpp +66 -0
  394. package/nitrogen/generated/shared/c++/HybridStringArraySpec.hpp +109 -0
  395. package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.cpp +104 -0
  396. package/nitrogen/generated/shared/c++/HybridStringBuilderSpec.hpp +156 -0
  397. package/nitrogen/generated/shared/c++/HybridStringTableSpec.cpp +46 -0
  398. package/nitrogen/generated/shared/c++/HybridStringTableSpec.hpp +89 -0
  399. package/nitrogen/generated/shared/c++/HybridTarSpec.cpp +110 -0
  400. package/nitrogen/generated/shared/c++/HybridTarSpec.hpp +156 -0
  401. package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.cpp +48 -0
  402. package/nitrogen/generated/shared/c++/HybridTrustedRootsSpec.hpp +97 -0
  403. package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.cpp +48 -0
  404. package/nitrogen/generated/shared/c++/HybridUnixCompressSpec.hpp +91 -0
  405. package/nitrogen/generated/shared/c++/HybridUploadSpec.cpp +98 -0
  406. package/nitrogen/generated/shared/c++/HybridUploadSpec.hpp +141 -0
  407. package/nitrogen/generated/shared/c++/HybridUrlSpec.cpp +42 -0
  408. package/nitrogen/generated/shared/c++/HybridUrlSpec.hpp +82 -0
  409. package/nitrogen/generated/shared/c++/HybridWebSocketSpec.cpp +80 -0
  410. package/nitrogen/generated/shared/c++/HybridWebSocketSpec.hpp +135 -0
  411. package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.cpp +45 -0
  412. package/nitrogen/generated/shared/c++/HybridXmlCertVaultSpec.hpp +94 -0
  413. package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.cpp +99 -0
  414. package/nitrogen/generated/shared/c++/HybridXmlDSigGenSpec.hpp +163 -0
  415. package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.cpp +62 -0
  416. package/nitrogen/generated/shared/c++/HybridXmlDSigSpec.hpp +126 -0
  417. package/nitrogen/generated/shared/c++/HybridXmlSpec.cpp +203 -0
  418. package/nitrogen/generated/shared/c++/HybridXmlSpec.hpp +253 -0
  419. package/nitrogen/generated/shared/c++/HybridXmpSpec.cpp +58 -0
  420. package/nitrogen/generated/shared/c++/HybridXmpSpec.hpp +104 -0
  421. package/nitrogen/generated/shared/c++/HybridZipCrcSpec.cpp +43 -0
  422. package/nitrogen/generated/shared/c++/HybridZipCrcSpec.hpp +92 -0
  423. package/nitrogen/generated/shared/c++/HybridZipEntrySpec.cpp +82 -0
  424. package/nitrogen/generated/shared/c++/HybridZipEntrySpec.hpp +137 -0
  425. package/nitrogen/generated/shared/c++/HybridZipSpec.cpp +176 -0
  426. package/nitrogen/generated/shared/c++/HybridZipSpec.hpp +231 -0
  427. package/package.json +46 -0
  428. package/react-native.config.js +9 -0
  429. package/scripts/fetch-chilkat.js +184 -0
  430. package/src/index.ts +306 -0
  431. package/src/runtime/chilkat.ts +25 -0
  432. package/src/specs/Ai.nitro.ts +1288 -0
  433. package/src/specs/Asn.nitro.ts +509 -0
  434. package/src/specs/AuthAws.nitro.ts +234 -0
  435. package/src/specs/AuthAzureSAS.nitro.ts +205 -0
  436. package/src/specs/AuthAzureStorage.nitro.ts +172 -0
  437. package/src/specs/AuthGoogle.nitro.ts +291 -0
  438. package/src/specs/BinData.nitro.ts +470 -0
  439. package/src/specs/Bz2.nitro.ts +269 -0
  440. package/src/specs/Cache.nitro.ts +483 -0
  441. package/src/specs/Cert.nitro.ts +1279 -0
  442. package/src/specs/CertChain.nitro.ts +312 -0
  443. package/src/specs/CertStore.nitro.ts +430 -0
  444. package/src/specs/Charset.nitro.ts +518 -0
  445. package/src/specs/CkDateTime.nitro.ts +492 -0
  446. package/src/specs/CodeSign.nitro.ts +307 -0
  447. package/src/specs/Compression.nitro.ts +654 -0
  448. package/src/specs/Crypt2.nitro.ts +2387 -0
  449. package/src/specs/Csr.nitro.ts +461 -0
  450. package/src/specs/Csv.nitro.ts +670 -0
  451. package/src/specs/Dh.nitro.ts +343 -0
  452. package/src/specs/DirTree.nitro.ts +332 -0
  453. package/src/specs/Dkim.nitro.ts +595 -0
  454. package/src/specs/Dns.nitro.ts +271 -0
  455. package/src/specs/Dsa.nitro.ts +653 -0
  456. package/src/specs/DtObj.nitro.ts +198 -0
  457. package/src/specs/Ecc.nitro.ts +375 -0
  458. package/src/specs/EdDSA.nitro.ts +273 -0
  459. package/src/specs/Email.nitro.ts +2921 -0
  460. package/src/specs/EmailBundle.nitro.ts +334 -0
  461. package/src/specs/FileAccess.nitro.ts +836 -0
  462. package/src/specs/Ftp2.nitro.ts +3943 -0
  463. package/src/specs/Global.nitro.ts +319 -0
  464. package/src/specs/Gzip.nitro.ts +646 -0
  465. package/src/specs/Hashtable.nitro.ts +356 -0
  466. package/src/specs/HtmlToText.nitro.ts +238 -0
  467. package/src/specs/HtmlToXml.nitro.ts +323 -0
  468. package/src/specs/Http.nitro.ts +3095 -0
  469. package/src/specs/HttpCurl.nitro.ts +550 -0
  470. package/src/specs/HttpRequest.nitro.ts +522 -0
  471. package/src/specs/HttpResponse.nitro.ts +424 -0
  472. package/src/specs/Imap.nitro.ts +2991 -0
  473. package/src/specs/JavaKeyStore.nitro.ts +619 -0
  474. package/src/specs/Js.nitro.ts +263 -0
  475. package/src/specs/JsonArray.nitro.ts +681 -0
  476. package/src/specs/JsonObject.nitro.ts +1454 -0
  477. package/src/specs/Jwe.nitro.ts +756 -0
  478. package/src/specs/Jws.nitro.ts +733 -0
  479. package/src/specs/Jwt.nitro.ts +380 -0
  480. package/src/specs/Log.nitro.ts +258 -0
  481. package/src/specs/MailMan.nitro.ts +3571 -0
  482. package/src/specs/Mailboxes.nitro.ts +251 -0
  483. package/src/specs/Mcp.nitro.ts +491 -0
  484. package/src/specs/MessageSet.nitro.ts +320 -0
  485. package/src/specs/Mht.nitro.ts +1684 -0
  486. package/src/specs/Mime.nitro.ts +1745 -0
  487. package/src/specs/Ntlm.nitro.ts +556 -0
  488. package/src/specs/OAuth1.nitro.ts +331 -0
  489. package/src/specs/OAuth2.nitro.ts +1023 -0
  490. package/src/specs/Pdf.nitro.ts +740 -0
  491. package/src/specs/Pem.nitro.ts +484 -0
  492. package/src/specs/Pfx.nitro.ts +1003 -0
  493. package/src/specs/Pkcs11.nitro.ts +559 -0
  494. package/src/specs/PrivateKey.nitro.ts +994 -0
  495. package/src/specs/Prng.nitro.ts +348 -0
  496. package/src/specs/PublicKey.nitro.ts +610 -0
  497. package/src/specs/Rest.nitro.ts +1972 -0
  498. package/src/specs/Rsa.nitro.ts +453 -0
  499. package/src/specs/SCard.nitro.ts +739 -0
  500. package/src/specs/SFtp.nitro.ts +3138 -0
  501. package/src/specs/SFtpDir.nitro.ts +213 -0
  502. package/src/specs/SFtpFile.nitro.ts +452 -0
  503. package/src/specs/ScMinidriver.nitro.ts +443 -0
  504. package/src/specs/Scp.nitro.ts +708 -0
  505. package/src/specs/Secrets.nitro.ts +470 -0
  506. package/src/specs/SecureString.nitro.ts +231 -0
  507. package/src/specs/ServerSentEvent.nitro.ts +183 -0
  508. package/src/specs/Socket.nitro.ts +3335 -0
  509. package/src/specs/Spider.nitro.ts +609 -0
  510. package/src/specs/Ssh.nitro.ts +2842 -0
  511. package/src/specs/SshKey.nitro.ts +740 -0
  512. package/src/specs/SshTunnel.nitro.ts +1243 -0
  513. package/src/specs/Stream.nitro.ts +737 -0
  514. package/src/specs/StringArray.nitro.ts +396 -0
  515. package/src/specs/StringBuilder.nitro.ts +920 -0
  516. package/src/specs/StringTable.nitro.ts +271 -0
  517. package/src/specs/Tar.nitro.ts +804 -0
  518. package/src/specs/TrustedRoots.nitro.ts +360 -0
  519. package/src/specs/UnixCompress.nitro.ts +293 -0
  520. package/src/specs/Upload.nitro.ts +623 -0
  521. package/src/specs/Url.nitro.ts +246 -0
  522. package/src/specs/WebSocket.nitro.ts +840 -0
  523. package/src/specs/Xml.nitro.ts +1988 -0
  524. package/src/specs/XmlCertVault.nitro.ts +259 -0
  525. package/src/specs/XmlDSig.nitro.ts +464 -0
  526. package/src/specs/XmlDSigGen.nitro.ts +978 -0
  527. package/src/specs/Xmp.nitro.ts +364 -0
  528. package/src/specs/Zip.nitro.ts +1611 -0
  529. package/src/specs/ZipCrc.nitro.ts +229 -0
  530. 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()