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.
- checksums.yaml +7 -0
- data/.idea/.gitignore +8 -0
- data/.rspec +3 -0
- data/.rubocop.yml +88 -0
- data/.ruby-gemset +1 -0
- data/.ruby-version +1 -0
- data/AGENTS.md +72 -0
- data/CHANGELOG.md +45 -0
- data/LICENSE.txt +21 -0
- data/README.md +287 -0
- data/Rakefile +25 -0
- data/cliff.toml +138 -0
- data/docker/Dockerfile +87 -0
- data/docker/ProductConfig.cmake.patch +11 -0
- data/docker/ToolchainGCC.cmake.patch +11 -0
- data/exe/xmp_toolkit_ruby +8 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/LICENSE +31 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/build/XMP_BuildInfo.h +17 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPFiles.hpp +853 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPIterator.hpp +234 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPMeta.hpp +1753 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/TXMPUtils.hpp +967 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP.hpp +98 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP.incl_cpp +69 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/IConfigurable.h +225 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h +71 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/IThreadSafe.h +76 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/BaseInterfaces/IVersionable.h +71 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IConfigurationManager.h +167 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IError.h +377 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IErrorNotifier.h +52 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IMemoryAllocator.h +65 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IObjectFactory.h +90 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Interfaces/IUTF8String.h +504 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Utilities/TWrapperFunctions.h +252 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/Utilities/TWrapperFunctions2.h +564 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonDefines.h +194 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonErrorCodes.h +114 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonFwdDeclarations.h +158 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/XMPCommonLatestInterfaceVersions.h +51 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IConfigurable.cpp +204 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IConfigurationManager.cpp +92 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IError.cpp +207 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IErrorNotifier.cpp +26 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCommon/source/IUTF8String.cpp +299 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IArrayNode.h +303 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IClientDOMParser.h +88 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IClientDOMSerializer.h +94 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICompositeNode.h +331 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICoreConfigurationManager.h +107 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICoreObjectFactory.h +279 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IDOMImplementationRegistry.h +150 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IDOMParser.h +181 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IDOMSerializer.h +120 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IMetadata.h +145 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IMetadataConverterUtils.h +116 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/INameSpacePrefixMap.h +236 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/INode.h +582 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/INodeIterator.h +193 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IPath.h +212 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IPathSegment.h +225 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ISimpleNode.h +150 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/IStructureNode.h +306 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreDefines.h +94 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreErrorCodes.h +116 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreFwdDeclarations.h +325 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/XMPCoreLatestInterfaceVersions.h +97 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IArrayNode.cpp +163 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IClientDOMParser.cpp +76 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IClientDOMSerializer.cpp +73 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ICompositeNode.cpp +121 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ICoreConfigurationManager.cpp +88 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ICoreObjectFactory.cpp +83 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IDOMImplementationRegistry.cpp +122 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IDOMParser.cpp +116 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IDOMSerializer.cpp +109 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IMetadata.cpp +113 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IMetadataConverterUtils.cpp +92 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/INameSpacePrefixMap.cpp +187 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/INode.cpp +377 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/INodeIterator.cpp +105 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IPath.cpp +157 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IPathSegment.cpp +146 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/ISimpleNode.cpp +111 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/source/IStructureNode.cpp +104 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_Const.h +1590 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_Environment.h +223 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_IO.hpp +169 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMP_Version.h +52 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPFiles.incl_cpp +484 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPIterator.incl_cpp +223 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPMeta.incl_cpp +917 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/TXMPUtils.incl_cpp +445 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPFiles.hpp +281 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPIterator.hpp +74 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPMeta.hpp +635 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMPUtils.hpp +314 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/client-glue/WXMP_Common.hpp +132 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPCore.so +0 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPCoreStatic.a +0 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPFiles.so +0 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/i80386linux_x64/debug/libXMPFilesStatic.a +0 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/macintosh/universal/Debug/libXMPCoreStatic.a +0 -0
- data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/libraries/macintosh/universal/Debug/libXMPFilesStatic.a +0 -0
- data/ext/xmp_toolkit_ruby/extconf.rb +101 -0
- data/ext/xmp_toolkit_ruby/xmp_toolkit.cpp +321 -0
- data/ext/xmp_toolkit_ruby/xmp_toolkit.hpp +69 -0
- data/ext/xmp_toolkit_ruby/xmp_toolkit_ruby.cpp +44 -0
- data/lib/xmp_toolkit_ruby/cli.rb +95 -0
- data/lib/xmp_toolkit_ruby/namespaces.rb +77 -0
- data/lib/xmp_toolkit_ruby/plugins/LICENSE +31 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt +1 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt +31 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt +1 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt +31 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/PDF_Handler +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/Info.plist +52 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MODULE_IDENTIFIER.txt +1 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/MiniPDFL +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Resources/English.lproj/InfoPlist.strings +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Resources/Info.plist +35 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +0 -0
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist +35 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +146 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/MiniPDFL +0 -0
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/Resources/Info.plist +35 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/MiniPDFL.framework/Versions/Current/_CodeSignature/CodeResources +146 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources/XMPPLUGINUIDS.txt +31 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/Info.plist +52 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt +1 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL +0 -0
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources/Info.plist +35 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +0 -0
- 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
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +146 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current/MiniPDFL +0 -0
- 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
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current/_CodeSignature/CodeResources +146 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt +31 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/_CodeSignature/CodeResources +216 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/PDF_Handler +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/Info.plist +52 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MODULE_IDENTIFIER.txt +1 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/MiniPDFL +0 -0
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Resources/Info.plist +35 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/A/MiniPDFL +0 -0
- 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
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/A/_CodeSignature/CodeResources +146 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/Current/MiniPDFL +0 -0
- 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
- 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
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/MiniPDFL.framework/Versions/Current/_CodeSignature/CodeResources +146 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/Resources/XMPPLUGINUIDS.txt +31 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current/_CodeSignature/CodeResources +216 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/linux/PDF_Handler.exp +11 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/mac/PDF_Handler.exp +2 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/mac/PDF_Handler.plist +28 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/mac/PDF_HandlerPList.h +12 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/CopyPDFL.bat +14 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/PDF_Handler-32.rc +8 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/PDF_Handler-64.rc +8 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/resource/win/PDF_Handler.def +9 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll +0 -0
- data/lib/xmp_toolkit_ruby/plugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi +0 -0
- data/lib/xmp_toolkit_ruby/version.rb +5 -0
- data/lib/xmp_toolkit_ruby/xmp_file_format.rb +87 -0
- data/lib/xmp_toolkit_ruby/xmp_file_handler_flags.rb +49 -0
- data/lib/xmp_toolkit_ruby.rb +237 -0
- data/sig/xmp_toolkit_ruby.rbs +4 -0
- data/tasks/changelog.rake +29 -0
- metadata +357 -0
@@ -0,0 +1,299 @@
|
|
1
|
+
// =================================================================================================
|
2
|
+
// Copyright Adobe
|
3
|
+
// Copyright 2015 Adobe
|
4
|
+
// All Rights Reserved
|
5
|
+
//
|
6
|
+
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
|
7
|
+
// of the Adobe license agreement accompanying it.
|
8
|
+
// =================================================================================================
|
9
|
+
|
10
|
+
#define FRIEND_CLASS_DECLARATION() friend class IUTF8StringProxy;
|
11
|
+
|
12
|
+
#include "XMPCommon/Interfaces/IUTF8String.h"
|
13
|
+
|
14
|
+
#if !BUILDING_XMPCOMMON_LIB && !SOURCE_COMPILING_XMP_ALL
|
15
|
+
|
16
|
+
#include "XMPCommon/Utilities/TWrapperFunctions.h"
|
17
|
+
#include "XMPCommon/Interfaces/IObjectFactory.h"
|
18
|
+
|
19
|
+
#include <assert.h>
|
20
|
+
|
21
|
+
namespace AdobeXMPCommon {
|
22
|
+
|
23
|
+
class IUTF8StringProxy
|
24
|
+
: public virtual IUTF8String
|
25
|
+
, public enable_shared_from_this< IUTF8StringProxy >
|
26
|
+
{
|
27
|
+
private:
|
28
|
+
pIUTF8String mRawPtr;
|
29
|
+
|
30
|
+
public:
|
31
|
+
IUTF8StringProxy( pIUTF8String ptr )
|
32
|
+
: mRawPtr( ptr )
|
33
|
+
{
|
34
|
+
mRawPtr->Acquire();
|
35
|
+
}
|
36
|
+
|
37
|
+
~IUTF8StringProxy() __NOTHROW__ { mRawPtr->Release(); }
|
38
|
+
|
39
|
+
pIUTF8String APICALL GetActualIUTF8String() __NOTHROW__ { return mRawPtr; }
|
40
|
+
|
41
|
+
void APICALL Acquire() const __NOTHROW__ { assert( false ); }
|
42
|
+
|
43
|
+
void APICALL Release() const __NOTHROW__ { assert( false ); }
|
44
|
+
|
45
|
+
spIUTF8String APICALL append( const char * buf, sizet count ) {
|
46
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, const char *, sizet >(
|
47
|
+
mRawPtr, &IUTF8String::append, buf, count )->Release();
|
48
|
+
return shared_from_this();
|
49
|
+
}
|
50
|
+
|
51
|
+
spIUTF8String APICALL append( const spcIUTF8String & src, sizet srcPos, sizet count ) {
|
52
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, pcIUTF8String_base, sizet, sizet >(
|
53
|
+
mRawPtr, &IUTF8String::append, src ? src->GetActualIUTF8String() : NULL, srcPos, count )->Release();
|
54
|
+
return shared_from_this();
|
55
|
+
}
|
56
|
+
|
57
|
+
pIUTF8String_base APICALL append( const char * buffer, sizet count, pcIError_base & error ) __NOTHROW__ {
|
58
|
+
assert( false );
|
59
|
+
mRawPtr->append( buffer, count, error );
|
60
|
+
return this;
|
61
|
+
}
|
62
|
+
|
63
|
+
pIUTF8String_base APICALL append( pcIUTF8String_base str, sizet srcPos, sizet count, pcIError_base & error ) __NOTHROW__ {
|
64
|
+
assert( false );
|
65
|
+
mRawPtr->append( str, srcPos, count, error );
|
66
|
+
return this;
|
67
|
+
}
|
68
|
+
|
69
|
+
spIUTF8String APICALL assign( const char * buf, sizet count ) {
|
70
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, const char *, sizet >(
|
71
|
+
mRawPtr, &IUTF8String::assign, buf, count )->Release();
|
72
|
+
return shared_from_this();
|
73
|
+
}
|
74
|
+
|
75
|
+
spIUTF8String APICALL assign( const spcIUTF8String & src, sizet srcPos, sizet count ) {
|
76
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, pcIUTF8String_base, sizet, sizet >(
|
77
|
+
mRawPtr, &IUTF8String::assign, src ? src->GetActualIUTF8String() : NULL, srcPos, count )->Release();
|
78
|
+
return shared_from_this();
|
79
|
+
}
|
80
|
+
|
81
|
+
pIUTF8String_base APICALL assign( const char * buffer, sizet count, pcIError_base & error ) __NOTHROW__ {
|
82
|
+
assert( false );
|
83
|
+
mRawPtr->assign( buffer, count, error );
|
84
|
+
return this;
|
85
|
+
}
|
86
|
+
|
87
|
+
pIUTF8String_base APICALL assign( pcIUTF8String_base str, sizet srcPos, sizet count, pcIError_base & error ) __NOTHROW__ {
|
88
|
+
assert( false );
|
89
|
+
mRawPtr->assign( str, srcPos, count, error );
|
90
|
+
return this;
|
91
|
+
}
|
92
|
+
|
93
|
+
spIUTF8String APICALL insert( sizet pos, const char * buf, sizet count ) {
|
94
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, sizet, const char *, sizet >(
|
95
|
+
mRawPtr, &IUTF8String::insert, pos, buf, count )->Release();
|
96
|
+
return shared_from_this();
|
97
|
+
}
|
98
|
+
|
99
|
+
spIUTF8String APICALL insert( sizet pos, const spcIUTF8String & src, sizet srcPos, sizet count ) {
|
100
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, sizet, pcIUTF8String_base, sizet, sizet >(
|
101
|
+
mRawPtr, &IUTF8String::insert, pos, src ? src->GetActualIUTF8String() : NULL, srcPos, count )->Release();
|
102
|
+
return shared_from_this();
|
103
|
+
}
|
104
|
+
|
105
|
+
pIUTF8String_base APICALL insert( sizet pos, const char * buf, sizet count, pcIError_base & error ) __NOTHROW__ {
|
106
|
+
assert( false );
|
107
|
+
mRawPtr->insert( pos, buf, count, error );
|
108
|
+
return this;
|
109
|
+
}
|
110
|
+
|
111
|
+
pIUTF8String_base APICALL insert( sizet pos, pcIUTF8String_base src, sizet srcPos, sizet count, pcIError_base & error ) __NOTHROW__ {
|
112
|
+
assert( false );
|
113
|
+
mRawPtr->insert( pos, src, srcPos, count, error );
|
114
|
+
return this;
|
115
|
+
}
|
116
|
+
|
117
|
+
spIUTF8String APICALL erase( sizet pos, sizet count ) {
|
118
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, sizet, sizet >(
|
119
|
+
mRawPtr, &IUTF8String::erase, pos, count )->Release();
|
120
|
+
return shared_from_this();
|
121
|
+
}
|
122
|
+
|
123
|
+
pIUTF8String_base APICALL erase( sizet pos, sizet count, pcIError_base & error ) __NOTHROW__ {
|
124
|
+
assert( false );
|
125
|
+
mRawPtr->erase( pos, count, error );
|
126
|
+
return this;
|
127
|
+
}
|
128
|
+
|
129
|
+
void APICALL resize( sizet n ) {
|
130
|
+
CallSafeFunctionReturningVoid< IUTF8String, sizet >(
|
131
|
+
mRawPtr, &IUTF8String::resize, n );
|
132
|
+
}
|
133
|
+
|
134
|
+
virtual void APICALL resize( sizet n, pcIError_base & error ) __NOTHROW__ {
|
135
|
+
assert( false );
|
136
|
+
mRawPtr->resize( n, error );
|
137
|
+
}
|
138
|
+
|
139
|
+
spIUTF8String APICALL replace( sizet pos, sizet count, const char * buf, sizet srcCount ) {
|
140
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, sizet, sizet, const char *, sizet >(
|
141
|
+
mRawPtr, &IUTF8String::replace, pos, count, buf, srcCount )->Release();
|
142
|
+
return shared_from_this();
|
143
|
+
}
|
144
|
+
|
145
|
+
spIUTF8String APICALL replace( sizet pos, sizet count, const spcIUTF8String & src, sizet srcPos, sizet srcCount ) {
|
146
|
+
CallSafeFunction< IUTF8String, pIUTF8String_base, pIUTF8String_base, sizet, sizet, pcIUTF8String_base, sizet, sizet >(
|
147
|
+
mRawPtr, &IUTF8String::replace, pos, count, src ? src->GetActualIUTF8String() : NULL, srcPos, srcCount )->Release();
|
148
|
+
return shared_from_this();
|
149
|
+
}
|
150
|
+
|
151
|
+
pIUTF8String_base APICALL replace( sizet pos, sizet count, const char * buf, sizet srcCount, pcIError_base & error ) __NOTHROW__ {
|
152
|
+
assert( false );
|
153
|
+
mRawPtr->replace( pos, count, buf, srcCount, error );
|
154
|
+
return this;
|
155
|
+
}
|
156
|
+
|
157
|
+
pIUTF8String_base APICALL replace( sizet pos, sizet count, pcIUTF8String_base src, sizet srcPos, sizet srcCount, pcIError_base & error ) __NOTHROW__ {
|
158
|
+
assert( false );
|
159
|
+
mRawPtr->replace( pos, count, src, srcPos, srcCount, error );
|
160
|
+
return this;
|
161
|
+
}
|
162
|
+
|
163
|
+
sizet APICALL copy( char * buf, sizet len, sizet pos ) const {
|
164
|
+
return CallConstSafeFunction< IUTF8String, sizet, sizet, char *, sizet, sizet >(
|
165
|
+
mRawPtr, &IUTF8String::copy, buf, len, pos );
|
166
|
+
}
|
167
|
+
|
168
|
+
sizet APICALL copy( char * buf, sizet len, sizet pos, pcIError_base & error ) const __NOTHROW__ {
|
169
|
+
assert( false );
|
170
|
+
return mRawPtr->copy( buf, len, pos, error );
|
171
|
+
}
|
172
|
+
|
173
|
+
sizet APICALL find( const char * buf, sizet pos, sizet count ) const {
|
174
|
+
return CallConstSafeFunction< IUTF8String, sizet, sizet, const char *, sizet, sizet >(
|
175
|
+
mRawPtr, &IUTF8String::find, buf, pos, count );
|
176
|
+
}
|
177
|
+
|
178
|
+
sizet APICALL find( const spcIUTF8String & src, sizet pos, sizet count ) const {
|
179
|
+
return CallConstSafeFunction< IUTF8String, sizet, sizet, pcIUTF8String_base, sizet, sizet >(
|
180
|
+
mRawPtr, &IUTF8String::find, src ? src->GetActualIUTF8String() : NULL, pos, count );
|
181
|
+
}
|
182
|
+
|
183
|
+
sizet APICALL find( const char * buf, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ {
|
184
|
+
assert( false );
|
185
|
+
return mRawPtr->find( buf, pos, count, error );
|
186
|
+
}
|
187
|
+
|
188
|
+
sizet APICALL find( pcIUTF8String_base src, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ {
|
189
|
+
assert( false );
|
190
|
+
return mRawPtr->find( src, pos, count, error );
|
191
|
+
}
|
192
|
+
|
193
|
+
sizet APICALL rfind( const char * buf, sizet pos, sizet count ) const {
|
194
|
+
return CallConstSafeFunction< IUTF8String, sizet, sizet, const char *, sizet, sizet >(
|
195
|
+
mRawPtr, &IUTF8String::rfind, buf, pos, count );
|
196
|
+
}
|
197
|
+
|
198
|
+
sizet APICALL rfind( const spcIUTF8String & src, sizet pos, sizet count ) const {
|
199
|
+
return CallConstSafeFunction< IUTF8String, sizet, sizet, pcIUTF8String_base, sizet, sizet >(
|
200
|
+
mRawPtr, &IUTF8String::rfind, src ? src->GetActualIUTF8String() : NULL, pos, count );
|
201
|
+
}
|
202
|
+
|
203
|
+
sizet APICALL rfind( const char * buf, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ {
|
204
|
+
assert( false );
|
205
|
+
return mRawPtr->rfind( buf, pos, count, error );
|
206
|
+
}
|
207
|
+
|
208
|
+
sizet APICALL rfind( pcIUTF8String_base src, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ {
|
209
|
+
assert( false );
|
210
|
+
return mRawPtr->rfind( src, pos, count, error );
|
211
|
+
}
|
212
|
+
|
213
|
+
int32 APICALL compare( sizet pos, sizet len, const char * buf, sizet count ) const {
|
214
|
+
return CallConstSafeFunction< IUTF8String, int32, int32, sizet, sizet, const char *, sizet >(
|
215
|
+
mRawPtr, &IUTF8String::compare, pos, len, buf, count );
|
216
|
+
}
|
217
|
+
|
218
|
+
int32 APICALL compare( sizet pos, sizet len, const spcIUTF8String & str, sizet strPos, sizet strLen ) const {
|
219
|
+
return CallConstSafeFunction< IUTF8String, int32, int32, sizet, sizet, pcIUTF8String_base, sizet, sizet >(
|
220
|
+
mRawPtr, &IUTF8String::compare, pos, len, str ? str->GetActualIUTF8String() : NULL, strPos, strLen );
|
221
|
+
}
|
222
|
+
|
223
|
+
int32 APICALL compare( sizet pos, sizet len, const char * buf, sizet count, pcIError_base & error ) const __NOTHROW__ {
|
224
|
+
assert( false );
|
225
|
+
return mRawPtr->compare( pos, len, buf, count, error );
|
226
|
+
}
|
227
|
+
|
228
|
+
int32 APICALL compare( sizet pos, sizet len, pcIUTF8String_base str, sizet strPos, sizet strLen, pcIError_base & error ) const __NOTHROW__ {
|
229
|
+
assert( false );
|
230
|
+
return mRawPtr->compare( pos, len, str, strPos, strLen, error );
|
231
|
+
}
|
232
|
+
|
233
|
+
spIUTF8String APICALL substr( sizet pos, sizet count ) const {
|
234
|
+
return CallConstSafeFunctionReturningPointer< IUTF8String, pIUTF8String_base, IUTF8String, sizet, sizet >(
|
235
|
+
mRawPtr, &IUTF8String::substr, pos, count );
|
236
|
+
}
|
237
|
+
|
238
|
+
pIUTF8String_base APICALL substr( sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ {
|
239
|
+
assert( false );
|
240
|
+
return mRawPtr->substr( pos, count, error );
|
241
|
+
}
|
242
|
+
|
243
|
+
bool APICALL empty() const {
|
244
|
+
return CallConstSafeFunction< IUTF8String, bool, uint32 >(
|
245
|
+
mRawPtr, &IUTF8String::empty );
|
246
|
+
}
|
247
|
+
|
248
|
+
uint32 APICALL empty( pcIError_base & error ) const __NOTHROW__ {
|
249
|
+
assert( false );
|
250
|
+
return mRawPtr->empty();
|
251
|
+
}
|
252
|
+
|
253
|
+
const char * APICALL c_str() const __NOTHROW__ {
|
254
|
+
return mRawPtr->c_str();
|
255
|
+
}
|
256
|
+
|
257
|
+
void APICALL clear() __NOTHROW__ {
|
258
|
+
mRawPtr->clear();
|
259
|
+
}
|
260
|
+
|
261
|
+
sizet APICALL size() const __NOTHROW__ {
|
262
|
+
return mRawPtr->size();
|
263
|
+
}
|
264
|
+
|
265
|
+
AdobeXMPCommon_Int::pISharedObject_I APICALL GetISharedObject_I() __NOTHROW__ {
|
266
|
+
return mRawPtr->GetISharedObject_I();
|
267
|
+
}
|
268
|
+
|
269
|
+
pvoid APICALL GetInterfacePointer( uint64 interfaceID, uint32 interfaceVersion ) {
|
270
|
+
return CallSafeFunction< IVersionable, pvoid, pvoid, uint64, uint32 >(
|
271
|
+
mRawPtr, &IVersionable::getInterfacePointer, interfaceID, interfaceVersion );
|
272
|
+
}
|
273
|
+
|
274
|
+
pvoid APICALL getInterfacePointer( uint64 interfaceID, uint32 interfaceVersion, pcIError_base & error ) __NOTHROW__ {
|
275
|
+
assert( false );
|
276
|
+
return mRawPtr->getInterfacePointer( interfaceID, interfaceVersion, error );
|
277
|
+
}
|
278
|
+
|
279
|
+
};
|
280
|
+
|
281
|
+
spIUTF8String IUTF8String_v1::MakeShared( pIUTF8String_base ptr ) {
|
282
|
+
if ( !ptr ) return spIUTF8String();
|
283
|
+
pIUTF8String p = IUTF8String::GetInterfaceVersion() > 1 ? ptr->GetInterfacePointer< IUTF8String >() : ptr;
|
284
|
+
return shared_ptr< IUTF8StringProxy >( new IUTF8StringProxy( p ) );
|
285
|
+
}
|
286
|
+
|
287
|
+
spIUTF8String IUTF8String_v1::CreateUTF8String( pIObjectFactory objFactory ) {
|
288
|
+
return CallSafeFunctionReturningPointer< IObjectFactory, pIUTF8String_base, IUTF8String, const char *, sizet >(
|
289
|
+
objFactory, &IObjectFactory::CreateUTF8String, NULL, ( sizet ) 0 );
|
290
|
+
}
|
291
|
+
|
292
|
+
spIUTF8String IUTF8String_v1::CreateUTF8String( pIObjectFactory objFactory, const char * buf, sizet count ) {
|
293
|
+
return CallSafeFunctionReturningPointer< IObjectFactory, pIUTF8String_base, IUTF8String, const char *, sizet >(
|
294
|
+
objFactory, &IObjectFactory::CreateUTF8String, buf, count );
|
295
|
+
}
|
296
|
+
|
297
|
+
}
|
298
|
+
|
299
|
+
#endif // BUILDING_XMPCOMMON_LIB && !SOURCE_COMPILING_XMP_ALL
|
@@ -0,0 +1,303 @@
|
|
1
|
+
#ifndef __IArrayNode_h__
|
2
|
+
#define __IArrayNode_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
|
+
|
14
|
+
#include "XMPCore/Interfaces/ICompositeNode.h"
|
15
|
+
|
16
|
+
namespace AdobeXMPCore {
|
17
|
+
|
18
|
+
//!
|
19
|
+
//! \brief Version1 of the interface that represents an Array Node of XMP DOM.
|
20
|
+
//! \details Provides all the functions to get and set various properties of the array node.
|
21
|
+
//! \attention Support multi threading through locks but can be enabled/disabled by the client. By default
|
22
|
+
//! every object created does not support multi-threading.
|
23
|
+
//! \note The index of the array is 1-based.
|
24
|
+
//!
|
25
|
+
class XMP_PUBLIC IArrayNode_v1
|
26
|
+
: public virtual ICompositeNode_v1
|
27
|
+
{
|
28
|
+
public:
|
29
|
+
|
30
|
+
//!
|
31
|
+
//! @brief Indicates different kinds of array forms possible in XMP i.e, unordered, ordered and alternative.
|
32
|
+
//!
|
33
|
+
typedef enum {
|
34
|
+
//! unknown array form, should be used as invalid value.
|
35
|
+
kAFNone = 0,
|
36
|
+
|
37
|
+
//! Array contains entries which are unordered.
|
38
|
+
kAFUnordered = 1 << 0,
|
39
|
+
|
40
|
+
//! Array contains entries which are ordered.
|
41
|
+
kAFOrdered = 1 << 1,
|
42
|
+
|
43
|
+
//! Array contains entries which are ordered plus default value should be the top one.
|
44
|
+
kAFAlternative = 1 << 2,
|
45
|
+
|
46
|
+
//! Maximum value this enum can hold, should be treated as invalid value
|
47
|
+
kAFAll = kAllBits
|
48
|
+
} eArrayForm;
|
49
|
+
|
50
|
+
//!
|
51
|
+
//! @brief Get the type of array.
|
52
|
+
//! \return a value of type #eArrayForm indicating the type of array.
|
53
|
+
//!
|
54
|
+
virtual eArrayForm APICALL GetArrayForm() const = 0;
|
55
|
+
|
56
|
+
//!
|
57
|
+
//! @brief Get the type of child nodes.
|
58
|
+
//! \return a value of type #eNodeType indicating the type of child nodes array can hold.
|
59
|
+
//! \note An empty array will return \#INode_v1::kNTAll indicating that right now it can hold any type of node.
|
60
|
+
//!
|
61
|
+
virtual eNodeType APICALL GetChildNodeType() const = 0;
|
62
|
+
|
63
|
+
//!
|
64
|
+
//! @{
|
65
|
+
//! @brief Get the node at the specified index.
|
66
|
+
//! \param[in] index an object of type \#sizet indicating the index of the node client who is interested in.
|
67
|
+
//! \return A shared pointer to const or non const \#INode object containing node.
|
68
|
+
//! \note In case no node exists at the given index an invalid shared pointer is returned.
|
69
|
+
//! \note The index of an array is 1-based.
|
70
|
+
//!
|
71
|
+
virtual spINode APICALL GetNodeAtIndex( sizet index ) = 0;
|
72
|
+
XMP_PRIVATE spcINode GetNodeAtIndex( sizet index ) const {
|
73
|
+
return const_cast< IArrayNode_v1 * >( this )->GetNodeAtIndex( index );
|
74
|
+
}
|
75
|
+
//! @}
|
76
|
+
|
77
|
+
//!
|
78
|
+
//! @{
|
79
|
+
//! @brief Get the node at the specified index as simple node, if possible.
|
80
|
+
//! \param[in] index An object of type \#sizet indicating the index of the node client is interested in.
|
81
|
+
//! \return A shared pointer to const or non const \#ISimpleNode object containing node.
|
82
|
+
//! \note In case no node exists at the given index an invalid shared pointer is returned.
|
83
|
+
//! \note The index of an array is 1-based.
|
84
|
+
//! \attention Error is thrown in case
|
85
|
+
//! - a child exists at the given index but is not a simple node.
|
86
|
+
//!
|
87
|
+
XMP_PRIVATE spcISimpleNode GetSimpleNodeAtIndex( sizet index ) const {
|
88
|
+
auto node = GetNodeAtIndex( index );
|
89
|
+
if ( node ) return node->ConvertToSimpleNode();
|
90
|
+
return spcISimpleNode();
|
91
|
+
}
|
92
|
+
|
93
|
+
XMP_PRIVATE spISimpleNode GetSimpleNodeAtIndex( sizet index ) {
|
94
|
+
auto node = GetNodeAtIndex( index );
|
95
|
+
if ( node ) return node->ConvertToSimpleNode();
|
96
|
+
return spISimpleNode();
|
97
|
+
}
|
98
|
+
//! @}
|
99
|
+
|
100
|
+
//!
|
101
|
+
//! @{
|
102
|
+
//! @brief Get the node at the specified index as structure node, if possible.
|
103
|
+
//! \param[in] index An object of type \#sizet indicating the index of the node client is interested in.
|
104
|
+
//! \return A shared pointer to const or non const \#IStructureNode object containing node.
|
105
|
+
//! \note In case no node exists at the given index an invalid shared pointer is returned.
|
106
|
+
//! \note The index of an array is 1-based.
|
107
|
+
//! \attention Error is thrown in case
|
108
|
+
//! - a child exists at the given index but is not a structure node.
|
109
|
+
//!
|
110
|
+
XMP_PRIVATE spcIStructureNode GetStructureNodeAtIndex( sizet index ) const {
|
111
|
+
auto node = GetNodeAtIndex( index );
|
112
|
+
if ( node ) return node->ConvertToStructureNode();
|
113
|
+
return spcIStructureNode();
|
114
|
+
}
|
115
|
+
|
116
|
+
XMP_PRIVATE spIStructureNode GetStructureNodeAtIndex( sizet index ) {
|
117
|
+
auto node = GetNodeAtIndex( index );
|
118
|
+
if ( node ) return node->ConvertToStructureNode();
|
119
|
+
return spIStructureNode();
|
120
|
+
}
|
121
|
+
//! @}
|
122
|
+
|
123
|
+
//!
|
124
|
+
//! @{
|
125
|
+
//! @brief Get the node at the specified index as an array node, if possible.
|
126
|
+
//! \param[in] index an object of type \#sizet indicating the index of the node client is interested in.
|
127
|
+
//! \return a shared pointer to const or non const \#IArrayNode object containing node.
|
128
|
+
//! \note In case no node exists at the given index an invalid shared pointer is returned.
|
129
|
+
//! \note The index of an array is 1-based.
|
130
|
+
//! \attention Error is thrown in case
|
131
|
+
//! - a child exists at the given index but is not an array node.
|
132
|
+
//!
|
133
|
+
XMP_PRIVATE spcIArrayNode GetArrayNodeAtIndex( sizet index ) const {
|
134
|
+
auto node = GetNodeAtIndex( index );
|
135
|
+
if ( node ) return node->ConvertToArrayNode();
|
136
|
+
return spcIArrayNode();
|
137
|
+
}
|
138
|
+
|
139
|
+
XMP_PRIVATE spIArrayNode GetArrayNodeAtIndex( sizet index ) {
|
140
|
+
auto node = GetNodeAtIndex( index );
|
141
|
+
if ( node ) return node->ConvertToArrayNode();
|
142
|
+
return spIArrayNode();
|
143
|
+
}
|
144
|
+
//! @}
|
145
|
+
|
146
|
+
//!
|
147
|
+
//! @brief Inserts a given node at the specified index.
|
148
|
+
//! \param[in] node Shared pointer to an object of \#INode containing the node to be inserted at the specified index.
|
149
|
+
//! \param[in] index An object of type sizet indicating the index where the node should
|
150
|
+
//! be inserted.
|
151
|
+
//! \note The index of an array is 1-based.
|
152
|
+
//! \attention Error is thrown in following cases:
|
153
|
+
//! -# given node is invalid.
|
154
|
+
//! -# type of given node is not same as other child items of the array node.
|
155
|
+
//! -# given node is already a child of some other node.
|
156
|
+
//! -# given index is less than 1 or greater than current child count + 1.
|
157
|
+
//!
|
158
|
+
virtual void APICALL InsertNodeAtIndex( const spINode & node, sizet index ) = 0;
|
159
|
+
|
160
|
+
//!
|
161
|
+
//! @brief Replaces an existing node with the given node at the specified index.
|
162
|
+
//! \param[in] node Shared pointer to an object of \#INode containing the node to be inserted at the specified index.
|
163
|
+
//! \param[in] index An object of type \#sizet indicating the index from where the node should be replaced.
|
164
|
+
//! \return A shared pointer to the node replaced with the new node.
|
165
|
+
//! \note The index of an array is 1-based.
|
166
|
+
//! \attention Error is thrown in following cases:
|
167
|
+
//! -# Given node is invalid.
|
168
|
+
//! -# Type of given node is not same as other child items of the array node.
|
169
|
+
//! -# Given node is already a child of some other node.
|
170
|
+
//! -# Given index is less than 1 or greater than current child count.
|
171
|
+
//! -# No node exists at the requested index.
|
172
|
+
//!
|
173
|
+
virtual spINode APICALL ReplaceNodeAtIndex( const spINode & node, sizet index ) = 0;
|
174
|
+
|
175
|
+
//!
|
176
|
+
//! @brief Remove the node at the specified index.
|
177
|
+
//! \param[in] index An object of type \#sizet indicating the index from where the node should be removed.
|
178
|
+
//! \note The index of an array is 1-based.
|
179
|
+
//! \return A shared pointer to \#INode object containing node which is removed from the tree.
|
180
|
+
//! \note In case no node exists at the given index an invalid shared pointer is returned.
|
181
|
+
//!
|
182
|
+
virtual spINode APICALL RemoveNodeAtIndex( sizet index ) = 0;
|
183
|
+
|
184
|
+
//!
|
185
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
186
|
+
|
187
|
+
//!
|
188
|
+
//! @{
|
189
|
+
//! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
|
190
|
+
//! \return Either a const or non const pointer to IArrayNode interface.
|
191
|
+
//!
|
192
|
+
virtual pIArrayNode APICALL GetActualIArrayNode() __NOTHROW__ = 0;
|
193
|
+
XMP_PRIVATE pcIArrayNode GetActualIArrayNode() const __NOTHROW__ {
|
194
|
+
return const_cast< IArrayNode_v1 * >( this )->GetActualIArrayNode();
|
195
|
+
}
|
196
|
+
//!
|
197
|
+
//! @}
|
198
|
+
|
199
|
+
//!
|
200
|
+
//! @{
|
201
|
+
//! @brief Return the pointer to internal interfaces.
|
202
|
+
//! \return either a const or non const pointer to IArrayNode_I interface.
|
203
|
+
//!
|
204
|
+
virtual AdobeXMPCore_Int::pIArrayNode_I APICALL GetIArrayNode_I() __NOTHROW__ = 0;
|
205
|
+
|
206
|
+
XMP_PRIVATE AdobeXMPCore_Int::pcIArrayNode_I GetIArrayNode_I() const __NOTHROW__ {
|
207
|
+
return const_cast< IArrayNode_v1 * >( this )->GetIArrayNode_I();
|
208
|
+
}
|
209
|
+
//!
|
210
|
+
//! @}
|
211
|
+
|
212
|
+
//!
|
213
|
+
//! @{
|
214
|
+
//! @brief Converts raw pointer to shared pointer.
|
215
|
+
//! @details The raw pointer is of version 1 interface
|
216
|
+
//! where as the returned shared pointer depends on the version client is interested in.
|
217
|
+
//! \return Shared pointer to const or non constant interface.
|
218
|
+
//!
|
219
|
+
XMP_PRIVATE static spIArrayNode MakeShared( pIArrayNode_base ptr );
|
220
|
+
XMP_PRIVATE static spcIArrayNode MakeShared( pcIArrayNode_base ptr ) {
|
221
|
+
return MakeShared( const_cast< pIArrayNode_base >( ptr ) );
|
222
|
+
}
|
223
|
+
//!
|
224
|
+
//! @}
|
225
|
+
|
226
|
+
//!
|
227
|
+
//! return The unique ID assigned to the interface.
|
228
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
229
|
+
//!
|
230
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kIArrayNodeID; }
|
231
|
+
|
232
|
+
//!
|
233
|
+
//! @brief Returns the version of the interface.
|
234
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
235
|
+
//!
|
236
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
237
|
+
//! \endcond
|
238
|
+
|
239
|
+
// Factories to create the array node
|
240
|
+
|
241
|
+
//!
|
242
|
+
//! @brief Creates an unordered array node which is not part of any metadata document.
|
243
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the array node.
|
244
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated, set it to \#AdobeXMPCommon::npos.
|
245
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the array node.
|
246
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
247
|
+
//! \return A shared pointer to a \#IArrayNode object.
|
248
|
+
//! \attention Error is thrown in the following cases:
|
249
|
+
//! -# nameSpace is NULL or its contents are empty.
|
250
|
+
//! -# name is NULL or its contents are empty.
|
251
|
+
//!
|
252
|
+
XMP_PRIVATE static spIArrayNode CreateUnorderedArrayNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
|
253
|
+
|
254
|
+
//!
|
255
|
+
//! @brief Creates an ordered array node which is not part of any metadata document.
|
256
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the array node.
|
257
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
258
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the array node.
|
259
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
260
|
+
//! \return A shared pointer to a \#IArrayNode object.
|
261
|
+
//! \attention Error is thrown in the following cases:
|
262
|
+
//! -# nameSpace is NULL or its contents are empty.
|
263
|
+
//! -# name is NULL or its contents are empty.
|
264
|
+
//!
|
265
|
+
XMP_PRIVATE static spIArrayNode CreateOrderedArrayNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
|
266
|
+
|
267
|
+
//!
|
268
|
+
//! @brief Creates an alternative array node which is not part of any metadata document.
|
269
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the array node.
|
270
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
271
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the array node.
|
272
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
273
|
+
//! \return A shared pointer to a \#IArrayNode object.
|
274
|
+
//! \attention Error is thrown in the following cases:
|
275
|
+
//! -# nameSpace is NULL or its contents are empty.
|
276
|
+
//! -# name is NULL or its contents are empty.
|
277
|
+
//!
|
278
|
+
XMP_PRIVATE static spIArrayNode CreateAlternativeArrayNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
|
279
|
+
|
280
|
+
protected:
|
281
|
+
//!
|
282
|
+
//! Destructor
|
283
|
+
//!
|
284
|
+
virtual ~IArrayNode_v1() __NOTHROW__ {}
|
285
|
+
|
286
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
287
|
+
virtual uint32 APICALL getArrayForm( pcIError_base & error ) const __NOTHROW__ = 0;
|
288
|
+
virtual uint32 APICALL getChildNodeType( pcIError_base & error ) const __NOTHROW__ = 0;
|
289
|
+
virtual pINode_base APICALL getNodeAtIndex( sizet index, pcIError_base & error ) __NOTHROW__ = 0;
|
290
|
+
virtual void APICALL insertNodeAtIndex( pINode_base node, sizet index, pcIError_base & error ) __NOTHROW__ = 0;
|
291
|
+
virtual pINode_base APICALL replaceNodeAtIndex( pINode_base node, sizet index, pcIError_base & error ) __NOTHROW__ = 0;
|
292
|
+
virtual pINode_base APICALL removeNodeAtIndex( sizet index, pcIError_base & error ) __NOTHROW__ = 0;
|
293
|
+
|
294
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
295
|
+
FRIEND_CLASS_DECLARATION();
|
296
|
+
#endif
|
297
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
298
|
+
//! \endcond
|
299
|
+
|
300
|
+
};
|
301
|
+
}
|
302
|
+
|
303
|
+
#endif // __IArrayNode_h__
|