xmp_toolkit_ruby 0.0.2

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 (183) hide show
  1. checksums.yaml +7 -0
  2. data/.idea/.gitignore +8 -0
  3. data/.rspec +3 -0
  4. data/.rubocop.yml +88 -0
  5. data/.ruby-gemset +1 -0
  6. data/.ruby-version +1 -0
  7. data/AGENTS.md +72 -0
  8. data/CHANGELOG.md +45 -0
  9. data/LICENSE.txt +21 -0
  10. data/README.md +287 -0
  11. data/Rakefile +25 -0
  12. data/cliff.toml +138 -0
  13. data/docker/Dockerfile +87 -0
  14. data/docker/ProductConfig.cmake.patch +11 -0
  15. data/docker/ToolchainGCC.cmake.patch +11 -0
  16. data/exe/xmp_toolkit_ruby +8 -0
  17. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/LICENSE +31 -0
  18. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/build/XMP_BuildInfo.h +17 -0
  19. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPFiles.hpp +853 -0
  20. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPIterator.hpp +234 -0
  21. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPMeta.hpp +1753 -0
  22. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPUtils.hpp +967 -0
  23. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP.hpp +98 -0
  24. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP.incl_cpp +69 -0
  25. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/IConfigurable.h +225 -0
  26. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h +71 -0
  27. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/IThreadSafe.h +76 -0
  28. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/IVersionable.h +71 -0
  29. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IConfigurationManager.h +167 -0
  30. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IError.h +377 -0
  31. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IErrorNotifier.h +52 -0
  32. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IMemoryAllocator.h +65 -0
  33. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IObjectFactory.h +90 -0
  34. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IUTF8String.h +504 -0
  35. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Utilities/TWrapperFunctions.h +252 -0
  36. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Utilities/TWrapperFunctions2.h +564 -0
  37. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonDefines.h +194 -0
  38. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonErrorCodes.h +114 -0
  39. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonFwdDeclarations.h +158 -0
  40. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonLatestInterfaceVersions.h +51 -0
  41. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IConfigurable.cpp +204 -0
  42. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IConfigurationManager.cpp +92 -0
  43. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IError.cpp +207 -0
  44. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IErrorNotifier.cpp +26 -0
  45. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IUTF8String.cpp +299 -0
  46. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IArrayNode.h +303 -0
  47. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IClientDOMParser.h +88 -0
  48. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IClientDOMSerializer.h +94 -0
  49. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICompositeNode.h +331 -0
  50. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICoreConfigurationManager.h +107 -0
  51. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICoreObjectFactory.h +279 -0
  52. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IDOMImplementationRegistry.h +150 -0
  53. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IDOMParser.h +181 -0
  54. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IDOMSerializer.h +120 -0
  55. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IMetadata.h +145 -0
  56. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IMetadataConverterUtils.h +116 -0
  57. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/INameSpacePrefixMap.h +236 -0
  58. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/INode.h +582 -0
  59. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/INodeIterator.h +193 -0
  60. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IPath.h +212 -0
  61. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IPathSegment.h +225 -0
  62. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ISimpleNode.h +150 -0
  63. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IStructureNode.h +306 -0
  64. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreDefines.h +94 -0
  65. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreErrorCodes.h +116 -0
  66. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreFwdDeclarations.h +325 -0
  67. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreLatestInterfaceVersions.h +97 -0
  68. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IArrayNode.cpp +163 -0
  69. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IClientDOMParser.cpp +76 -0
  70. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IClientDOMSerializer.cpp +73 -0
  71. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ICompositeNode.cpp +121 -0
  72. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ICoreConfigurationManager.cpp +88 -0
  73. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ICoreObjectFactory.cpp +83 -0
  74. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IDOMImplementationRegistry.cpp +122 -0
  75. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IDOMParser.cpp +116 -0
  76. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IDOMSerializer.cpp +109 -0
  77. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IMetadata.cpp +113 -0
  78. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IMetadataConverterUtils.cpp +92 -0
  79. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/INameSpacePrefixMap.cpp +187 -0
  80. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/INode.cpp +377 -0
  81. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/INodeIterator.cpp +105 -0
  82. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IPath.cpp +157 -0
  83. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IPathSegment.cpp +146 -0
  84. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ISimpleNode.cpp +111 -0
  85. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IStructureNode.cpp +104 -0
  86. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_Const.h +1590 -0
  87. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_Environment.h +223 -0
  88. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_IO.hpp +169 -0
  89. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_Version.h +52 -0
  90. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPFiles.incl_cpp +484 -0
  91. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPIterator.incl_cpp +223 -0
  92. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPMeta.incl_cpp +917 -0
  93. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPUtils.incl_cpp +445 -0
  94. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPFiles.hpp +281 -0
  95. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPIterator.hpp +74 -0
  96. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPMeta.hpp +635 -0
  97. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPUtils.hpp +314 -0
  98. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMP_Common.hpp +132 -0
  99. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPCore.so +0 -0
  100. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPCoreStatic.a +0 -0
  101. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPFiles.so +0 -0
  102. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPFilesStatic.a +0 -0
  103. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/macintosh/universal/Debug/libXMPCoreStatic.a +0 -0
  104. data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/macintosh/universal/Debug/libXMPFilesStatic.a +0 -0
  105. data/ext/xmp_toolkit_ruby/extconf.rb +101 -0
  106. data/ext/xmp_toolkit_ruby/xmp_toolkit.cpp +321 -0
  107. data/ext/xmp_toolkit_ruby/xmp_toolkit.hpp +69 -0
  108. data/ext/xmp_toolkit_ruby/xmp_toolkit_ruby.cpp +44 -0
  109. data/lib/xmp_toolkit_ruby/cli.rb +95 -0
  110. data/lib/xmp_toolkit_ruby/namespaces.rb +77 -0
  111. data/lib/xmp_toolkit_ruby/plugins/LICENSE +31 -0
  112. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt +1 -0
  113. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt +31 -0
  114. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi +0 -0
  115. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so +0 -0
  116. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt +1 -0
  117. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt +31 -0
  118. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi +0 -0
  119. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so +0 -0
  120. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/PDF_Handler +0 -0
  121. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/Info.plist +52 -0
  122. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MODULE_IDENTIFIER.txt +1 -0
  123. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/MiniPDFL +0 -0
  124. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Resources/English.lproj/InfoPlist.strings +0 -0
  125. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Resources/Info.plist +35 -0
  126. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +0 -0
  127. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings +0 -0
  128. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist +35 -0
  129. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +146 -0
  130. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/MiniPDFL +0 -0
  131. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings +0 -0
  132. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/Resources/Info.plist +35 -0
  133. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/_CodeSignature/CodeResources +146 -0
  134. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/XMPPLUGINUIDS.txt +31 -0
  135. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler +0 -0
  136. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/Info.plist +52 -0
  137. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt +1 -0
  138. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL +0 -0
  139. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources/English.lproj/InfoPlist.strings +0 -0
  140. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources/Info.plist +35 -0
  141. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +0 -0
  142. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings +0 -0
  143. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist +35 -0
  144. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +146 -0
  145. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current/MiniPDFL +0 -0
  146. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings +0 -0
  147. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current/Resources/Info.plist +35 -0
  148. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current/_CodeSignature/CodeResources +146 -0
  149. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt +31 -0
  150. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/_CodeSignature/CodeResources +216 -0
  151. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/PDF_Handler +0 -0
  152. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/Info.plist +52 -0
  153. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MODULE_IDENTIFIER.txt +1 -0
  154. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/MiniPDFL +0 -0
  155. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Resources/English.lproj/InfoPlist.strings +0 -0
  156. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Resources/Info.plist +35 -0
  157. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +0 -0
  158. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings +0 -0
  159. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist +35 -0
  160. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +146 -0
  161. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/Current/MiniPDFL +0 -0
  162. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/Current/Resources/English.lproj/InfoPlist.strings +0 -0
  163. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/Current/Resources/Info.plist +35 -0
  164. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/Current/_CodeSignature/CodeResources +146 -0
  165. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/XMPPLUGINUIDS.txt +31 -0
  166. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/_CodeSignature/CodeResources +216 -0
  167. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/linux/PDF_Handler.exp +11 -0
  168. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/mac/PDF_Handler.exp +2 -0
  169. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/mac/PDF_Handler.plist +28 -0
  170. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/mac/PDF_HandlerPList.h +12 -0
  171. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/CopyPDFL.bat +14 -0
  172. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/PDF_Handler-32.rc +8 -0
  173. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/PDF_Handler-64.rc +8 -0
  174. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/PDF_Handler.def +9 -0
  175. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll +0 -0
  176. data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi +0 -0
  177. data/lib/xmp_toolkit_ruby/version.rb +5 -0
  178. data/lib/xmp_toolkit_ruby/xmp_file_format.rb +87 -0
  179. data/lib/xmp_toolkit_ruby/xmp_file_handler_flags.rb +49 -0
  180. data/lib/xmp_toolkit_ruby.rb +237 -0
  181. data/sig/xmp_toolkit_ruby.rbs +4 -0
  182. data/tasks/changelog.rake +29 -0
  183. metadata +357 -0
