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,582 @@
|
|
1
|
+
#ifndef __INode_h__
|
2
|
+
#define __INode_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/XMPCoreFwdDeclarations.h"
|
14
|
+
#include "XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h"
|
15
|
+
#include "XMPCommon/Interfaces/BaseInterfaces/IVersionable.h"
|
16
|
+
#include "XMPCommon/Interfaces/BaseInterfaces/IThreadSafe.h"
|
17
|
+
|
18
|
+
namespace AdobeXMPCore {
|
19
|
+
|
20
|
+
//!
|
21
|
+
//! \brief Version1 of the interface that serves as a base interface to all types of nodes in the XMP DOM.
|
22
|
+
//! \details Provides all the functions to get various properties of the node.
|
23
|
+
//! \attention Support multi threading through locks but can be enabled/disabled by the client. By default
|
24
|
+
//! every object created does not support multi-threading.
|
25
|
+
//!
|
26
|
+
class XMP_PUBLIC INode_v1
|
27
|
+
: public virtual ISharedObject
|
28
|
+
, public virtual IVersionable
|
29
|
+
, public virtual IThreadSafe
|
30
|
+
{
|
31
|
+
public:
|
32
|
+
|
33
|
+
//!
|
34
|
+
//! @brief Indicates various types of node available in XMP Data Model like simple, array and structure.
|
35
|
+
//!
|
36
|
+
typedef enum {
|
37
|
+
//! Indicates none, to be used as invalid type.
|
38
|
+
kNTNone = 0,
|
39
|
+
|
40
|
+
//! XMP Node is of Simple Node type (key value pair).
|
41
|
+
kNTSimple = 1,
|
42
|
+
|
43
|
+
//! XMP Node is of Array type. Indexing start from 1.
|
44
|
+
kNTArray = 1 << 1,
|
45
|
+
|
46
|
+
//! XMP Node is of structure type.
|
47
|
+
kNTStructure = 1 << 2,
|
48
|
+
|
49
|
+
//! XMP Node of any type
|
50
|
+
kNTAll = kAllBits
|
51
|
+
} eNodeType;
|
52
|
+
|
53
|
+
//!
|
54
|
+
//! @brief Gets the node type of the node.
|
55
|
+
//! \return An object of type \#eNodeType indicating the type of the node.
|
56
|
+
//!
|
57
|
+
virtual eNodeType APICALL GetNodeType() const = 0;
|
58
|
+
|
59
|
+
//!
|
60
|
+
//! @brief Gets the node type of the node's parent.
|
61
|
+
//! \return An object of type \#eNodeType indicating the type of the node.
|
62
|
+
//! \note \#eNodeType::kNTNone is returned in case node has no parent.
|
63
|
+
//!
|
64
|
+
virtual eNodeType APICALL GetParentNodeType() const = 0;
|
65
|
+
|
66
|
+
//!
|
67
|
+
//! @{
|
68
|
+
//! @brief Gets the parent node of the node.
|
69
|
+
//! \return Either a const or non const pointer to INode interface.
|
70
|
+
//! \return A shared pointer to either a const or non const \#AdobeXMPCore::INode representing the parent of the node.
|
71
|
+
//! \note Returns an invalid shared pointer in case the node is a root node or it is not part of tree.
|
72
|
+
//!
|
73
|
+
XMP_PRIVATE spcINode GetParent() const {
|
74
|
+
return const_cast< INode_v1 * >( this )->GetParent();
|
75
|
+
}
|
76
|
+
virtual spINode APICALL GetParent() = 0;
|
77
|
+
//!
|
78
|
+
//! @}
|
79
|
+
|
80
|
+
//!
|
81
|
+
//! @brief Changes the local name of the node.
|
82
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the node.
|
83
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
84
|
+
//! \attention Error can be thrown in case
|
85
|
+
//! - name is NULL pointer or its contents are empty
|
86
|
+
//! - name is not valid XML property name.
|
87
|
+
//! - Sibling with the same combination of name and nameSpace is present.
|
88
|
+
//!
|
89
|
+
virtual void APICALL SetName( const char * name, sizet nameLength ) = 0;
|
90
|
+
|
91
|
+
//!
|
92
|
+
//! @brief Gets the local name of the node.
|
93
|
+
//! \return a shared pointer to const \#AdobeXMPCommon::IUTF8String representing the name of the node.
|
94
|
+
//!
|
95
|
+
virtual spcIUTF8String APICALL GetName() const = 0;
|
96
|
+
|
97
|
+
//!
|
98
|
+
//! @brief Changes the name space of the node.
|
99
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the node.
|
100
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
101
|
+
//! \attention Error can be thrown in case
|
102
|
+
//! - nameSpace is NULL pointer or its contents are empty
|
103
|
+
//! - Sibling with the same combination of name and nameSpace is present.
|
104
|
+
//!
|
105
|
+
virtual void APICALL SetNameSpace( const char * nameSpace, sizet nameSpaceLength ) = 0;
|
106
|
+
|
107
|
+
//!
|
108
|
+
//! @brief Gets the name space of the node.
|
109
|
+
//! \return A shared pointer to const \#AdobeXMPCommon::IUTF8String representing the name space of the node.
|
110
|
+
//!
|
111
|
+
virtual spcIUTF8String APICALL GetNameSpace() const = 0;
|
112
|
+
|
113
|
+
//!
|
114
|
+
//! @brief Gets the path of the node from the root of the metadata.
|
115
|
+
//! \return A shared pointer to \#AdobeXMPCore::IPath representing the path of the node.
|
116
|
+
//!
|
117
|
+
virtual spIPath APICALL GetPath() const = 0;
|
118
|
+
|
119
|
+
//!
|
120
|
+
//! @brief Gets the count of the qualifiers attached with the node
|
121
|
+
//! \return An object of type \#AdobeXMPCommon::sizet containing the count of qualifiers attached with the node.
|
122
|
+
//!
|
123
|
+
virtual sizet APICALL QualifiersCount() const __NOTHROW__ = 0;
|
124
|
+
|
125
|
+
//!
|
126
|
+
//! @{
|
127
|
+
//! Get an iterator object to iterate over all the qualifier nodes attached to the composite node.
|
128
|
+
//! \return A shared pointer to a const or non const \#INodeIterator object.
|
129
|
+
//!
|
130
|
+
XMP_PRIVATE spcINodeIterator QualifiersIterator() const {
|
131
|
+
return const_cast< INode_v1 * >( this )->QualifiersIterator();
|
132
|
+
}
|
133
|
+
virtual spINodeIterator APICALL QualifiersIterator() = 0;
|
134
|
+
//! @}
|
135
|
+
|
136
|
+
//!
|
137
|
+
//! @brief Gets the type of the node's qualifier having specified namespace and name.
|
138
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the qualifier node.
|
139
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
140
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the qualifier node.
|
141
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
142
|
+
//! \return An object of type \#eNodeType indicating the type of the node's qualifier.
|
143
|
+
//! \note In case no qualifier exists with the specified nameSpace and name combination then an \#eNodeType::kNTNode is returned.
|
144
|
+
//!
|
145
|
+
virtual eNodeType APICALL GetQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const = 0;
|
146
|
+
|
147
|
+
//!
|
148
|
+
//! @{
|
149
|
+
//! @brief Gets the qualifier of the node having specified namespace and name.
|
150
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the qualifier node.
|
151
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
152
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the qualifier node.
|
153
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
154
|
+
//! \return A shared pointer to either a const or const qualifier node.
|
155
|
+
//! \note In case no qualifier exists with the specified nameSpace and name combination then an invalid shared pointer
|
156
|
+
//! is returned.
|
157
|
+
//!
|
158
|
+
XMP_PRIVATE spcINode GetQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
|
159
|
+
return const_cast< INode_v1 * >( this )->GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
160
|
+
}
|
161
|
+
virtual spINode APICALL GetQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) = 0;
|
162
|
+
//! @}
|
163
|
+
|
164
|
+
//!
|
165
|
+
//! @{
|
166
|
+
//! @brief Get the node's qualifier having specified name space and name as simple node.
|
167
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the qualifier node.
|
168
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
169
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the qualifier node.
|
170
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
171
|
+
//! \return A shared pointer to const or non const \#ISimpleNode object containing qualifier.
|
172
|
+
//! \note In case no qualifier exists with the specified nameSpace and name combination then an invalid shared pointer
|
173
|
+
//! is returned.
|
174
|
+
//! \attention Error is thrown in case
|
175
|
+
//! - a qualifier exists with the specified nameSpace and name combination but is not a simple node.
|
176
|
+
//!
|
177
|
+
XMP_PRIVATE spcISimpleNode GetSimpleQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
|
178
|
+
auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
179
|
+
if ( node ) return node->ConvertToSimpleNode();
|
180
|
+
return spcISimpleNode();
|
181
|
+
}
|
182
|
+
|
183
|
+
XMP_PRIVATE spISimpleNode GetSimpleQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
|
184
|
+
auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
185
|
+
if ( node ) return node->ConvertToSimpleNode();
|
186
|
+
return spISimpleNode();
|
187
|
+
}
|
188
|
+
//! @}
|
189
|
+
|
190
|
+
//!
|
191
|
+
//! @{
|
192
|
+
//! @brief Get the node's qualifier having specified name space and name as structure node.
|
193
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the qualifier node.
|
194
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
195
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the qualifier node.
|
196
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
197
|
+
//! \return A shared pointer to const or non const \#IStructureNode object containing qualifier.
|
198
|
+
//! \note In case no qualifier exists with the specified nameSpace and name combination then an invalid shared pointer
|
199
|
+
//! is returned.
|
200
|
+
//! \attention Error is thrown in case
|
201
|
+
//! - a qualifier exists with the specified nameSpace and name combination but is not a structure node.
|
202
|
+
//!
|
203
|
+
XMP_PRIVATE spcIStructureNode GetStructureQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
|
204
|
+
auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
205
|
+
if ( node ) return node->ConvertToStructureNode();
|
206
|
+
return spcIStructureNode();
|
207
|
+
}
|
208
|
+
|
209
|
+
XMP_PRIVATE spIStructureNode GetStructureQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
|
210
|
+
auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
211
|
+
if ( node ) return node->ConvertToStructureNode();
|
212
|
+
return spIStructureNode();
|
213
|
+
}
|
214
|
+
//! @}
|
215
|
+
|
216
|
+
//!
|
217
|
+
//! @{
|
218
|
+
//! @brief Get the node's qualifier having specified name space and name as an array node.
|
219
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the qualifier node.
|
220
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
221
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the qualifier node.
|
222
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
223
|
+
//! \return A shared pointer to const or non const \#ISimpleNode object containing qualifier.
|
224
|
+
//! \note In case no qualifier exists with the specified nameSpace and name combination then an invalid shared pointer
|
225
|
+
//! is returned.
|
226
|
+
//! \attention Error is thrown in case
|
227
|
+
//! - a qualifier exists with the specified nameSpace and name combination but is not an array node.
|
228
|
+
//!
|
229
|
+
XMP_PRIVATE spcIArrayNode GetArrayQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
|
230
|
+
auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
231
|
+
if ( node ) return node->ConvertToArrayNode();
|
232
|
+
return spcIArrayNode();
|
233
|
+
}
|
234
|
+
|
235
|
+
XMP_PRIVATE spIArrayNode GetArrayQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
|
236
|
+
auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
|
237
|
+
if ( node ) return node->ConvertToArrayNode();
|
238
|
+
return spIArrayNode();
|
239
|
+
}
|
240
|
+
//! @}
|
241
|
+
|
242
|
+
//!
|
243
|
+
//! @brief Inserts a given qualifier node.
|
244
|
+
//! \param[in] node Shared pointer to an object of \#AdobeXMPCore::INode representing the qualifier node to be inserted.
|
245
|
+
//! \attention Error is thrown in following cases:
|
246
|
+
//! - given qualifier node is invalid.
|
247
|
+
//! - given qualifier node is already a child of some other node.
|
248
|
+
//! - there exists a qualifier node with the same nameSpace and name combination.
|
249
|
+
//! - parent or any ancestor node is a qualifier node.
|
250
|
+
//!
|
251
|
+
virtual void APICALL InsertQualifier( const spINode & node ) = 0;
|
252
|
+
|
253
|
+
//!
|
254
|
+
//! @brief Replaces a given qualifier node.
|
255
|
+
//! \param[in] node Shared pointer to an object of \#AdobeXMPCore::INode representing the qualifier node to be inserted.
|
256
|
+
//! \return A shared pointer to a qualifier node which is being replaced.
|
257
|
+
//! \attention Error is thrown in following cases:
|
258
|
+
//! -# given qualifier node is invalid.
|
259
|
+
//! -# given qualifier node is already a child of some other node.
|
260
|
+
//! -# there exists no qualifier node with the same nameSpace and name combination.
|
261
|
+
//! \note Warning is raised in case the type of the old existing node is not same as that of new node.
|
262
|
+
//!
|
263
|
+
virtual spINode APICALL ReplaceQualifier( const spINode & node ) = 0;
|
264
|
+
|
265
|
+
//!
|
266
|
+
//! @brief Removes the qualifier node with the specified nameSpace and name.
|
267
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the qualifier node.
|
268
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
269
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the qualifier node.
|
270
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
271
|
+
//! \return A shared pointer to \#AdobeXMPCore::INode object representing qualifier node which is removed from the node.
|
272
|
+
//! \note In case no qualifier node exists at the given index an invalid shared pointer is returned.
|
273
|
+
//!
|
274
|
+
virtual spINode APICALL RemoveQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) = 0;
|
275
|
+
|
276
|
+
//!
|
277
|
+
//! @brief Indicates whether the node is a direct child of an array node.
|
278
|
+
//! \return A bool value; true in case the node is a direct child of an array node, false otherwise.
|
279
|
+
//!
|
280
|
+
virtual bool APICALL IsArrayItem() const = 0;
|
281
|
+
|
282
|
+
//!
|
283
|
+
//! @brief Indicates whether the node is a qualifier node.
|
284
|
+
//! \return A bool value; true in case the node is a qualifier node, false otherwise.
|
285
|
+
//!
|
286
|
+
virtual bool APICALL IsQualifierNode() const = 0;
|
287
|
+
|
288
|
+
//!
|
289
|
+
//! @brief Returns the index of the node in case it is an array item.
|
290
|
+
//! \return The index of the node, in case it is an array item, otherwise returns 0.
|
291
|
+
//!
|
292
|
+
virtual sizet APICALL GetIndex() const = 0;
|
293
|
+
|
294
|
+
//!
|
295
|
+
//! @brief Indicates whether the node has any qualifiers associated with it.
|
296
|
+
//! \return A bool value; true in case the node has any qualifier associated with it, false otherwise.
|
297
|
+
//!
|
298
|
+
virtual bool APICALL HasQualifiers() const = 0;
|
299
|
+
|
300
|
+
//!
|
301
|
+
//! @brief Returns whether the node has any content or not.
|
302
|
+
//! return A bool value indicating the presence of contents in the node apart from qualifiers.
|
303
|
+
//!
|
304
|
+
virtual bool APICALL HasContent() const = 0;
|
305
|
+
|
306
|
+
//!
|
307
|
+
//! @brief Returns whether the node is empty.
|
308
|
+
//! return A bool value indicating whether the contents and qualifiers of a node are empty.
|
309
|
+
//!
|
310
|
+
virtual bool APICALL IsEmpty() const = 0;
|
311
|
+
|
312
|
+
//!
|
313
|
+
//! @brief Returns the status about any change done to the node or its children or qualifiers.
|
314
|
+
//! returns a bool value indicating whether some changes have been performed on the node or its children or qualifiers.
|
315
|
+
//! for a simple node, true will be returned in scenarios like when the node's value or qualifiers are modified.
|
316
|
+
//! for an array node or a structure node, true will be returned in scenarios like when the node's children or the node's qualifiers are modified.
|
317
|
+
//!
|
318
|
+
virtual bool APICALL HasChanged() const = 0;
|
319
|
+
|
320
|
+
//!
|
321
|
+
//! @brief Acknowledges that changes for the node and its children and qualifiers have been taken care of.
|
322
|
+
//! for a simple node, changes that will be acknowledged in scenarios like when the node's value or node's qualifiers were modified.
|
323
|
+
//! for an array node or a structure node, changes will be acknowledged in scenarios like when the node's children were or the node's qualifiers were modified.
|
324
|
+
//!
|
325
|
+
virtual void APICALL AcknowledgeChanges() const __NOTHROW__ = 0;
|
326
|
+
|
327
|
+
//!
|
328
|
+
//! @brief Clear the contents of the node.
|
329
|
+
//! \param[in] contents A bool value controlling whether contents of the node should be cleared or not.
|
330
|
+
//! \param[in] qualifiers A bool value controlling whether qualifiers of the node should be cleared or not.
|
331
|
+
//!
|
332
|
+
virtual void APICALL Clear( bool contents = true, bool qualifiers = true ) = 0;
|
333
|
+
|
334
|
+
//!
|
335
|
+
//! @{
|
336
|
+
//! @brief Converts Node to a simple node, if possible.
|
337
|
+
//! \return Shared pointer to const or non const ISimpleNode object. An empty simple node is thrown in case actual node is not a simple node.
|
338
|
+
//!
|
339
|
+
XMP_PRIVATE spcISimpleNode ConvertToSimpleNode() const {
|
340
|
+
return const_cast< INode_v1 * >( this )->ConvertToSimpleNode();
|
341
|
+
}
|
342
|
+
virtual spISimpleNode APICALL ConvertToSimpleNode() = 0;
|
343
|
+
//! @}
|
344
|
+
|
345
|
+
//!
|
346
|
+
//! @{
|
347
|
+
//! @brief Converts Node to a structure node type, if possible.
|
348
|
+
//! \return Shared pointer to const or non const IStructureNode object. An empty structure node is thrown in case actual node is not a structure node.
|
349
|
+
//!
|
350
|
+
XMP_PRIVATE spcIStructureNode ConvertToStructureNode() const {
|
351
|
+
return const_cast< INode_v1 * >( this )->ConvertToStructureNode();
|
352
|
+
}
|
353
|
+
virtual spIStructureNode APICALL ConvertToStructureNode() = 0;
|
354
|
+
//! @}
|
355
|
+
|
356
|
+
//!
|
357
|
+
//! @{
|
358
|
+
//! @brief Converts Node to an array node type, if possible.
|
359
|
+
//! \return Shared pointer to const or non const IArrayNode object. An empty array node is thrown in case actual node is not an array node.
|
360
|
+
//!
|
361
|
+
XMP_PRIVATE spcIArrayNode ConvertToArrayNode() const {
|
362
|
+
return const_cast< INode_v1 * >( this )->ConvertToArrayNode();
|
363
|
+
}
|
364
|
+
virtual spIArrayNode APICALL ConvertToArrayNode() = 0;
|
365
|
+
//! @}
|
366
|
+
|
367
|
+
//!
|
368
|
+
//! @{
|
369
|
+
//! @brief Converts Node to a metadata node type, if possible.
|
370
|
+
//! \return Shared pointer to const or non const IMetadata object. An empty metadata node is thrown in case actual node is not a metadata node.
|
371
|
+
//!
|
372
|
+
XMP_PRIVATE spcIMetadata ConvertToMetadata() const {
|
373
|
+
return const_cast< INode_v1 * >( this )->ConvertToMetadata();
|
374
|
+
}
|
375
|
+
virtual spIMetadata APICALL ConvertToMetadata() = 0;
|
376
|
+
//! @}
|
377
|
+
|
378
|
+
//!
|
379
|
+
//! @brief Virtual copy constructor
|
380
|
+
//! @details Clones the node creating an exact replica of the node which is not part of any metadata tree.
|
381
|
+
//! \param[in] ignoreEmptyNodes A bool value controlling whether to clone empty nodes or not.
|
382
|
+
//! \param[in] ignoreNodesWithOnlyQualifiers A bool value controlling whether presence of only qualifiers should mark
|
383
|
+
//! node as non empty.
|
384
|
+
//! \return A shared pointer to newly created replica of the node.
|
385
|
+
//!
|
386
|
+
virtual spINode APICALL Clone( bool ignoreEmptyNodes = false, bool ignoreNodesWithOnlyQualifiers = false ) const = 0;
|
387
|
+
|
388
|
+
//!
|
389
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
390
|
+
|
391
|
+
//!
|
392
|
+
//! @{
|
393
|
+
//! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
|
394
|
+
//! \return Either a const or non const pointer to INode interface.
|
395
|
+
//!
|
396
|
+
virtual pINode APICALL GetActualINode() __NOTHROW__ = 0;
|
397
|
+
|
398
|
+
XMP_PRIVATE pcINode GetActualINode() const __NOTHROW__ {
|
399
|
+
return const_cast< INode_v1 * >( this )->GetActualINode();
|
400
|
+
}
|
401
|
+
//!
|
402
|
+
//! @}
|
403
|
+
|
404
|
+
//!
|
405
|
+
//! @{
|
406
|
+
//! @brief Returns the pointer to internal interfaces.
|
407
|
+
//! \return Either a const or non const pointer to INode_I interface.
|
408
|
+
//!
|
409
|
+
virtual AdobeXMPCore_Int::pINode_I APICALL GetINode_I() __NOTHROW__ = 0;
|
410
|
+
|
411
|
+
XMP_PRIVATE AdobeXMPCore_Int::pcINode_I GetINode_I() const __NOTHROW__ {
|
412
|
+
return const_cast< INode_v1 * >( this )->GetINode_I();
|
413
|
+
}
|
414
|
+
//!
|
415
|
+
//! @}
|
416
|
+
|
417
|
+
//!
|
418
|
+
//! @{
|
419
|
+
//! @brief Converts raw pointer to shared pointer. The raw pointer is of version 1 interface
|
420
|
+
//! where as the returned shared pointer depends on the version client is interested in.
|
421
|
+
//! \return Shared pointer to const or non constant interface.
|
422
|
+
//!
|
423
|
+
XMP_PRIVATE static spINode MakeShared( pINode_base ptr );
|
424
|
+
XMP_PRIVATE static spcINode MakeShared( pcINode_base ptr ) {
|
425
|
+
return MakeShared( const_cast< pINode_base >( ptr ) );
|
426
|
+
}
|
427
|
+
//!
|
428
|
+
//! @}
|
429
|
+
|
430
|
+
//!
|
431
|
+
//! @brief Returns the unique ID assigned to the interface.
|
432
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
433
|
+
//!
|
434
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kINodeID; }
|
435
|
+
|
436
|
+
//!
|
437
|
+
//! @brief Returns the version of the interface.
|
438
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
439
|
+
//!
|
440
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
441
|
+
//! \endcond
|
442
|
+
|
443
|
+
protected:
|
444
|
+
//!
|
445
|
+
//! Destructor
|
446
|
+
//!
|
447
|
+
virtual ~INode_v1() __NOTHROW__ {}
|
448
|
+
|
449
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
450
|
+
virtual uint32 APICALL getParentNodeType( pcIError_base & error ) const __NOTHROW__ = 0;
|
451
|
+
virtual pINode_base APICALL getParent( pcIError_base & error ) __NOTHROW__ = 0;
|
452
|
+
virtual void APICALL setName( const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
453
|
+
virtual pcIUTF8String_base APICALL getName( pcIError_base & error ) const __NOTHROW__ = 0;
|
454
|
+
virtual void APICALL setNameSpace( const char * nameSpace, sizet nameSpaceLength, pcIError_base & error ) __NOTHROW__ = 0;
|
455
|
+
virtual pcIUTF8String_base APICALL getNameSpace( pcIError_base & error ) const __NOTHROW__ = 0;
|
456
|
+
virtual pIPath_base APICALL getPath( pcIError_base & error ) const __NOTHROW__ = 0;
|
457
|
+
virtual pINodeIterator_base APICALL qualifiersIterator( pcIError_base & error ) __NOTHROW__ = 0;
|
458
|
+
virtual uint32 APICALL getQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) const __NOTHROW__ = 0;
|
459
|
+
virtual pINode_base APICALL getQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
460
|
+
virtual void APICALL insertQualifier( pINode_base base, pcIError_base & error ) __NOTHROW__ = 0;
|
461
|
+
virtual pINode_base APICALL replaceQualifier( pINode_base node, pcIError_base & error ) __NOTHROW__ = 0;
|
462
|
+
virtual pINode_base APICALL removeQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
463
|
+
virtual uint32 APICALL getNodeType( pcIError_base & error ) const __NOTHROW__ = 0;
|
464
|
+
virtual uint32 APICALL isArrayItem( pcIError_base & error ) const __NOTHROW__ = 0;
|
465
|
+
virtual uint32 APICALL isQualifierNode( pcIError_base & error ) const __NOTHROW__ = 0;
|
466
|
+
virtual sizet APICALL getIndex( pcIError_base & error ) const __NOTHROW__ = 0;
|
467
|
+
virtual uint32 APICALL hasQualifiers( pcIError_base & error ) const __NOTHROW__ = 0;
|
468
|
+
virtual uint32 APICALL hasContent( pcIError_base & error ) const __NOTHROW__ = 0;
|
469
|
+
virtual uint32 APICALL isEmpty( pcIError_base & error ) const __NOTHROW__ = 0;
|
470
|
+
virtual uint32 APICALL hasChanged( pcIError_base & error ) const __NOTHROW__ = 0;
|
471
|
+
virtual void APICALL clear( uint32 contents, uint32 qualifiers, pcIError_base & error ) __NOTHROW__ = 0;
|
472
|
+
virtual pINode_base APICALL clone( uint32 igoreEmptyNodes, uint32 ignoreNodesWithOnlyQualifiers, pcIError_base & error ) const __NOTHROW__ = 0;
|
473
|
+
virtual pISimpleNode_base APICALL convertToSimpleNode( pcIError_base & error ) __NOTHROW__ = 0;
|
474
|
+
virtual pIStructureNode_base APICALL convertToStructureNode( pcIError_base & error ) __NOTHROW__ = 0;
|
475
|
+
virtual pIArrayNode_base APICALL convertToArrayNode( pcIError_base & error ) __NOTHROW__ = 0;
|
476
|
+
virtual pIMetadata_base APICALL convertToMetadata( pcIError_base & error ) __NOTHROW__ = 0;
|
477
|
+
|
478
|
+
//! @}
|
479
|
+
|
480
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
481
|
+
FRIEND_CLASS_DECLARATION();
|
482
|
+
#endif
|
483
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
484
|
+
//! \endcond
|
485
|
+
|
486
|
+
};
|
487
|
+
}
|
488
|
+
|
489
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
490
|
+
#if !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
|
491
|
+
namespace AdobeXMPCore {
|
492
|
+
|
493
|
+
class INodeProxy
|
494
|
+
: public virtual INode
|
495
|
+
{
|
496
|
+
private:
|
497
|
+
pINode mRawPtr;
|
498
|
+
|
499
|
+
public:
|
500
|
+
INodeProxy( pINode ptr );
|
501
|
+
~INodeProxy() __NOTHROW__ ;
|
502
|
+
|
503
|
+
pINode APICALL GetActualINode() __NOTHROW__;
|
504
|
+
void APICALL Acquire() const __NOTHROW__;
|
505
|
+
void APICALL Release() const __NOTHROW__;
|
506
|
+
|
507
|
+
AdobeXMPCommon_Int::pISharedObject_I APICALL GetISharedObject_I() __NOTHROW__;
|
508
|
+
AdobeXMPCore_Int::pINode_I APICALL GetINode_I() __NOTHROW__;
|
509
|
+
|
510
|
+
pvoid APICALL GetInterfacePointer( uint64 interfaceID, uint32 interfaceVersion );
|
511
|
+
|
512
|
+
virtual eNodeType APICALL GetParentNodeType() const;
|
513
|
+
virtual spINode APICALL GetParent();
|
514
|
+
virtual void APICALL SetName( const char * name, sizet nameLength );
|
515
|
+
virtual spcIUTF8String APICALL GetName() const;
|
516
|
+
virtual void APICALL SetNameSpace( const char * nameSpace, sizet nameSpaceLength );
|
517
|
+
virtual spcIUTF8String APICALL GetNameSpace() const;
|
518
|
+
virtual spIPath APICALL GetPath() const;
|
519
|
+
virtual sizet APICALL QualifiersCount() const __NOTHROW__;
|
520
|
+
virtual spINodeIterator APICALL QualifiersIterator();
|
521
|
+
virtual eNodeType APICALL GetQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const;
|
522
|
+
virtual spINode APICALL GetQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
|
523
|
+
virtual void APICALL InsertQualifier( const spINode & node );
|
524
|
+
virtual spINode APICALL ReplaceQualifier( const spINode & node );
|
525
|
+
virtual spINode APICALL RemoveQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
|
526
|
+
virtual eNodeType APICALL GetNodeType() const;
|
527
|
+
virtual bool APICALL IsArrayItem() const;
|
528
|
+
virtual bool APICALL IsQualifierNode() const;
|
529
|
+
virtual sizet APICALL GetIndex() const;
|
530
|
+
virtual bool APICALL HasQualifiers() const;
|
531
|
+
virtual bool APICALL HasContent() const;
|
532
|
+
virtual bool APICALL IsEmpty() const;
|
533
|
+
virtual bool APICALL HasChanged() const;
|
534
|
+
virtual void APICALL AcknowledgeChanges() const __NOTHROW__;
|
535
|
+
virtual void APICALL Clear( bool contents, bool qualifiers );
|
536
|
+
virtual spINode APICALL Clone( bool ignoreEmptyNodes, bool ignoreNodesWithOnlyQualifiers ) const;
|
537
|
+
virtual void APICALL EnableThreadSafety() const __NOTHROW__;
|
538
|
+
virtual void APICALL DisableThreadSafety() const __NOTHROW__;
|
539
|
+
virtual bool APICALL IsThreadSafe() const;
|
540
|
+
virtual AdobeXMPCommon_Int::pIThreadSafe_I APICALL GetIThreadSafe_I() __NOTHROW__;
|
541
|
+
virtual spISimpleNode APICALL ConvertToSimpleNode();
|
542
|
+
virtual spIStructureNode APICALL ConvertToStructureNode();
|
543
|
+
virtual spIArrayNode APICALL ConvertToArrayNode();
|
544
|
+
virtual spIMetadata APICALL ConvertToMetadata();
|
545
|
+
|
546
|
+
protected:
|
547
|
+
virtual pINode_base APICALL getParent( pcIError_base & error ) __NOTHROW__;
|
548
|
+
virtual void APICALL setName( const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
|
549
|
+
virtual pcIUTF8String_base APICALL getName( pcIError_base & error ) const __NOTHROW__;
|
550
|
+
virtual void APICALL setNameSpace( const char * nameSpace, sizet nameSpaceLength, pcIError_base & error ) __NOTHROW__;
|
551
|
+
virtual pcIUTF8String_base APICALL getNameSpace( pcIError_base & error ) const __NOTHROW__;
|
552
|
+
virtual pIPath_base APICALL getPath( pcIError_base & error ) const __NOTHROW__;
|
553
|
+
virtual pINodeIterator_base APICALL qualifiersIterator( pcIError_base & error ) __NOTHROW__;
|
554
|
+
virtual pINode_base APICALL getQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
|
555
|
+
virtual void APICALL insertQualifier( pINode_base base, pcIError_base & error ) __NOTHROW__;
|
556
|
+
virtual pINode_base APICALL replaceQualifier( pINode_base node, pcIError_base & error ) __NOTHROW__;
|
557
|
+
virtual pINode_base APICALL removeQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
|
558
|
+
virtual uint32 APICALL getNodeType( pcIError_base & error ) const __NOTHROW__;
|
559
|
+
virtual uint32 APICALL isArrayItem( pcIError_base & error ) const __NOTHROW__;
|
560
|
+
virtual uint32 APICALL isQualifierNode( pcIError_base & error ) const __NOTHROW__;
|
561
|
+
virtual sizet APICALL getIndex( pcIError_base & error ) const __NOTHROW__;
|
562
|
+
virtual uint32 APICALL hasQualifiers( pcIError_base & error ) const __NOTHROW__;
|
563
|
+
virtual uint32 APICALL hasContent( pcIError_base & error ) const __NOTHROW__;
|
564
|
+
virtual uint32 APICALL isEmpty( pcIError_base & error ) const __NOTHROW__;
|
565
|
+
virtual uint32 APICALL hasChanged( pcIError_base & error ) const __NOTHROW__;
|
566
|
+
virtual void APICALL clear( uint32 contents, uint32 qualifiers, pcIError_base & error ) __NOTHROW__;
|
567
|
+
virtual pINode_base APICALL clone( uint32 igoreEmptyNodes, uint32 ignoreNodesWithOnlyQualifiers, pcIError_base & error ) const __NOTHROW__;
|
568
|
+
virtual uint32 APICALL isThreadSafe() const __NOTHROW__;
|
569
|
+
virtual pISimpleNode_base APICALL convertToSimpleNode( pcIError_base & error ) __NOTHROW__;
|
570
|
+
virtual pIStructureNode_base APICALL convertToStructureNode( pcIError_base & error ) __NOTHROW__;
|
571
|
+
virtual pIArrayNode_base APICALL convertToArrayNode( pcIError_base & error ) __NOTHROW__;
|
572
|
+
virtual pIMetadata_base APICALL convertToMetadata( pcIError_base & error ) __NOTHROW__;
|
573
|
+
virtual uint32 APICALL getParentNodeType( pcIError_base & error ) const __NOTHROW__;
|
574
|
+
virtual uint32 APICALL getQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) const __NOTHROW__;
|
575
|
+
pvoid APICALL getInterfacePointer( uint64 interfaceID, uint32 interfaceVersion, pcIError_base & error ) __NOTHROW__;
|
576
|
+
};
|
577
|
+
|
578
|
+
}
|
579
|
+
#endif // !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
|
580
|
+
//! \endcond
|
581
|
+
|
582
|
+
#endif // __INode_h__
|