appwrite-cli 0.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (413) hide show
  1. package/.github/workflows/npm-publish.yml +41 -0
  2. package/Formula/appwrite.rb +19 -0
  3. package/LICENSE.md +12 -0
  4. package/README.md +102 -0
  5. package/docs/examples/account/create-anonymous-session.md +1 -0
  6. package/docs/examples/account/create-j-w-t.md +1 -0
  7. package/docs/examples/account/create-magic-u-r-l-session.md +4 -0
  8. package/docs/examples/account/create-o-auth2session.md +5 -0
  9. package/docs/examples/account/create-recovery.md +3 -0
  10. package/docs/examples/account/create-session.md +3 -0
  11. package/docs/examples/account/create-verification.md +2 -0
  12. package/docs/examples/account/create.md +5 -0
  13. package/docs/examples/account/delete-session.md +2 -0
  14. package/docs/examples/account/delete-sessions.md +1 -0
  15. package/docs/examples/account/delete.md +1 -0
  16. package/docs/examples/account/get-logs.md +3 -0
  17. package/docs/examples/account/get-prefs.md +1 -0
  18. package/docs/examples/account/get-session.md +2 -0
  19. package/docs/examples/account/get-sessions.md +1 -0
  20. package/docs/examples/account/get.md +1 -0
  21. package/docs/examples/account/update-email.md +3 -0
  22. package/docs/examples/account/update-magic-u-r-l-session.md +3 -0
  23. package/docs/examples/account/update-name.md +2 -0
  24. package/docs/examples/account/update-password.md +3 -0
  25. package/docs/examples/account/update-prefs.md +2 -0
  26. package/docs/examples/account/update-recovery.md +5 -0
  27. package/docs/examples/account/update-session.md +2 -0
  28. package/docs/examples/account/update-verification.md +3 -0
  29. package/docs/examples/avatars/get-browser.md +5 -0
  30. package/docs/examples/avatars/get-credit-card.md +5 -0
  31. package/docs/examples/avatars/get-favicon.md +2 -0
  32. package/docs/examples/avatars/get-flag.md +5 -0
  33. package/docs/examples/avatars/get-image.md +4 -0
  34. package/docs/examples/avatars/get-initials.md +6 -0
  35. package/docs/examples/avatars/get-q-r.md +5 -0
  36. package/docs/examples/database/create-boolean-attribute.md +6 -0
  37. package/docs/examples/database/create-collection.md +6 -0
  38. package/docs/examples/database/create-document.md +6 -0
  39. package/docs/examples/database/create-email-attribute.md +6 -0
  40. package/docs/examples/database/create-enum-attribute.md +7 -0
  41. package/docs/examples/database/create-float-attribute.md +8 -0
  42. package/docs/examples/database/create-index.md +6 -0
  43. package/docs/examples/database/create-integer-attribute.md +8 -0
  44. package/docs/examples/database/create-ip-attribute.md +6 -0
  45. package/docs/examples/database/create-string-attribute.md +7 -0
  46. package/docs/examples/database/create-url-attribute.md +6 -0
  47. package/docs/examples/database/delete-attribute.md +3 -0
  48. package/docs/examples/database/delete-collection.md +2 -0
  49. package/docs/examples/database/delete-document.md +3 -0
  50. package/docs/examples/database/delete-index.md +3 -0
  51. package/docs/examples/database/get-attribute.md +3 -0
  52. package/docs/examples/database/get-collection-usage.md +3 -0
  53. package/docs/examples/database/get-collection.md +2 -0
  54. package/docs/examples/database/get-document.md +3 -0
  55. package/docs/examples/database/get-index.md +3 -0
  56. package/docs/examples/database/get-usage.md +2 -0
  57. package/docs/examples/database/list-attributes.md +2 -0
  58. package/docs/examples/database/list-collection-logs.md +4 -0
  59. package/docs/examples/database/list-collections.md +7 -0
  60. package/docs/examples/database/list-document-logs.md +5 -0
  61. package/docs/examples/database/list-documents.md +9 -0
  62. package/docs/examples/database/list-indexes.md +2 -0
  63. package/docs/examples/database/update-collection.md +7 -0
  64. package/docs/examples/database/update-document.md +6 -0
  65. package/docs/examples/functions/create-deployment.md +5 -0
  66. package/docs/examples/functions/create-execution.md +4 -0
  67. package/docs/examples/functions/create.md +9 -0
  68. package/docs/examples/functions/delete-deployment.md +3 -0
  69. package/docs/examples/functions/delete.md +2 -0
  70. package/docs/examples/functions/get-deployment.md +3 -0
  71. package/docs/examples/functions/get-execution.md +3 -0
  72. package/docs/examples/functions/get-usage.md +3 -0
  73. package/docs/examples/functions/get.md +2 -0
  74. package/docs/examples/functions/list-deployments.md +8 -0
  75. package/docs/examples/functions/list-executions.md +7 -0
  76. package/docs/examples/functions/list-runtimes.md +1 -0
  77. package/docs/examples/functions/list.md +7 -0
  78. package/docs/examples/functions/retry-build.md +4 -0
  79. package/docs/examples/functions/update-deployment.md +3 -0
  80. package/docs/examples/functions/update.md +8 -0
  81. package/docs/examples/health/get-antivirus.md +1 -0
  82. package/docs/examples/health/get-cache.md +1 -0
  83. package/docs/examples/health/get-d-b.md +1 -0
  84. package/docs/examples/health/get-queue-certificates.md +1 -0
  85. package/docs/examples/health/get-queue-functions.md +1 -0
  86. package/docs/examples/health/get-queue-logs.md +1 -0
  87. package/docs/examples/health/get-queue-usage.md +1 -0
  88. package/docs/examples/health/get-queue-webhooks.md +1 -0
  89. package/docs/examples/health/get-storage-local.md +1 -0
  90. package/docs/examples/health/get-time.md +1 -0
  91. package/docs/examples/health/get.md +1 -0
  92. package/docs/examples/locale/get-continents.md +1 -0
  93. package/docs/examples/locale/get-countries-e-u.md +1 -0
  94. package/docs/examples/locale/get-countries-phones.md +1 -0
  95. package/docs/examples/locale/get-countries.md +1 -0
  96. package/docs/examples/locale/get-currencies.md +1 -0
  97. package/docs/examples/locale/get-languages.md +1 -0
  98. package/docs/examples/locale/get.md +1 -0
  99. package/docs/examples/projects/create-domain.md +3 -0
  100. package/docs/examples/projects/create-key.md +4 -0
  101. package/docs/examples/projects/create-platform.md +7 -0
  102. package/docs/examples/projects/create-webhook.md +8 -0
  103. package/docs/examples/projects/create.md +13 -0
  104. package/docs/examples/projects/delete-domain.md +3 -0
  105. package/docs/examples/projects/delete-key.md +3 -0
  106. package/docs/examples/projects/delete-platform.md +3 -0
  107. package/docs/examples/projects/delete-webhook.md +3 -0
  108. package/docs/examples/projects/delete.md +3 -0
  109. package/docs/examples/projects/get-domain.md +3 -0
  110. package/docs/examples/projects/get-key.md +3 -0
  111. package/docs/examples/projects/get-platform.md +3 -0
  112. package/docs/examples/projects/get-usage.md +3 -0
  113. package/docs/examples/projects/get-webhook.md +3 -0
  114. package/docs/examples/projects/get.md +2 -0
  115. package/docs/examples/projects/list-domains.md +2 -0
  116. package/docs/examples/projects/list-keys.md +2 -0
  117. package/docs/examples/projects/list-platforms.md +2 -0
  118. package/docs/examples/projects/list-webhooks.md +2 -0
  119. package/docs/examples/projects/list.md +7 -0
  120. package/docs/examples/projects/update-auth-limit.md +3 -0
  121. package/docs/examples/projects/update-auth-status.md +4 -0
  122. package/docs/examples/projects/update-domain-verification.md +3 -0
  123. package/docs/examples/projects/update-key.md +5 -0
  124. package/docs/examples/projects/update-o-auth2.md +5 -0
  125. package/docs/examples/projects/update-platform.md +7 -0
  126. package/docs/examples/projects/update-service-status.md +4 -0
  127. package/docs/examples/projects/update-webhook.md +9 -0
  128. package/docs/examples/projects/update.md +12 -0
  129. package/docs/examples/storage/create-bucket.md +11 -0
  130. package/docs/examples/storage/create-file.md +6 -0
  131. package/docs/examples/storage/delete-bucket.md +2 -0
  132. package/docs/examples/storage/delete-file.md +3 -0
  133. package/docs/examples/storage/get-bucket-usage.md +3 -0
  134. package/docs/examples/storage/get-bucket.md +2 -0
  135. package/docs/examples/storage/get-file-download.md +3 -0
  136. package/docs/examples/storage/get-file-preview.md +14 -0
  137. package/docs/examples/storage/get-file-view.md +3 -0
  138. package/docs/examples/storage/get-file.md +3 -0
  139. package/docs/examples/storage/get-usage.md +2 -0
  140. package/docs/examples/storage/list-buckets.md +7 -0
  141. package/docs/examples/storage/list-files.md +8 -0
  142. package/docs/examples/storage/update-bucket.md +11 -0
  143. package/docs/examples/storage/update-file.md +5 -0
  144. package/docs/examples/teams/create-membership.md +6 -0
  145. package/docs/examples/teams/create.md +4 -0
  146. package/docs/examples/teams/delete-membership.md +3 -0
  147. package/docs/examples/teams/delete.md +2 -0
  148. package/docs/examples/teams/get-membership.md +3 -0
  149. package/docs/examples/teams/get-memberships.md +8 -0
  150. package/docs/examples/teams/get.md +2 -0
  151. package/docs/examples/teams/list.md +7 -0
  152. package/docs/examples/teams/update-membership-roles.md +4 -0
  153. package/docs/examples/teams/update-membership-status.md +5 -0
  154. package/docs/examples/teams/update.md +3 -0
  155. package/docs/examples/users/create.md +5 -0
  156. package/docs/examples/users/delete-session.md +3 -0
  157. package/docs/examples/users/delete-sessions.md +2 -0
  158. package/docs/examples/users/delete.md +2 -0
  159. package/docs/examples/users/get-logs.md +4 -0
  160. package/docs/examples/users/get-prefs.md +2 -0
  161. package/docs/examples/users/get-sessions.md +2 -0
  162. package/docs/examples/users/get-usage.md +3 -0
  163. package/docs/examples/users/get.md +2 -0
  164. package/docs/examples/users/list.md +7 -0
  165. package/docs/examples/users/update-email.md +3 -0
  166. package/docs/examples/users/update-name.md +3 -0
  167. package/docs/examples/users/update-password.md +3 -0
  168. package/docs/examples/users/update-prefs.md +3 -0
  169. package/docs/examples/users/update-status.md +3 -0
  170. package/docs/examples/users/update-verification.md +3 -0
  171. package/index.js +49 -0
  172. package/install.sh +165 -0
  173. package/ldid/COPYING +661 -0
  174. package/ldid/Makefile +51 -0
  175. package/ldid/control +12 -0
  176. package/ldid/control.sh +5 -0
  177. package/ldid/deb.sh +10 -0
  178. package/ldid/ios.sh +2 -0
  179. package/ldid/ldid.cpp +3253 -0
  180. package/ldid/ldid.hpp +164 -0
  181. package/ldid/libplist/.github/workflows/build.yml +62 -0
  182. package/ldid/libplist/.github/workflows/codeql-analysis.yml +71 -0
  183. package/ldid/libplist/AUTHORS +28 -0
  184. package/ldid/libplist/COPYING +340 -0
  185. package/ldid/libplist/COPYING.LESSER +502 -0
  186. package/ldid/libplist/Makefile.am +20 -0
  187. package/ldid/libplist/NEWS +252 -0
  188. package/ldid/libplist/README.md +114 -0
  189. package/ldid/libplist/aclocal.m4 +1729 -0
  190. package/ldid/libplist/autogen.sh +26 -0
  191. package/ldid/libplist/configure.ac +292 -0
  192. package/ldid/libplist/cython/Makefile.am +53 -0
  193. package/ldid/libplist/cython/plist.pxd +78 -0
  194. package/ldid/libplist/cython/plist.pyx +947 -0
  195. package/ldid/libplist/cython/plist_util.c +40 -0
  196. package/ldid/libplist/cython/plist_util.h +5 -0
  197. package/ldid/libplist/docs/Makefile.am +3 -0
  198. package/ldid/libplist/docs/plistutil.1 +62 -0
  199. package/ldid/libplist/fuzz/Makefile.am +43 -0
  200. package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-4766291097288704 +0 -0
  201. package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-4930725262393344 +0 -0
  202. package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-5421965105954816 +0 -0
  203. package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-5556177727389696 +0 -0
  204. package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-6557963011489792 +0 -0
  205. package/ldid/libplist/fuzz/bplist-crashes/clusterfuzz-testcase-6605859144597504 +0 -0
  206. package/ldid/libplist/fuzz/bplist-crashes/crash-0ce4dd483b645bc05ec45a97d285dcf1933ee840 +0 -0
  207. package/ldid/libplist/fuzz/bplist-crashes/crash-0d59cdcb5c3416c2790612b78a631ce9f5622800 +0 -0
  208. package/ldid/libplist/fuzz/bplist-crashes/crash-17d635ab460fef74df1ac7561f1253533a6359c5 +0 -0
  209. package/ldid/libplist/fuzz/bplist-crashes/crash-33a67313fa7864cd627ef92d12017a127d342f28 +0 -0
  210. package/ldid/libplist/fuzz/bplist-crashes/crash-39f1347115f8fe9ac25cdc9332e3fc5cd32c7f7b +0 -0
  211. package/ldid/libplist/fuzz/bplist-crashes/crash-4bd78175fe01d07c5ee90104fbc68d95dd092210 +0 -0
  212. package/ldid/libplist/fuzz/bplist-crashes/crash-4c5404453bb7425aef9b953a5f6f3f0afcc48392 +0 -0
  213. package/ldid/libplist/fuzz/bplist-crashes/crash-52775e25f6af20af351cd616834e602fc988a032 +0 -0
  214. package/ldid/libplist/fuzz/bplist-crashes/crash-6d1399685b745d3d49fadc91072fabcdde8d16fa +0 -0
  215. package/ldid/libplist/fuzz/bplist-crashes/crash-94b3725900d63c6258448fd757559c81002de9c9 +0 -0
  216. package/ldid/libplist/fuzz/bplist-crashes/crash-a47195acbabc3f5b2cda9c6ebda42f2afc1cc5af +0 -0
  217. package/ldid/libplist/fuzz/bplist-crashes/crash-ce852bae6aeeffc4698a93660236f1b995ce966e +0 -0
  218. package/ldid/libplist/fuzz/bplist-crashes/crash-daddb6e82e3d1ed76e20e4131462f5247a6fb131 +0 -0
  219. package/ldid/libplist/fuzz/bplist-crashes/crash-f21be4ebce7f9c337bf96b93cec7e252f5c75a21 +0 -0
  220. package/ldid/libplist/fuzz/bplist-crashes/crash-f779dafccc0164684d1a264976e56037188b40e2 +0 -0
  221. package/ldid/libplist/fuzz/bplist-leaks/leak-96fb453b3ba18d31e164831795a708183b5a0dac +0 -0
  222. package/ldid/libplist/fuzz/bplist-leaks/leak-acb3c00a83d7635638a476a4e70fc1f1caa1a5b1 +0 -0
  223. package/ldid/libplist/fuzz/bplist-leaks/leak-fe2cd4b1f67e0c9b21e6225a4fb4ca19eab80074 +0 -0
  224. package/ldid/libplist/fuzz/bplist.dict +1 -0
  225. package/ldid/libplist/fuzz/bplist_fuzzer.cc +32 -0
  226. package/ldid/libplist/fuzz/bplist_fuzzer.options +3 -0
  227. package/ldid/libplist/fuzz/fuzzers.test +8 -0
  228. package/ldid/libplist/fuzz/init-fuzzers.sh +23 -0
  229. package/ldid/libplist/fuzz/test-fuzzers.sh +33 -0
  230. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-4516959125241856 +0 -0
  231. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-4663876528373760 +5 -0
  232. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-5799076113154048 +45 -0
  233. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-5922404220010496 +0 -0
  234. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6015098361479168 +0 -0
  235. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6043836860071936 +0 -0
  236. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6047509906456576 +10050 -0
  237. package/ldid/libplist/fuzz/xplist-crashes/clusterfuzz-testcase-6482601374121984 +0 -0
  238. package/ldid/libplist/fuzz/xplist-crashes/crash-09788d7acb46b4b177422f9c4ee54556a3ad1f17 +53 -0
  239. package/ldid/libplist/fuzz/xplist-crashes/crash-155c60d5c4b2778110fb4a633caa7d64eb9b99c1 +9 -0
  240. package/ldid/libplist/fuzz/xplist-crashes/crash-348c909a0b3532977185f551eb5d2ed04e694883 +11 -0
  241. package/ldid/libplist/fuzz/xplist-crashes/crash-7bc172e27a2b1d4fcaf031f59d1f08fb83081e4a +8 -0
  242. package/ldid/libplist/fuzz/xplist-crashes/crash-80c28b0e2a446665e68927dd4441c10c9a68e64e +0 -0
  243. package/ldid/libplist/fuzz/xplist-crashes/crash-8acf177da60ecf13c36d0da1b8e25de891980ea6 +5 -0
  244. package/ldid/libplist/fuzz/xplist-crashes/crash-94276cf69a50e78dd6cdf079c208cb80f357cd33 +0 -0
  245. package/ldid/libplist/fuzz/xplist-crashes/crash-9ddb891a0ec42401eb4629e6b99e01aef7909eb9 +0 -0
  246. package/ldid/libplist/fuzz/xplist-crashes/crash-a8b44e1f5be4f75f00a937016ec5405bce77a0f9 +0 -0
  247. package/ldid/libplist/fuzz/xplist-crashes/crash-da39a3ee5e6b4b0d3255bfef95601890afd80709 +0 -0
  248. package/ldid/libplist/fuzz/xplist-crashes/crash-f03c680ee1c4d84c28e731752df77a61e213a24d +72 -0
  249. package/ldid/libplist/fuzz/xplist-leaks/clusterfuzz-testcase-4634751103139840 +187 -0
  250. package/ldid/libplist/fuzz/xplist-leaks/clusterfuzz-testcase-6056412121661440 +12 -0
  251. package/ldid/libplist/fuzz/xplist-leaks/leak-47b0a9f21d3affab6cfc898e5140bb53265ada07 +0 -0
  252. package/ldid/libplist/fuzz/xplist-leaks/leak-4c81aae70b20d9b9408b78d40999a54205bdcfb7 +0 -0
  253. package/ldid/libplist/fuzz/xplist-leaks/leak-53bc466851eda790bd891733da5db0a7482886bf +6 -0
  254. package/ldid/libplist/fuzz/xplist.dict +51 -0
  255. package/ldid/libplist/fuzz/xplist_fuzzer.cc +32 -0
  256. package/ldid/libplist/fuzz/xplist_fuzzer.options +3 -0
  257. package/ldid/libplist/include/Makefile.am +15 -0
  258. package/ldid/libplist/include/plist/Array.h +55 -0
  259. package/ldid/libplist/include/plist/Boolean.h +48 -0
  260. package/ldid/libplist/include/plist/Data.h +49 -0
  261. package/ldid/libplist/include/plist/Date.h +50 -0
  262. package/ldid/libplist/include/plist/Dictionary.h +68 -0
  263. package/ldid/libplist/include/plist/Integer.h +48 -0
  264. package/ldid/libplist/include/plist/Key.h +49 -0
  265. package/ldid/libplist/include/plist/Node.h +57 -0
  266. package/ldid/libplist/include/plist/Real.h +48 -0
  267. package/ldid/libplist/include/plist/String.h +49 -0
  268. package/ldid/libplist/include/plist/Structure.h +59 -0
  269. package/ldid/libplist/include/plist/Uid.h +48 -0
  270. package/ldid/libplist/include/plist/plist++.h +39 -0
  271. package/ldid/libplist/include/plist/plist.h +953 -0
  272. package/ldid/libplist/libcnary/COPYING +502 -0
  273. package/ldid/libplist/libcnary/Makefile.am +15 -0
  274. package/ldid/libplist/libcnary/README +5 -0
  275. package/ldid/libplist/libcnary/cnary.c +46 -0
  276. package/ldid/libplist/libcnary/include/node.h +65 -0
  277. package/ldid/libplist/libcnary/include/node_list.h +47 -0
  278. package/ldid/libplist/libcnary/include/object.h +41 -0
  279. package/ldid/libplist/libcnary/node.c +216 -0
  280. package/ldid/libplist/libcnary/node_list.c +157 -0
  281. package/ldid/libplist/m4/ac_pkg_cython.m4 +67 -0
  282. package/ldid/libplist/m4/as-compiler-flag.m4 +62 -0
  283. package/ldid/libplist/m4/ax_pthread.m4 +485 -0
  284. package/ldid/libplist/m4/ax_python_devel.m4 +327 -0
  285. package/ldid/libplist/m4/cython_python.m4 +7 -0
  286. package/ldid/libplist/src/Array.cpp +148 -0
  287. package/ldid/libplist/src/Boolean.cpp +73 -0
  288. package/ldid/libplist/src/Data.cpp +79 -0
  289. package/ldid/libplist/src/Date.cpp +76 -0
  290. package/ldid/libplist/src/Dictionary.cpp +182 -0
  291. package/ldid/libplist/src/Integer.cpp +73 -0
  292. package/ldid/libplist/src/Key.cpp +80 -0
  293. package/ldid/libplist/src/Makefile.am +63 -0
  294. package/ldid/libplist/src/Node.cpp +166 -0
  295. package/ldid/libplist/src/Real.cpp +73 -0
  296. package/ldid/libplist/src/String.cpp +80 -0
  297. package/ldid/libplist/src/Structure.cpp +123 -0
  298. package/ldid/libplist/src/Uid.cpp +73 -0
  299. package/ldid/libplist/src/base64.c +119 -0
  300. package/ldid/libplist/src/base64.h +28 -0
  301. package/ldid/libplist/src/bplist.c +1381 -0
  302. package/ldid/libplist/src/bytearray.c +61 -0
  303. package/ldid/libplist/src/bytearray.h +36 -0
  304. package/ldid/libplist/src/hashtable.c +140 -0
  305. package/ldid/libplist/src/hashtable.h +50 -0
  306. package/ldid/libplist/src/plist.c +1356 -0
  307. package/ldid/libplist/src/plist.h +74 -0
  308. package/ldid/libplist/src/ptrarray.c +96 -0
  309. package/ldid/libplist/src/ptrarray.h +40 -0
  310. package/ldid/libplist/src/strbuf.h +34 -0
  311. package/ldid/libplist/src/time64.c +814 -0
  312. package/ldid/libplist/src/time64.h +81 -0
  313. package/ldid/libplist/src/time64_limits.h +97 -0
  314. package/ldid/libplist/src/xplist.c +1435 -0
  315. package/ldid/libplist/test/Makefile.am +93 -0
  316. package/ldid/libplist/test/amp.test +14 -0
  317. package/ldid/libplist/test/bigarray.test +15 -0
  318. package/ldid/libplist/test/cdata.test +12 -0
  319. package/ldid/libplist/test/data/1.plist +35 -0
  320. package/ldid/libplist/test/data/2.plist +100 -0
  321. package/ldid/libplist/test/data/3.plist +420 -0
  322. package/ldid/libplist/test/data/4.plist +5037 -0
  323. package/ldid/libplist/test/data/5.plist +55053 -0
  324. package/ldid/libplist/test/data/6.plist +4006 -0
  325. package/ldid/libplist/test/data/7.plist +14 -0
  326. package/ldid/libplist/test/data/amp.plist +6 -0
  327. package/ldid/libplist/test/data/cdata.plist +6 -0
  328. package/ldid/libplist/test/data/dictref1byte.bplist +0 -0
  329. package/ldid/libplist/test/data/dictref2bytes.bplist +0 -0
  330. package/ldid/libplist/test/data/dictref3bytes.bplist +0 -0
  331. package/ldid/libplist/test/data/dictref4bytes.bplist +0 -0
  332. package/ldid/libplist/test/data/dictref5bytes.bplist +0 -0
  333. package/ldid/libplist/test/data/dictref6bytes.bplist +0 -0
  334. package/ldid/libplist/test/data/dictref7bytes.bplist +0 -0
  335. package/ldid/libplist/test/data/dictref8bytes.bplist +0 -0
  336. package/ldid/libplist/test/data/empty_keys.plist +8 -0
  337. package/ldid/libplist/test/data/entities.plist +57 -0
  338. package/ldid/libplist/test/data/hex.plist +5 -0
  339. package/ldid/libplist/test/data/invalid_tag.plist +6 -0
  340. package/ldid/libplist/test/data/malformed_dict.bplist +0 -0
  341. package/ldid/libplist/test/data/off1byte.bplist +0 -0
  342. package/ldid/libplist/test/data/off2bytes.bplist +0 -0
  343. package/ldid/libplist/test/data/off3bytes.bplist +0 -0
  344. package/ldid/libplist/test/data/off4bytes.bplist +0 -0
  345. package/ldid/libplist/test/data/off5bytes.bplist +0 -0
  346. package/ldid/libplist/test/data/off6bytes.bplist +0 -0
  347. package/ldid/libplist/test/data/off7bytes.bplist +0 -0
  348. package/ldid/libplist/test/data/off8bytes.bplist +0 -0
  349. package/ldid/libplist/test/data/offxml.plist +8 -0
  350. package/ldid/libplist/test/data/order.bplist +0 -0
  351. package/ldid/libplist/test/data/order.plist +27 -0
  352. package/ldid/libplist/test/data/recursion.bplist +0 -0
  353. package/ldid/libplist/test/data/signed.bplist +0 -0
  354. package/ldid/libplist/test/data/signed.plist +5 -0
  355. package/ldid/libplist/test/data/signedunsigned.bplist +0 -0
  356. package/ldid/libplist/test/data/signedunsigned.plist +11 -0
  357. package/ldid/libplist/test/data/unsigned.bplist +0 -0
  358. package/ldid/libplist/test/data/unsigned.plist +5 -0
  359. package/ldid/libplist/test/dates.test +15 -0
  360. package/ldid/libplist/test/empty.test +15 -0
  361. package/ldid/libplist/test/empty_keys.test +12 -0
  362. package/ldid/libplist/test/entities.test +12 -0
  363. package/ldid/libplist/test/hex.test +12 -0
  364. package/ldid/libplist/test/huge.test +15 -0
  365. package/ldid/libplist/test/invalid_tag.test +14 -0
  366. package/ldid/libplist/test/large.test +15 -0
  367. package/ldid/libplist/test/malformed_dict.test +11 -0
  368. package/ldid/libplist/test/medium.test +15 -0
  369. package/ldid/libplist/test/offsetsize.test +12 -0
  370. package/ldid/libplist/test/order.test +13 -0
  371. package/ldid/libplist/test/plist_cmp.c +158 -0
  372. package/ldid/libplist/test/plist_test.c +135 -0
  373. package/ldid/libplist/test/recursion.test +11 -0
  374. package/ldid/libplist/test/refsize.test +12 -0
  375. package/ldid/libplist/test/signedunsigned1.test +23 -0
  376. package/ldid/libplist/test/signedunsigned2.test +23 -0
  377. package/ldid/libplist/test/signedunsigned3.test +23 -0
  378. package/ldid/libplist/test/small.test +15 -0
  379. package/ldid/libplist/test/timezone1.test +17 -0
  380. package/ldid/libplist/test/timezone2.test +21 -0
  381. package/ldid/libplist/tools/Makefile.am +10 -0
  382. package/ldid/libplist/tools/plistutil.c +299 -0
  383. package/ldid/lookup2.c +416 -0
  384. package/ldid/make.sh +90 -0
  385. package/ldid/minimal/hexdump.h +76 -0
  386. package/ldid/minimal/mapping.h +72 -0
  387. package/ldid/minimal/sqlite3.h +71 -0
  388. package/ldid/minimal/stdlib.h +129 -0
  389. package/ldid/minimal/string.h +51 -0
  390. package/ldid/plist.sh +2 -0
  391. package/ldid/sha1.h +64 -0
  392. package/ldid/sysroot.sh +31 -0
  393. package/ldid/version.sh +2 -0
  394. package/lib/client.js +243 -0
  395. package/lib/commands/account.js +785 -0
  396. package/lib/commands/avatars.js +349 -0
  397. package/lib/commands/database.js +1238 -0
  398. package/lib/commands/deploy.js +477 -0
  399. package/lib/commands/functions.js +689 -0
  400. package/lib/commands/generic.js +106 -0
  401. package/lib/commands/health.js +269 -0
  402. package/lib/commands/init.js +148 -0
  403. package/lib/commands/locale.js +177 -0
  404. package/lib/commands/projects.js +1191 -0
  405. package/lib/commands/storage.js +743 -0
  406. package/lib/commands/teams.js +435 -0
  407. package/lib/commands/users.js +542 -0
  408. package/lib/config.js +264 -0
  409. package/lib/exception.js +9 -0
  410. package/lib/parser.js +179 -0
  411. package/lib/questions.js +223 -0
  412. package/lib/sdks.js +82 -0
  413. package/package.json +41 -0