@@ -0,0 +1,150 @@
1
+ #ifndef __ISimpleNode_h__
2
+ #define __ISimpleNode_h__ 1
3
+
4
+ // =================================================================================================
5
+ // Copyright Adobe
6
+ // Copyright 2014 Adobe
7
+ // All Rights Reserved
8
+ //
9
+ // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
10
+ // of the Adobe license agreement accompanying it.
11
+ // =================================================================================================
12
+
13
+ #include "XMPCore/Interfaces/INode.h"
14
+
15
+ namespace AdobeXMPCore {
16
+
17
+ //!
18
+ //! \brief Version1 of the interface that represents a Simple Property Node of XMP DOM.
19
+ //! \details Provides all the functions to get and set various properties of the simple node.
20
+ //! \attention Support multi threading through locks but can be enabled/disabled by the client. By default
21
+ //! every object created does not support multi-threading.
22
+ //!
23
+ class XMP_PUBLIC ISimpleNode_v1
24
+ : public virtual INode_v1
25
+ {
26
+ public:
27
+
28
+ //!
29
+ //! @brief Gets the value of the simple property node.
30
+ //! \return A shared pointer to const AdobeXMPCommon::IUTF8String object containing value string
31
+ //! of the simple property node.
32
+ //!
33
+ virtual spcIUTF8String APICALL GetValue() const = 0;
34
+
35
+ //!
36
+ //! @brief Changes the value string of the simple property node.
37
+ //! \param[in] value Pointer to a constant char buffer containing value of the simple node.
38
+ //! \param[in] valueLength Number of characters in value. In case name is null terminated set it to AdobeXMPCommon::npos.
39
+ //! \note In case the value is null pointer or its contents are empty than the value is set to empty string.
40
+ //!
41
+ virtual void APICALL SetValue( const char * value, sizet valueLength ) = 0;
42
+
43
+ //!
44
+ //! @brief Indicates whether the simple property node is of URI type.
45
+ //! \return A bool value; true in case the simple node is of URI type, false otherwise.
46
+ //!
47
+ virtual bool APICALL IsURIType() const = 0;
48
+
49
+ //!
50
+ //! @brief Controls whether the type of simple property node should be of IsURI type or not.
51
+ //! \param[in] isURI A bool value controlling the IsURI type of the simple property node
52
+ //!
53
+ virtual void APICALL SetURIType( bool isURI ) = 0;
54
+
55
+ // Factories to create the simple node
56
+
57
+ //!
58
+ //! @brief Creates a simple property node which is not part of any metadata document.
59
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the simple node.
60
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
61
+ //! \param[in] name Pointer to a constant char buffer containing local name of the simple node.
62
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
63
+ //! \param[in] value Pointer to a constant char buffer containing value of the simple node.
64
+ //! \param[in] valueLength Number of characters in value. In case name is null terminated set it to AdobeXMPCommon::npos.
65
+ //! \return A shared pointer to a AdobeXMPCore::ISimpleNode object.
66
+ //! \attention Error is thrown in case
67
+ //! - nameSpace or name are NULL pointers, or
68
+ //! - their contents are empty.
69
+ //! \note In case the value is a null pointer or its contents are empty than the value is set to empty string.
70
+ //!
71
+ XMP_PRIVATE static spISimpleNode CreateSimpleNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength,
72
+ const char * value = NULL, sizet valueLength = AdobeXMPCommon::npos );
73
+
74
+
75
+ //!
76
+ //! \cond XMP_INTERNAL_DOCUMENTATION
77
+
78
+ //!
79
+ //! @{
80
+ //! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
81
+ //! \return Either a const or non const pointer to ISimpleNode interface.
82
+ //!
83
+ virtual pISimpleNode APICALL GetActualISimpleNode() __NOTHROW__ = 0;
84
+ XMP_PRIVATE pcISimpleNode GetActualISimpleNode() const __NOTHROW__ {
85
+ return const_cast< ISimpleNode_v1 * >( this )->GetActualISimpleNode();
86
+ }
87
+ //!
88
+ //! @}
89
+
90
+ //!
91
+ //! @{
92
+ //! @brief Returns the pointer to internal interfaces.
93
+ //! \return Either a const or non const pointer to ISimpleNode_I interface.
94
+ //!
95
+ virtual AdobeXMPCore_Int::pISimpleNode_I APICALL GetISimpleNode_I() __NOTHROW__ = 0;
96
+
97
+ XMP_PRIVATE AdobeXMPCore_Int::pcISimpleNode_I GetISimpleNode_I() const __NOTHROW__ {
98
+ return const_cast< ISimpleNode_v1 * >( this )->GetISimpleNode_I();
99
+ }
100
+ //!
101
+ //! @}
102
+
103
+ //!
104
+ //! @{
105
+ //! @brief Converts raw pointer to shared pointer. The raw pointer is of version 1 interface
106
+ //! where as the returned shared pointer depends on the version client is interested in.
107
+ //! \return Shared pointer to const or non constant interface.
108
+ //!
109
+ XMP_PRIVATE static spISimpleNode MakeShared( pISimpleNode_base ptr );
110
+ XMP_PRIVATE static spcISimpleNode MakeShared( pcISimpleNode_base ptr ) {
111
+ return MakeShared( const_cast< pISimpleNode_base >( ptr ) );
112
+ }
113
+ //!
114
+ //! @}
115
+
116
+ //!
117
+ //! @brief Returns the unique ID assigned to the interface.
118
+ //! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
119
+ //!
120
+ XMP_PRIVATE static uint64 GetInterfaceID() { return kISimpleNodeID; }
121
+
122
+ //!
123
+ //! @brief Returns the version of the interface.
124
+ //! \return 32 bit unsigned integer representing the version of the interface.
125
+ //!
126
+ XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
127
+ //! \endcond
128
+
129
+ protected:
130
+ //!
131
+ //! Destructor
132
+ //!
133
+ virtual ~ISimpleNode_v1() __NOTHROW__ {}
134
+
135
+ //! \cond XMP_INTERNAL_DOCUMENTATION
136
+ virtual pcIUTF8String_base APICALL getValue( pcIError_base & error ) const __NOTHROW__ = 0;
137
+ virtual void APICALL setValue( const char * value, sizet valueLength, pcIError_base & error ) __NOTHROW__ = 0;
138
+ virtual uint32 APICALL isURIType( pcIError_base & error ) const __NOTHROW__ = 0;
139
+ virtual void APICALL setURIType( uint32 isURI, pcIError_base & error ) __NOTHROW__ = 0;
140
+
141
+ #ifdef FRIEND_CLASS_DECLARATION
142
+ FRIEND_CLASS_DECLARATION();
143
+ #endif
144
+ REQ_FRIEND_CLASS_DECLARATION();
145
+ //! \endcond
146
+
147
+ };
148
+ }
149
+
150
+ #endif // __ISimpleNode_h__
@@ -0,0 +1,306 @@
1
+ #ifndef IStructureNode_h__
2
+ #define IStructureNode_h__ 1
3
+
4
+ // =================================================================================================
5
+ // Copyright Adobe
6
+ // Copyright 2014 Adobe
7
+ // All Rights Reserved
8
+ //
9
+ // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
10
+ // of the Adobe license agreement accompanying it.
11
+ // =================================================================================================
12
+
13
+ #include "XMPCore/Interfaces/ICompositeNode.h"
14
+
15
+ namespace AdobeXMPCore {
16
+
17
+ //!
18
+ //! @brief Version1 of the interface that represents a structure Node of XMP DOM.
19
+ //! \details Provides all the functions to get and set various properties of the structure node.
20
+ //! \attention Support multi threading through locks but can be enabled/disabled by the client. By default
21
+ //! every object created does not support multi-threading.
22
+ //!
23
+ class XMP_PUBLIC IStructureNode_v1
24
+ : public virtual ICompositeNode_v1
25
+ {
26
+ public:
27
+
28
+ //!
29
+ //! @brief Gets the type of the node's child having specified namespace and name.
30
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the child node.
31
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
32
+ //! \param[in] name Pointer to a constant char buffer containing local name of the child node.
33
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
34
+ //! \return An object of type #eNodeType indicating the type of the node's child.
35
+ //! \note In case no child exists with the specified nameSpace and name combination then an eNodeType::kNTNone is returned.
36
+ //!
37
+ virtual eNodeType APICALL GetChildNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const = 0;
38
+
39
+
40
+ //!
41
+ //! @{
42
+ //! @brief Gets the child of the node having specified namespace and name.
43
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the child node.
44
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
45
+ //! \param[in] name Pointer to a constant char buffer containing local name of the child node.
46
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
47
+ //! \return A shared pointer to either a const or const child node.
48
+ //! \note In case no child exists with the specified nameSpace and name combination then an invalid shared pointer
49
+ //! is returned.
50
+ //!
51
+ XMP_PRIVATE spcINode GetNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
52
+ return const_cast< IStructureNode_v1 * >( this )->GetNode( nameSpace, nameSpaceLength, name, nameLength );
53
+ }
54
+ virtual spINode APICALL GetNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) = 0;
55
+ //! @}
56
+
57
+ //!
58
+ //! @{
59
+ //! @brief Gets the node's child having specified name space and name as simple node.
60
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the child node.
61
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
62
+ //! \param[in] name Pointer to a constant char buffer containing local name of the child node.
63
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
64
+ //! \return A shared pointer to const or non const ISimpleNode object containing child.
65
+ //! \note In case no child exists with the specified nameSpace and name combination then an invalid shared pointer
66
+ //! is returned.
67
+ //! \attention Error is thrown in case
68
+ //! - a child exists with the specified nameSpace and name combination but is not a simple node.
69
+ //!
70
+ XMP_PRIVATE spcISimpleNode GetSimpleNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
71
+ auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
72
+ if ( node ) return node->ConvertToSimpleNode();
73
+ return spcISimpleNode();
74
+ }
75
+
76
+ XMP_PRIVATE spISimpleNode GetSimpleNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
77
+ auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
78
+ if ( node ) return node->ConvertToSimpleNode();
79
+ return spISimpleNode();
80
+ }
81
+ //! @}
82
+
83
+ //!
84
+ //! @{
85
+ //! @brief Gets the node's child having specified name space and name as structure node.
86
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the child node.
87
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
88
+ //! \param[in] name Pointer to a constant char buffer containing local name of the child node.
89
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
90
+ //! \return A shared pointer to const or non const IStructureNode object containing child.
91
+ //! \note In case no child exists with the specified nameSpace and name combination then an invalid shared pointer
92
+ //! is returned.
93
+ //! \attention Error is thrown in case
94
+ //! - a child exists with the specified nameSpace and name combination but is not a structure node.
95
+ //!
96
+ XMP_PRIVATE spcIStructureNode GetStructureNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
97
+ auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
98
+ if ( node ) return node->ConvertToStructureNode();
99
+ return spcIStructureNode();
100
+ }
101
+
102
+ XMP_PRIVATE spIStructureNode GetStructureNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
103
+ auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
104
+ if ( node ) return node->ConvertToStructureNode();
105
+ return spIStructureNode();
106
+ }
107
+ //! @}
108
+
109
+ //!
110
+ //! @{
111
+ //! @brief Gets the node's child having specified name space and name as an array node.
112
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the child node.
113
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
114
+ //! \param[in] name Pointer to a constant char buffer containing local name of the child node.
115
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
116
+ //! \return A shared pointer to const or non const ISimpleNode object containing child.
117
+ //! \note In case no child exists with the specified nameSpace and name combination then an invalid shared pointer
118
+ //! is returned.
119
+ //! \attention Error is thrown in case
120
+ //! - a child exists with the specified nameSpace and name combination but is not an array node.
121
+ //!
122
+ XMP_PRIVATE spcIArrayNode GetArrayNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
123
+ auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
124
+ if ( node ) return node->ConvertToArrayNode();
125
+ return spcIArrayNode();
126
+ }
127
+
128
+ XMP_PRIVATE spIArrayNode GetArrayNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
129
+ auto node = GetNode( nameSpace, nameSpaceLength, name, nameLength );
130
+ if ( node ) return node->ConvertToArrayNode();
131
+ return spIArrayNode();
132
+ }
133
+ //! @}
134
+
135
+ //!
136
+ //! @brief Inserts a given node.
137
+ //! \param[in] node Shared pointer to an object of AdobeXMPCore::INode containing the node to be inserted.
138
+ //! \attention Error is thrown in following cases:
139
+ //! -# given node is invalid.
140
+ //! -# given node is already a child of some other node.
141
+ //! -# there exists a node with the same nameSpace and name combination.
142
+ //!
143
+ virtual void APICALL InsertNode( const spINode & node ) = 0;
144
+
145
+ //!
146
+ //! @brief Replaces a given node.
147
+ //! \param[in] node Shared pointer to an object of AdobeXMPCore::INode.
148
+ //! \return A shared pointer to the node being replaced.
149
+ //! \attention Error is thrown in following cases:
150
+ //! -# given node is invalid.
151
+ //! -# given node is already a child of some other node.
152
+ //! -# there exists no node with the same nameSpace and name combination.
153
+ //! \note Type of the old existing node may/may not be same as that of new node.
154
+ //!
155
+ virtual spINode APICALL ReplaceNode( const spINode & node ) = 0;
156
+
157
+ //!
158
+ //! @brief Removes the node with the specified nameSpace and name.
159
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the child node.
160
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
161
+ //! \param[in] name Pointer to a constant char buffer containing local name of the child node.
162
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
163
+ //! \return A shared pointer to AdobeXMPCore::INode object containing node which is removed from the tree.
164
+ //! \note In case no node exists with the given nameSpace and name combination an invalid shared pointer is returned.
165
+ //!
166
+ virtual spINode APICALL RemoveNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) = 0;
167
+
168
+ //!
169
+ //! \cond XMP_INTERNAL_DOCUMENTATION
170
+
171
+ //!
172
+ //! @{
173
+ //! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
174
+ //! \return Either a const or non const pointer to IStructureNode interface.
175
+ //!
176
+ virtual pIStructureNode APICALL GetActualIStructureNode() __NOTHROW__ = 0;
177
+ XMP_PRIVATE pcIStructureNode GetActualIStructureNode() const __NOTHROW__ {
178
+ return const_cast< IStructureNode_v1 * >( this )->GetActualIStructureNode();
179
+ }
180
+ //!
181
+ //! @}
182
+
183
+ //!
184
+ //! @{
185
+ //! @brief Returns the pointer to internal interfaces.
186
+ //! \return Either a const or non const pointer to IStructureNode_I interface.
187
+ //!
188
+ virtual AdobeXMPCore_Int::pIStructureNode_I APICALL GetIStructureNode_I() __NOTHROW__ = 0;
189
+
190
+ XMP_PRIVATE AdobeXMPCore_Int::pcIStructureNode_I GetIStructureNode_I() const __NOTHROW__ {
191
+ return const_cast< IStructureNode_v1 * >( this )->GetIStructureNode_I();
192
+ }
193
+ //!
194
+ //! @}
195
+
196
+ //!
197
+ //! @{
198
+ //! @brief Converts raw pointer to shared pointer. The raw pointer is of version 1 interface
199
+ //! where as the returned shared pointer depends on the version client is interested in.
200
+ //! \return Shared pointer to const or non constant interface.
201
+ //!
202
+ XMP_PRIVATE static spIStructureNode MakeShared( pIStructureNode_base ptr );
203
+ XMP_PRIVATE static spcIStructureNode MakeShared( pcIStructureNode_base ptr ) {
204
+ return MakeShared( const_cast< pIStructureNode_base >( ptr ) );
205
+ }
206
+ //!
207
+ //! @}
208
+
209
+ //!
210
+ //! @brief Returns the unique ID assigned to the interface.
211
+ //! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
212
+ //!
213
+ XMP_PRIVATE static uint64 GetInterfaceID() { return kIStructureNodeID; }
214
+
215
+ //!
216
+ //! @brief Returns the version of the interface.
217
+ //! \return 32 bit unsigned integer representing the version of the interface.
218
+ //!
219
+ XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
220
+ //! \endcond
221
+
222
+ // Factories to create the structure node
223
+
224
+ //!
225
+ //! @brief Creates a structure node which is not part of any metadata document.
226
+ //! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the structure node.
227
+ //! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
228
+ //! \param[in] name Pointer to a constant char buffer containing local name of the structure node.
229
+ //! \param[in] nameLength Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
230
+ //! \return A shared pointer to a AdobeXMPCore::IStructureNode object.
231
+ //! \attention Error is thrown in the following cases:
232
+ //! -# nameSpace is NULL or its contents are empty.
233
+ //! -# name is NULL or its contents are empty.
234
+ //!
235
+ XMP_PRIVATE static spIStructureNode CreateStructureNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
236
+
237
+ protected:
238
+ //!
239
+ //! Destructor
240
+ //!
241
+ virtual ~IStructureNode_v1() __NOTHROW__ {}
242
+
243
+ //! \cond XMP_INTERNAL_DOCUMENTATION
244
+ virtual uint32 APICALL getChildNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) const __NOTHROW__ = 0;
245
+ virtual pINode_base APICALL getNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
246
+ virtual void APICALL insertNode( pINode_base node, pcIError_base & error ) __NOTHROW__ = 0;
247
+ virtual pINode_base APICALL replaceNode( pINode_base node, pcIError_base & error ) __NOTHROW__ = 0;
248
+ virtual pINode_base APICALL removeNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
249
+
250
+ #ifdef FRIEND_CLASS_DECLARATION
251
+ FRIEND_CLASS_DECLARATION();
252
+ #endif
253
+ REQ_FRIEND_CLASS_DECLARATION();
254
+ //! \endcond
255
+
256
+ };
257
+ }
258
+
259
+ //! \cond XMP_INTERNAL_DOCUMENTATION
260
+ #if !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
261
+
262
+ namespace AdobeXMPCore {
263
+
264
+ #if XMP_WinBuild
265
+ #pragma warning( push )
266
+ #pragma warning( disable : 4250 )
267
+ #endif
268
+
269
+ class IStructureNodeProxy
270
+ : public virtual IStructureNode
271
+ , public virtual ICompositeNodeProxy
272
+ {
273
+ private:
274
+ pIStructureNode mRawPtr;
275
+
276
+ public:
277
+ IStructureNodeProxy( pIStructureNode ptr );
278
+ ~IStructureNodeProxy() __NOTHROW__ ;
279
+
280
+ AdobeXMPCore_Int::pIStructureNode_I APICALL GetIStructureNode_I() __NOTHROW__;
281
+ virtual pIStructureNode APICALL GetActualIStructureNode() __NOTHROW__;
282
+
283
+ virtual eNodeType APICALL GetChildNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const;
284
+ virtual spINode APICALL GetNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
285
+ virtual void APICALL InsertNode( const spINode & node );
286
+ virtual spINode APICALL ReplaceNode( const spINode & node );
287
+ virtual spINode APICALL RemoveNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
288
+
289
+ protected:
290
+ virtual uint32 APICALL getChildNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) const __NOTHROW__;
291
+ virtual pINode_base APICALL getNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
292
+ virtual void APICALL insertNode( pINode_base node, pcIError_base & error ) __NOTHROW__;
293
+ virtual pINode_base APICALL replaceNode( pINode_base node, pcIError_base & error ) __NOTHROW__;
294
+ virtual pINode_base APICALL removeNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
295
+ };
296
+
297
+ #if XMP_WinBuild
298
+ #pragma warning( pop )
299
+ #endif
300
+
301
+ }
302
+
303
+ #endif // BUILDING_XMPCORE_LIB
304
+ //! \endcond
305
+
306
+ #endif // IStructureNode_h__
@@ -0,0 +1,94 @@
1
+ #ifndef XMPCoreDefines_h__
2
+ #define XMPCoreDefines_h__ 1
3
+
4
+ // =================================================================================================
5
+ // Copyright 2014 Adobe
6
+ // All Rights Reserved.
7
+ //
8
+ // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
9
+ // of the Adobe license agreement accompanying it.
10
+ // =================================================================================================
11
+
12
+ // =================================================================================================
13
+ // XMPCoreDefines.h - Common Defines for XMP Core component
14
+ // ================================================================
15
+ //
16
+ // This header defines common definitions to be used in XMP Core component.
17
+ //
18
+ // =================================================================================================
19
+
20
+ // =================================================================================================
21
+ // All Platform Settings
22
+ // ===========================
23
+ #include "XMPCommon/XMPCommonDefines.h"
24
+
25
+ #ifndef ENABLE_CPP_DOM_MODEL
26
+ // =================================================================================================
27
+ // Macintosh Specific Settings
28
+ // ===========================
29
+ #if XMP_MacBuild
30
+ #define ENABLE_CPP_DOM_MODEL 0
31
+ #endif
32
+
33
+ // =================================================================================================
34
+ // IOS Specific Settings
35
+ // ===========================
36
+ #if XMP_iOSBuild
37
+ #define ENABLE_CPP_DOM_MODEL 0
38
+ #endif
39
+
40
+ // =================================================================================================
41
+ // Windows Specific Settings
42
+ // =========================
43
+ #if XMP_WinBuild
44
+ #define ENABLE_CPP_DOM_MODEL 0
45
+ #endif
46
+
47
+ // =================================================================================================
48
+ // UNIX Specific Settings
49
+ // ======================
50
+ #if XMP_UNIXBuild
51
+ #define ENABLE_CPP_DOM_MODEL 0
52
+ #endif
53
+
54
+ // =================================================================================================
55
+ // Android Specific Settings
56
+ // ======================
57
+ #if XMP_AndroidBuild
58
+ #define ENABLE_CPP_DOM_MODEL 0
59
+ #endif
60
+
61
+ #endif // ENABLE_CPP_DOM_MODEL
62
+
63
+ #ifndef ENABLE_CPP_DOM_MODEL
64
+ #define ENABLE_CPP_DOM_MODEL 0
65
+ #endif
66
+
67
+ #if ENABLE_CPP_DOM_MODEL
68
+
69
+ #if SOURCE_COMPILING_XMP_ALL
70
+ #define SOURCE_COMPILING_XMPCORE_LIB 1
71
+ #endif
72
+
73
+ #ifndef SOURCE_COMPILING_XMPCORE_LIB
74
+ #define SOURCE_COMPILING_XMPCORE_LIB 0
75
+ #endif
76
+
77
+ #ifndef BUILDING_XMPCORE_LIB
78
+ #define BUILDING_XMPCORE_LIB 0
79
+ #endif
80
+
81
+ #if BUILDING_XMPCORE_LIB
82
+ #if !BUILDING_XMPCORE_AS_STATIC && !BUILDING_XMPCORE_AS_DYNAMIC
83
+ #error "Define either BUILDING_XMPCORE_AS_STATIC as 1 or BUILDING_XMPCORE_AS_DYNAMIC as 1"
84
+ #endif
85
+ #endif
86
+
87
+ #ifndef LINKING_XMPCORE_LIB
88
+ #define LINKING_XMPCORE_LIB 1
89
+ #endif
90
+
91
+ namespace AdobeXMPCore {};
92
+ #endif // ENABLE_CPP_DOM_MODEL
93
+
94
+ #endif // XMPCoreDefines_h__
@@ -0,0 +1,116 @@
1
+ #ifndef XMPCoreErrorCodes_h__
2
+ #define XMPCoreErrorCodes_h__ 1
3
+
4
+ // =================================================================================================
5
+ // Copyright Adobe
6
+ // Copyright 2015 Adobe
7
+ // All Rights Reserved
8
+ //
9
+ // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
10
+ // of the Adobe license agreement accompanying it.
11
+ // =================================================================================================
12
+
13
+ #include "XMPCore/XMPCoreDefines.h"
14
+ #include "XMPCommon/XMPCommonErrorCodes.h"
15
+
16
+ namespace AdobeXMPCore {
17
+
18
+ typedef enum {
19
+ //! Indicates no error.
20
+ kDMECNone = 0,
21
+
22
+ //! Indicates that IXMPNameSpacePrefixMap has an entry missing.
23
+ kDMECNameSpacePrefixMapEntryMissing = 1,
24
+
25
+ //! Indicates that a different type of node is present than one user is expecting
26
+ kDMECDifferentNodeTypePresent = 2,
27
+
28
+ //! Indicates that node is already a child of another parent.
29
+ kDMECNodeAlreadyAChild = 3,
30
+
31
+ //! Indicates a node with the same qualified name or index already exists.
32
+ kDMECNodeAlreadyExists = 4,
33
+
34
+ //! Indicates no such node exists.
35
+ kDMECNoSuchNodeExists = 5,
36
+
37
+ //! Indicates current array element type is not same as that of other child items
38
+ kDMECArrayItemTypeDifferent = 6,
39
+
40
+ //! Indicates invalid path segment inside a path.
41
+ kDMECInvalidPathSegment = 7,
42
+
43
+ //! Indicates Bad schema parameter
44
+ kDMECBadSchema = 101,
45
+
46
+ //! Indicates Bad XPath parameter
47
+ kDMECBadXPath = 102,
48
+
49
+ //! Indicates Bad options parameter
50
+ kDMECBadOptions = 103,
51
+
52
+ //! Indicates Bad iteration position
53
+ kDMECBadIterPosition = 104,
54
+
55
+ //! Indicates Unicode error
56
+ kDMECBadUnicode = 105,
57
+
58
+ //! Indicates XMP format error
59
+ kDMECValidationError = 106,
60
+
61
+ //! Indicates Empty iterator
62
+ kDMECEmptyIterator = 107,
63
+
64
+ //! Maximum value this enum can hold, should be treated as invalid value.
65
+ kDMECMaxValue = kMaxEnumValue
66
+ } eDataModelErrorCode;
67
+
68
+ //!
69
+ //! @brief Indicates various errors encountered during parsing.
70
+ //!
71
+ typedef enum {
72
+ //! Indicates no error.
73
+ kPECNone = 0,
74
+
75
+ //! Indicates XML parsing error.
76
+ kPECBadXML = 1,
77
+
78
+ //! RDF format error
79
+ kPECBadRDF = 2,
80
+
81
+ //! XMP format error
82
+ kPECBadXMP = 3,
83
+
84
+ //! Context Node is invalid
85
+ kPECInvalidContextNode = 4,
86
+
87
+ //! Context Node is not a composite node
88
+ kPECContextNodeIsNonComposite = 5,
89
+
90
+ //! Parent of Context Node is not an array node
91
+ kPECContextNodeParentIsNonArray = 6,
92
+
93
+ //! Maximum value this enum can hold, should be treated as invalid value.
94
+ kPECMaxValue = kMaxEnumValue
95
+ } eParserErrorCode;
96
+
97
+ //!
98
+ //! @brief Indicates various errors encountered during serialization.
99
+ //!
100
+ typedef enum {
101
+ //! Indicates no error.
102
+ kSECNone = 0,
103
+
104
+ //! Indicates serialization failed to achieve size requirement.
105
+ kSECSizeExceed = 1,
106
+
107
+ //! Indicates un registered namespace encountered during serialization.
108
+ kSECUnRegisteredNameSpace = 2,
109
+
110
+ //! Maximum value this enum can hold, should be treated as invalid value.
111
+ kSECMaxValue = kMaxEnumValue
112
+
113
+ } eSerializerErrorCode;
114
+ }
115
+
116
+ #endif // XMPCoreErrorCodes_h__