@@ -0,0 +1,327 @@
1
+ # ===========================================================================
2
+ # https://www.gnu.org/software/autoconf-archive/ax_python_devel.html
3
+ # ===========================================================================
4
+ #
5
+ # SYNOPSIS
6
+ #
7
+ # AX_PYTHON_DEVEL([version])
8
+ #
9
+ # DESCRIPTION
10
+ #
11
+ # Note: Defines as a precious variable "PYTHON_VERSION". Don't override it
12
+ # in your configure.ac.
13
+ #
14
+ # This macro checks for Python and tries to get the include path to
15
+ # 'Python.h'. It provides the $(PYTHON_CPPFLAGS) and $(PYTHON_LIBS) output
16
+ # variables. It also exports $(PYTHON_EXTRA_LIBS) and
17
+ # $(PYTHON_EXTRA_LDFLAGS) for embedding Python in your code.
18
+ #
19
+ # You can search for some particular version of Python by passing a
20
+ # parameter to this macro, for example ">= '2.3.1'", or "== '2.4'". Please
21
+ # note that you *have* to pass also an operator along with the version to
22
+ # match, and pay special attention to the single quotes surrounding the
23
+ # version number. Don't use "PYTHON_VERSION" for this: that environment
24
+ # variable is declared as precious and thus reserved for the end-user.
25
+ #
26
+ # This macro should work for all versions of Python >= 2.1.0. As an end
27
+ # user, you can disable the check for the python version by setting the
28
+ # PYTHON_NOVERSIONCHECK environment variable to something else than the
29
+ # empty string.
30
+ #
31
+ # If you need to use this macro for an older Python version, please
32
+ # contact the authors. We're always open for feedback.
33
+ #
34
+ # LICENSE
35
+ #
36
+ # Copyright (c) 2009 Sebastian Huber <sebastian-huber@web.de>
37
+ # Copyright (c) 2009 Alan W. Irwin
38
+ # Copyright (c) 2009 Rafael Laboissiere <rafael@laboissiere.net>
39
+ # Copyright (c) 2009 Andrew Collier
40
+ # Copyright (c) 2009 Matteo Settenvini <matteo@member.fsf.org>
41
+ # Copyright (c) 2009 Horst Knorr <hk_classes@knoda.org>
42
+ # Copyright (c) 2013 Daniel Mullner <muellner@math.stanford.edu>
43
+ #
44
+ # This program is free software: you can redistribute it and/or modify it
45
+ # under the terms of the GNU General Public License as published by the
46
+ # Free Software Foundation, either version 3 of the License, or (at your
47
+ # option) any later version.
48
+ #
49
+ # This program is distributed in the hope that it will be useful, but
50
+ # WITHOUT ANY WARRANTY; without even the implied warranty of
51
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
52
+ # Public License for more details.
53
+ #
54
+ # You should have received a copy of the GNU General Public License along
55
+ # with this program. If not, see <https://www.gnu.org/licenses/>.
56
+ #
57
+ # As a special exception, the respective Autoconf Macro's copyright owner
58
+ # gives unlimited permission to copy, distribute and modify the configure
59
+ # scripts that are the output of Autoconf when processing the Macro. You
60
+ # need not follow the terms of the GNU General Public License when using
61
+ # or distributing such scripts, even though portions of the text of the
62
+ # Macro appear in them. The GNU General Public License (GPL) does govern
63
+ # all other use of the material that constitutes the Autoconf Macro.
64
+ #
65
+ # This special exception to the GPL applies to versions of the Autoconf
66
+ # Macro released by the Autoconf Archive. When you make and distribute a
67
+ # modified version of the Autoconf Macro, you may extend this special
68
+ # exception to the GPL to apply to your modified version as well.
69
+
70
+ #serial 21
71
+
72
+ AU_ALIAS([AC_PYTHON_DEVEL], [AX_PYTHON_DEVEL])
73
+ AC_DEFUN([AX_PYTHON_DEVEL],[
74
+ #
75
+ # Allow the use of a (user set) custom python version
76
+ #
77
+ AC_ARG_VAR([PYTHON_VERSION],[The installed Python
78
+ version to use, for example '2.3'. This string
79
+ will be appended to the Python interpreter
80
+ canonical name.])
81
+
82
+ AC_PATH_PROG([PYTHON],[python[$PYTHON_VERSION]])
83
+ if test -z "$PYTHON"; then
84
+ AC_MSG_ERROR([Cannot find python$PYTHON_VERSION in your system path])
85
+ PYTHON_VERSION=""
86
+ fi
87
+
88
+ #
89
+ # Check for a version of Python >= 2.1.0
90
+ #
91
+ AC_MSG_CHECKING([for a version of Python >= '2.1.0'])
92
+ ac_supports_python_ver=`$PYTHON -c "import sys; \
93
+ ver = sys.version.split ()[[0]]; \
94
+ print (ver >= '2.1.0')"`
95
+ if test "$ac_supports_python_ver" != "True"; then
96
+ if test -z "$PYTHON_NOVERSIONCHECK"; then
97
+ AC_MSG_RESULT([no])
98
+ AC_MSG_FAILURE([
99
+ This version of the AC@&t@_PYTHON_DEVEL macro
100
+ doesn't work properly with versions of Python before
101
+ 2.1.0. You may need to re-run configure, setting the
102
+ variables PYTHON_CPPFLAGS, PYTHON_LIBS, PYTHON_SITE_PKG,
103
+ PYTHON_EXTRA_LIBS and PYTHON_EXTRA_LDFLAGS by hand.
104
+ Moreover, to disable this check, set PYTHON_NOVERSIONCHECK
105
+ to something else than an empty string.
106
+ ])
107
+ else
108
+ AC_MSG_RESULT([skip at user request])
109
+ fi
110
+ else
111
+ AC_MSG_RESULT([yes])
112
+ fi
113
+
114
+ #
115
+ # if the macro parameter ``version'' is set, honour it
116
+ #
117
+ if test -n "$1"; then
118
+ AC_MSG_CHECKING([for a version of Python $1])
119
+ ac_supports_python_ver=`$PYTHON -c "import sys; \
120
+ ver = sys.version.split ()[[0]]; \
121
+ print (ver $1)"`
122
+ if test "$ac_supports_python_ver" = "True"; then
123
+ AC_MSG_RESULT([yes])
124
+ else
125
+ AC_MSG_RESULT([no])
126
+ AC_MSG_ERROR([this package requires Python $1.
127
+ If you have it installed, but it isn't the default Python
128
+ interpreter in your system path, please pass the PYTHON_VERSION
129
+ variable to configure. See ``configure --help'' for reference.
130
+ ])
131
+ PYTHON_VERSION=""
132
+ fi
133
+ fi
134
+
135
+ #
136
+ # Check if you have distutils, else fail
137
+ #
138
+ AC_MSG_CHECKING([for the distutils Python package])
139
+ ac_distutils_result=`$PYTHON -c "import distutils" 2>&1`
140
+ if test $? -eq 0; then
141
+ AC_MSG_RESULT([yes])
142
+ else
143
+ AC_MSG_RESULT([no])
144
+ AC_MSG_ERROR([cannot import Python module "distutils".
145
+ Please check your Python installation. The error was:
146
+ $ac_distutils_result])
147
+ PYTHON_VERSION=""
148
+ fi
149
+
150
+ #
151
+ # Check for Python include path
152
+ #
153
+ AC_MSG_CHECKING([for Python include path])
154
+ if test -z "$PYTHON_CPPFLAGS"; then
155
+ python_path=`$PYTHON -c "import distutils.sysconfig; \
156
+ print (distutils.sysconfig.get_python_inc ());"`
157
+ plat_python_path=`$PYTHON -c "import distutils.sysconfig; \
158
+ print (distutils.sysconfig.get_python_inc (plat_specific=1));"`
159
+ if test -n "${python_path}"; then
160
+ if test "${plat_python_path}" != "${python_path}"; then
161
+ python_path="-I$python_path -I$plat_python_path"
162
+ else
163
+ python_path="-I$python_path"
164
+ fi
165
+ fi
166
+ PYTHON_CPPFLAGS=$python_path
167
+ fi
168
+ AC_MSG_RESULT([$PYTHON_CPPFLAGS])
169
+ AC_SUBST([PYTHON_CPPFLAGS])
170
+
171
+ #
172
+ # Check for Python library path
173
+ #
174
+ AC_MSG_CHECKING([for Python library path])
175
+ if test -z "$PYTHON_LIBS"; then
176
+ # (makes two attempts to ensure we've got a version number
177
+ # from the interpreter)
178
+ ac_python_version=`cat<<EOD | $PYTHON -
179
+
180
+ # join all versioning strings, on some systems
181
+ # major/minor numbers could be in different list elements
182
+ from distutils.sysconfig import *
183
+ e = get_config_var('VERSION')
184
+ if e is not None:
185
+ print(e)
186
+ EOD`
187
+
188
+ if test -z "$ac_python_version"; then
189
+ if test -n "$PYTHON_VERSION"; then
190
+ ac_python_version=$PYTHON_VERSION
191
+ else
192
+ ac_python_version=`$PYTHON -c "import sys; \
193
+ print (sys.version[[:3]])"`
194
+ fi
195
+ fi
196
+
197
+ # Make the versioning information available to the compiler
198
+ AC_DEFINE_UNQUOTED([HAVE_PYTHON], ["$ac_python_version"],
199
+ [If available, contains the Python version number currently in use.])
200
+
201
+ # First, the library directory:
202
+ ac_python_libdir=`cat<<EOD | $PYTHON -
203
+
204
+ # There should be only one
205
+ import distutils.sysconfig
206
+ e = distutils.sysconfig.get_config_var('LIBDIR')
207
+ if e is not None:
208
+ print (e)
209
+ EOD`
210
+
211
+ # Now, for the library:
212
+ ac_python_library=`cat<<EOD | $PYTHON -
213
+
214
+ import distutils.sysconfig
215
+ c = distutils.sysconfig.get_config_vars()
216
+ if 'LDVERSION' in c:
217
+ print ('python'+c[['LDVERSION']])
218
+ else:
219
+ print ('python'+c[['VERSION']])
220
+ EOD`
221
+
222
+ # This small piece shamelessly adapted from PostgreSQL python macro;
223
+ # credits goes to momjian, I think. I'd like to put the right name
224
+ # in the credits, if someone can point me in the right direction... ?
225
+ #
226
+ if test -n "$ac_python_libdir" -a -n "$ac_python_library"
227
+ then
228
+ # use the official shared library
229
+ ac_python_library=`echo "$ac_python_library" | sed "s/^lib//"`
230
+ PYTHON_LIBS="-L$ac_python_libdir -l$ac_python_library"
231
+ else
232
+ # old way: use libpython from python_configdir
233
+ ac_python_libdir=`$PYTHON -c \
234
+ "from distutils.sysconfig import get_python_lib as f; \
235
+ import os; \
236
+ print (os.path.join(f(plat_specific=1, standard_lib=1), 'config'));"`
237
+ PYTHON_LIBS="-L$ac_python_libdir -lpython$ac_python_version"
238
+ fi
239
+
240
+ if test -z "PYTHON_LIBS"; then
241
+ AC_MSG_ERROR([
242
+ Cannot determine location of your Python DSO. Please check it was installed with
243
+ dynamic libraries enabled, or try setting PYTHON_LIBS by hand.
244
+ ])
245
+ fi
246
+ fi
247
+ AC_MSG_RESULT([$PYTHON_LIBS])
248
+ AC_SUBST([PYTHON_LIBS])
249
+
250
+ #
251
+ # Check for site packages
252
+ #
253
+ AC_MSG_CHECKING([for Python site-packages path])
254
+ if test -z "$PYTHON_SITE_PKG"; then
255
+ PYTHON_SITE_PKG=`$PYTHON -c "import distutils.sysconfig; \
256
+ print (distutils.sysconfig.get_python_lib(0,0));"`
257
+ fi
258
+ AC_MSG_RESULT([$PYTHON_SITE_PKG])
259
+ AC_SUBST([PYTHON_SITE_PKG])
260
+
261
+ #
262
+ # libraries which must be linked in when embedding
263
+ #
264
+ AC_MSG_CHECKING(python extra libraries)
265
+ if test -z "$PYTHON_EXTRA_LIBS"; then
266
+ PYTHON_EXTRA_LIBS=`$PYTHON -c "import distutils.sysconfig; \
267
+ conf = distutils.sysconfig.get_config_var; \
268
+ print (conf('LIBS') + ' ' + conf('SYSLIBS'))"`
269
+ fi
270
+ AC_MSG_RESULT([$PYTHON_EXTRA_LIBS])
271
+ AC_SUBST(PYTHON_EXTRA_LIBS)
272
+
273
+ #
274
+ # linking flags needed when embedding
275
+ #
276
+ AC_MSG_CHECKING(python extra linking flags)
277
+ if test -z "$PYTHON_EXTRA_LDFLAGS"; then
278
+ PYTHON_EXTRA_LDFLAGS=`$PYTHON -c "import distutils.sysconfig; \
279
+ conf = distutils.sysconfig.get_config_var; \
280
+ print (conf('LINKFORSHARED'))"`
281
+ fi
282
+ AC_MSG_RESULT([$PYTHON_EXTRA_LDFLAGS])
283
+ AC_SUBST(PYTHON_EXTRA_LDFLAGS)
284
+
285
+ #
286
+ # final check to see if everything compiles alright
287
+ #
288
+ AC_MSG_CHECKING([consistency of all components of python development environment])
289
+ # save current global flags
290
+ ac_save_LIBS="$LIBS"
291
+ ac_save_LDFLAGS="$LDFLAGS"
292
+ ac_save_CPPFLAGS="$CPPFLAGS"
293
+ LIBS="$ac_save_LIBS $PYTHON_LIBS $PYTHON_EXTRA_LIBS $PYTHON_EXTRA_LIBS"
294
+ LDFLAGS="$ac_save_LDFLAGS $PYTHON_EXTRA_LDFLAGS"
295
+ CPPFLAGS="$ac_save_CPPFLAGS $PYTHON_CPPFLAGS"
296
+ AC_LANG_PUSH([C])
297
+ AC_LINK_IFELSE([
298
+ AC_LANG_PROGRAM([[#include <Python.h>]],
299
+ [[Py_Initialize();]])
300
+ ],[pythonexists=yes],[pythonexists=no])
301
+ AC_LANG_POP([C])
302
+ # turn back to default flags
303
+ CPPFLAGS="$ac_save_CPPFLAGS"
304
+ LIBS="$ac_save_LIBS"
305
+ LDFLAGS="$ac_save_LDFLAGS"
306
+
307
+ AC_MSG_RESULT([$pythonexists])
308
+
309
+ if test ! "x$pythonexists" = "xyes"; then
310
+ AC_MSG_FAILURE([
311
+ Could not link test program to Python. Maybe the main Python library has been
312
+ installed in some non-standard library path. If so, pass it to configure,
313
+ via the LIBS environment variable.
314
+ Example: ./configure LIBS="-L/usr/non-standard-path/python/lib"
315
+ ============================================================================
316
+ ERROR!
317
+ You probably have to install the development version of the Python package
318
+ for your distribution. The exact name of this package varies among them.
319
+ ============================================================================
320
+ ])
321
+ PYTHON_VERSION=""
322
+ fi
323
+
324
+ #
325
+ # all done!
326
+ #
327
+ ])
@@ -0,0 +1,7 @@
1
+ AC_DEFUN([CYTHON_PYTHON],[
2
+ AC_REQUIRE([AC_PROG_CYTHON])
3
+ AC_REQUIRE([AC_PYTHON_DEVEL])
4
+ test "x$1" != "xno" || cython_shadow=" -noproxy"
5
+ AC_SUBST([CYTHON_PYTHON_OPT],[-python$cython_shadow])
6
+ AC_SUBST([CYTHON_PYTHON_CPPFLAGS],[$PYTHON_CPPFLAGS])
7
+ ])
@@ -0,0 +1,148 @@
1
+ /*
2
+ * Array.cpp
3
+ *
4
+ * Copyright (c) 2009 Jonathan Beck All Rights Reserved.
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+ */
20
+
21
+ #include <plist/Array.h>
22
+
23
+ #include <algorithm>
24
+ #include <climits>
25
+ #include <cstdlib>
26
+
27
+ namespace PList
28
+ {
29
+
30
+ Array::Array(Node* parent) : Structure(PLIST_ARRAY, parent)
31
+ {
32
+ _array.clear();
33
+ }
34
+
35
+ static void array_fill(Array *_this, std::vector<Node*> array, plist_t node)
36
+ {
37
+ plist_array_iter iter = NULL;
38
+ plist_array_new_iter(node, &iter);
39
+ plist_t subnode;
40
+ do {
41
+ subnode = NULL;
42
+ plist_array_next_item(node, iter, &subnode);
43
+ array.push_back( Node::FromPlist(subnode, _this) );
44
+ } while (subnode);
45
+ free(iter);
46
+ }
47
+
48
+ Array::Array(plist_t node, Node* parent) : Structure(parent)
49
+ {
50
+ _node = node;
51
+ array_fill(this, _array, _node);
52
+ }
53
+
54
+ Array::Array(const PList::Array& a)
55
+ {
56
+ _array.clear();
57
+ _node = plist_copy(a.GetPlist());
58
+ array_fill(this, _array, _node);
59
+ }
60
+
61
+ Array& Array::operator=(PList::Array& a)
62
+ {
63
+ plist_free(_node);
64
+ for (unsigned int it = 0; it < _array.size(); it++)
65
+ {
66
+ delete _array.at(it);
67
+ }
68
+ _array.clear();
69
+ _node = plist_copy(a.GetPlist());
70
+ array_fill(this, _array, _node);
71
+ return *this;
72
+ }
73
+
74
+ Array::~Array()
75
+ {
76
+ for (unsigned int it = 0; it < _array.size(); it++)
77
+ {
78
+ delete (_array.at(it));
79
+ }
80
+ _array.clear();
81
+ }
82
+
83
+ Node* Array::Clone() const
84
+ {
85
+ return new Array(*this);
86
+ }
87
+
88
+ Node* Array::operator[](unsigned int array_index)
89
+ {
90
+ return _array.at(array_index);
91
+ }
92
+
93
+ void Array::Append(Node* node)
94
+ {
95
+ if (node)
96
+ {
97
+ Node* clone = node->Clone();
98
+ UpdateNodeParent(clone);
99
+ plist_array_append_item(_node, clone->GetPlist());
100
+ _array.push_back(clone);
101
+ }
102
+ }
103
+
104
+ void Array::Insert(Node* node, unsigned int pos)
105
+ {
106
+ if (node)
107
+ {
108
+ Node* clone = node->Clone();
109
+ UpdateNodeParent(clone);
110
+ plist_array_insert_item(_node, clone->GetPlist(), pos);
111
+ std::vector<Node*>::iterator it = _array.begin();
112
+ it += pos;
113
+ _array.insert(it, clone);
114
+ }
115
+ }
116
+
117
+ void Array::Remove(Node* node)
118
+ {
119
+ if (node)
120
+ {
121
+ uint32_t pos = plist_array_get_item_index(node->GetPlist());
122
+ if (pos == UINT_MAX) {
123
+ return;
124
+ }
125
+ plist_array_remove_item(_node, pos);
126
+ std::vector<Node*>::iterator it = _array.begin();
127
+ it += pos;
128
+ _array.erase(it);
129
+ delete node;
130
+ }
131
+ }
132
+
133
+ void Array::Remove(unsigned int pos)
134
+ {
135
+ plist_array_remove_item(_node, pos);
136
+ std::vector<Node*>::iterator it = _array.begin();
137
+ it += pos;
138
+ delete _array.at(pos);
139
+ _array.erase(it);
140
+ }
141
+
142
+ unsigned int Array::GetNodeIndex(Node* node) const
143
+ {
144
+ std::vector<Node*>::const_iterator it = std::find(_array.begin(), _array.end(), node);
145
+ return std::distance (_array.begin(), it);
146
+ }
147
+
148
+ } // namespace PList
@@ -0,0 +1,73 @@
1
+ /*
2
+ * Boolean.cpp
3
+ *
4
+ * Copyright (c) 2009 Jonathan Beck All Rights Reserved.
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+ */
20
+
21
+ #include <cstdlib>
22
+ #include <plist/Boolean.h>
23
+
24
+ namespace PList
25
+ {
26
+
27
+ Boolean::Boolean(Node* parent) : Node(PLIST_BOOLEAN, parent)
28
+ {
29
+ }
30
+
31
+ Boolean::Boolean(plist_t node, Node* parent) : Node(node, parent)
32
+ {
33
+ }
34
+
35
+ Boolean::Boolean(const PList::Boolean& b) : Node(PLIST_BOOLEAN)
36
+ {
37
+ plist_set_bool_val(_node, b.GetValue());
38
+ }
39
+
40
+ Boolean& Boolean::operator=(PList::Boolean& b)
41
+ {
42
+ plist_free(_node);
43
+ _node = plist_copy(b.GetPlist());
44
+ return *this;
45
+ }
46
+
47
+ Boolean::Boolean(bool b) : Node(PLIST_BOOLEAN)
48
+ {
49
+ plist_set_bool_val(_node, b);
50
+ }
51
+
52
+ Boolean::~Boolean()
53
+ {
54
+ }
55
+
56
+ Node* Boolean::Clone() const
57
+ {
58
+ return new Boolean(*this);
59
+ }
60
+
61
+ void Boolean::SetValue(bool b)
62
+ {
63
+ plist_set_bool_val(_node, b);
64
+ }
65
+
66
+ bool Boolean::GetValue() const
67
+ {
68
+ uint8_t b = 0;
69
+ plist_get_bool_val(_node, &b);
70
+ return b != 0 ;
71
+ }
72
+
73
+ } // namespace PList
@@ -0,0 +1,79 @@
1
+ /*
2
+ * Data.cpp
3
+ *
4
+ * Copyright (c) 2009 Jonathan Beck All Rights Reserved.
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+ */
20
+
21
+ #include <cstdlib>
22
+ #include <plist/Data.h>
23
+
24
+ namespace PList
25
+ {
26
+
27
+ Data::Data(Node* parent) : Node(PLIST_DATA, parent)
28
+ {
29
+ }
30
+
31
+ Data::Data(plist_t node, Node* parent) : Node(node, parent)
32
+ {
33
+ }
34
+
35
+ Data::Data(const PList::Data& d) : Node(PLIST_DATA)
36
+ {
37
+ std::vector<char> b = d.GetValue();
38
+ plist_set_data_val(_node, &b[0], b.size());
39
+ }
40
+
41
+ Data& Data::operator=(PList::Data& b)
42
+ {
43
+ plist_free(_node);
44
+ _node = plist_copy(b.GetPlist());
45
+ return *this;
46
+ }
47
+
48
+ Data::Data(const std::vector<char>& buff) : Node(PLIST_DATA)
49
+ {
50
+ plist_set_data_val(_node, &buff[0], buff.size());
51
+ }
52
+
53
+ Data::~Data()
54
+ {
55
+ }
56
+
57
+ Node* Data::Clone() const
58
+ {
59
+ return new Data(*this);
60
+ }
61
+
62
+ void Data::SetValue(const std::vector<char>& buff)
63
+ {
64
+ plist_set_data_val(_node, &buff[0], buff.size());
65
+ }
66
+
67
+ std::vector<char> Data::GetValue() const
68
+ {
69
+ char* buff = NULL;
70
+ uint64_t length = 0;
71
+ plist_get_data_val(_node, &buff, &length);
72
+ std::vector<char> ret(buff, buff + length);
73
+ free(buff);
74
+ return ret;
75
+ }
76
+
77
+
78
+
79
+ } // namespace PList
@@ -0,0 +1,76 @@
1
+ /*
2
+ * Date.cpp
3
+ *
4
+ * Copyright (c) 2009 Jonathan Beck All Rights Reserved.
5
+ *
6
+ * This library is free software; you can redistribute it and/or
7
+ * modify it under the terms of the GNU Lesser General Public
8
+ * License as published by the Free Software Foundation; either
9
+ * version 2.1 of the License, or (at your option) any later version.
10
+ *
11
+ * This library is distributed in the hope that it will be useful,
12
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14
+ * Lesser General Public License for more details.
15
+ *
16
+ * You should have received a copy of the GNU Lesser General Public
17
+ * License along with this library; if not, write to the Free Software
18
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
+ */
20
+
21
+ #include <cstdlib>
22
+ #include <plist/Date.h>
23
+
24
+ namespace PList
25
+ {
26
+
27
+ Date::Date(Node* parent) : Node(PLIST_DATE, parent)
28
+ {
29
+ }
30
+
31
+ Date::Date(plist_t node, Node* parent) : Node(node, parent)
32
+ {
33
+ }
34
+
35
+ Date::Date(const PList::Date& d) : Node(PLIST_DATE)
36
+ {
37
+ timeval t = d.GetValue();
38
+ plist_set_date_val(_node, t.tv_sec, t.tv_usec);
39
+ }
40
+
41
+ Date& Date::operator=(PList::Date& d)
42
+ {
43
+ plist_free(_node);
44
+ _node = plist_copy(d.GetPlist());
45
+ return *this;
46
+ }
47
+
48
+ Date::Date(timeval t) : Node(PLIST_DATE)
49
+ {
50
+ plist_set_date_val(_node, t.tv_sec, t.tv_usec);
51
+ }
52
+
53
+ Date::~Date()
54
+ {
55
+ }
56
+
57
+ Node* Date::Clone() const
58
+ {
59
+ return new Date(*this);
60
+ }
61
+
62
+ void Date::SetValue(timeval t)
63
+ {
64
+ plist_set_date_val(_node, t.tv_sec, t.tv_usec);
65
+ }
66
+
67
+ timeval Date::GetValue() const
68
+ {
69
+ int32_t tv_sec = 0;
70
+ int32_t tv_usec = 0;
71
+ plist_get_date_val(_node, &tv_sec, &tv_usec);
72
+ timeval t = {tv_sec, tv_usec};
73
+ return t;
74
+ }
75
+
76
+ } // namespace PList