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
data/ext/xmp_toolkit_ruby/XMP-Toolkit-SDK/public/include/XMPCore/Interfaces/ICoreObjectFactory.h
ADDED
@@ -0,0 +1,279 @@
|
|
1
|
+
#ifndef ICoreObjectFactory_h__
|
2
|
+
#define ICoreObjectFactory_h__ 1
|
3
|
+
|
4
|
+
// =================================================================================================
|
5
|
+
// Copyright 2014 Adobe
|
6
|
+
// All Rights Reserved.
|
7
|
+
//
|
8
|
+
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
|
9
|
+
// of the Adobe license agreement accompanying it.
|
10
|
+
// =================================================================================================
|
11
|
+
|
12
|
+
#include "XMPCore/XMPCoreFwdDeclarations.h"
|
13
|
+
#include "XMPCommon/Interfaces/IObjectFactory.h"
|
14
|
+
|
15
|
+
namespace AdobeXMPCore {
|
16
|
+
|
17
|
+
//!
|
18
|
+
//! @brief Version1 of a interface that represents a factory to create various artifacts of XMP DOM like array,
|
19
|
+
//! structure, path etc.
|
20
|
+
//!
|
21
|
+
//! @details Provides all the functions to create instances of various artifacts of XMP DOM and return them as shared pointers
|
22
|
+
//! to the clients. This is the interface through which clients of the library actually get access to all other interfaces.
|
23
|
+
//!
|
24
|
+
|
25
|
+
class XMP_PUBLIC ICoreObjectFactory_v1
|
26
|
+
: public virtual IObjectFactory_v1
|
27
|
+
{
|
28
|
+
public:
|
29
|
+
|
30
|
+
//!
|
31
|
+
//! @brief Creates an empty name space prefix map.
|
32
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
33
|
+
//! \return A pointer to an empty \#INameSpacePrefixMap_v1 object.
|
34
|
+
//!
|
35
|
+
virtual pINameSpacePrefixMap_base APICALL CreateNameSpacePrefixMap( pcIError_base & error ) __NOTHROW__ = 0;
|
36
|
+
|
37
|
+
//!
|
38
|
+
//! @brief Provides the default mapping of prefix string and nameSpace strings used by XMPCore.
|
39
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
40
|
+
//! \return A pointer to const \#INameSpacePrefixMap_v1 object containing all the mappings used as default by the XMPCore.
|
41
|
+
//!
|
42
|
+
virtual pcINameSpacePrefixMap_base APICALL GetDefaultNameSpacePrefixMap( pcIError_base & error ) __NOTHROW__ = 0;
|
43
|
+
|
44
|
+
//!
|
45
|
+
//! @brief Creates a normal property path segment.These are essentially all properties (simple, struct and arrays).
|
46
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the property.
|
47
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
48
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the property.
|
49
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
50
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
51
|
+
//! \return A pointer to const \#IPathSegment_v1.
|
52
|
+
//!
|
53
|
+
virtual pcIPathSegment_base APICALL CreatePropertyPathSegment( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
54
|
+
|
55
|
+
//!
|
56
|
+
//! @brief Creates an array index path segment that denotes a specific element of an array.
|
57
|
+
//! @details Such segments do not have an own name and inherits the namespace from the Array property itself.
|
58
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the property.
|
59
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
60
|
+
//! \param[in] index An object of type \#AdobeXMP::sizet containting the index of the array element.
|
61
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
62
|
+
//! \return A pointer to const \#IPathSegment_v1.
|
63
|
+
//! \attention Throws \#AdobeXMP::pcIError in case
|
64
|
+
//! - pointers to const char buffers are NULL,
|
65
|
+
//! - their content is empty.
|
66
|
+
//!
|
67
|
+
virtual pcIPathSegment_base APICALL CreateArrayIndexPathSegment( const char * nameSpace, sizet nameSpaceLength, sizet index, pcIError_base & error ) __NOTHROW__ = 0;
|
68
|
+
|
69
|
+
//!
|
70
|
+
//! @brief Creates a Qualifier path segment, which behaves like a normal property
|
71
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the property.
|
72
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
73
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the property.
|
74
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
75
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
76
|
+
//! \return A pointer to const \#IPathSegment_v1.
|
77
|
+
//!
|
78
|
+
virtual pcIPathSegment_base APICALL CreateQualifierPathSegment( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
79
|
+
|
80
|
+
//!
|
81
|
+
//! @brief Creates a path segment that selects a specific qualifier by its value.
|
82
|
+
//! For example a specific language in a alternative array of languages.
|
83
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the property.
|
84
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
85
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the property.
|
86
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
87
|
+
//! \param[in] value Pointer to a constant char buffer containing value of the language (xml:lang)
|
88
|
+
//! \param[in] valueLength Number of characters in value. In case value is null terminated set it to \#AdobeXMPCommon::npos.
|
89
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
90
|
+
//! \return A pointer to const \#IPathSegment_v1.
|
91
|
+
//!
|
92
|
+
virtual pcIPathSegment_base APICALL CreateQualifierSelectorPathSegment( const char * nameSpace, sizet nameSpaceLength, const char * name,
|
93
|
+
sizet nameLength, const char * value, sizet valueLength, pcIError_base & error ) __NOTHROW__ = 0;
|
94
|
+
|
95
|
+
//!
|
96
|
+
//! @brief Creates an empty IPath object.
|
97
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
98
|
+
//! \return A pointer to an empty \#IPath_v1 object
|
99
|
+
//!
|
100
|
+
virtual pIPath_base APICALL CreatePath( pcIError_base & error ) __NOTHROW__ = 0;
|
101
|
+
|
102
|
+
//!
|
103
|
+
//! @brief Creates a path from a char buffer which contains the serialized path.
|
104
|
+
//! \param[in] path Pointer to a const char buffer containing serialized form of the path.
|
105
|
+
//! \param[in] pathLength Number of characters in the path. In case path in null terminated set it to \#AdobeXMPCommon::npos.
|
106
|
+
//! \param[in] map A pointer to a const \#IXMPNameSpacePrefixMap_v1 object which will contain the mapping for nameSpaces to prefixes.
|
107
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
108
|
+
//! \return A pointer to a \#IPath_v1 object.
|
109
|
+
//!
|
110
|
+
virtual pIPath_base APICALL ParsePath( const char * path, sizet pathLength, pcINameSpacePrefixMap_base map, pcIError_base & error ) __NOTHROW__ = 0;
|
111
|
+
|
112
|
+
//!
|
113
|
+
//! @brief Creates a simple property node which is not part of any metadata document.
|
114
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the simple node.
|
115
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
116
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the simple node.
|
117
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
118
|
+
//! \param[in] value Pointer to a constant char buffer containing value of the simple node.
|
119
|
+
//! \param[in] valueLength Number of characters in value. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
120
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
121
|
+
//! \return A pointer to a \#ISimpleNode_v1 object.
|
122
|
+
//!
|
123
|
+
virtual pISimpleNode_base APICALL CreateSimpleNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength,
|
124
|
+
const char * value, sizet valueLength, pcIError_base & error ) __NOTHROW__ = 0;
|
125
|
+
|
126
|
+
//!
|
127
|
+
//! @brief Creates an array node which is not part of any metadata document.
|
128
|
+
//! \param[in] arrayForm A value indicating the array type
|
129
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the array node.
|
130
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
131
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the array node.
|
132
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
133
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
134
|
+
//! \return A pointer to a \#IArrayNode_v1 object.
|
135
|
+
//!
|
136
|
+
virtual pIArrayNode_base APICALL CreateArrayNode( uint32 arrayForm, const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
137
|
+
|
138
|
+
//!
|
139
|
+
//! @brief Creates a structure node which is not part of any metadata document.
|
140
|
+
//! \param[in] nameSpace Pointer to a constant char buffer containing name space URI of the structure node.
|
141
|
+
//! \param[in] nameSpaceLength Number of characters in nameSpace. In case nameSpace is null terminated set it to \#AdobeXMPCommon::npos.
|
142
|
+
//! \param[in] name Pointer to a constant char buffer containing local name of the structure node.
|
143
|
+
//! \param[in] nameLength Number of characters in name. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
144
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
145
|
+
//! \return A pointer to a \#IStructureNode_v1 object.
|
146
|
+
virtual pIStructureNode_base APICALL CreateStructureNode( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
|
147
|
+
|
148
|
+
//!
|
149
|
+
//! @brief Creates an empty IMetadata object.
|
150
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
151
|
+
//! \return a pointer to an empty \#IMetadata_v1 object.
|
152
|
+
//!
|
153
|
+
virtual pIMetadata_base APICALL CreateMetadata( pcIError_base & error ) __NOTHROW__ = 0;
|
154
|
+
|
155
|
+
//!
|
156
|
+
//! @brief Provides the reference to the database of Serializers and Parsers available with the library.
|
157
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
158
|
+
//! \return a pointer to \#IDOMImplementationRegistry_base object containing all the entries for serailizers and parsers.
|
159
|
+
//!
|
160
|
+
virtual pIDOMImplementationRegistry_base APICALL GetDOMImplementationRegistry( pcIError_base & error ) __NOTHROW__ = 0;
|
161
|
+
|
162
|
+
//!
|
163
|
+
//! @brief Provides access to the configuration manager of the library.
|
164
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
165
|
+
//! \return A pointer to \#ICoreConfigurationManager_base object.
|
166
|
+
//!
|
167
|
+
virtual pICoreConfigurationManager_base APICALL GetCoreConfigurationManager( pcIError_base & error ) __NOTHROW__ = 0;
|
168
|
+
|
169
|
+
//!
|
170
|
+
//! @brief Converts old xmp object to new xmp object.
|
171
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
172
|
+
//! \return A pointer to \#IMetadata_base object.
|
173
|
+
//!
|
174
|
+
virtual pIMetadata_base APICALL ConvertXMPMetatoIMetadata( XMPMetaRef xmpref, pcIError_base & error ) __NOTHROW__ = 0;
|
175
|
+
|
176
|
+
//!
|
177
|
+
//! @brief Converts new xmp object to old xmp object.
|
178
|
+
//! \param[out] error A reference to a pointer to const IError object which will be filled with the error object in case of any error.
|
179
|
+
//! \return XMPMetaRef.
|
180
|
+
//!
|
181
|
+
virtual XMPMetaRef APICALL ConvertIMetadatatoXMPMeta( pIMetadata iMeta, pcIError_base & error ) __NOTHROW__ = 0;
|
182
|
+
|
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 ICoreObjectFactory interface.
|
191
|
+
//!
|
192
|
+
virtual pICoreObjectFactory APICALL GetActualICoreObjectFactory() __NOTHROW__ = 0;
|
193
|
+
XMP_PRIVATE pcICoreObjectFactory GetActualICoreObjectFactory() const __NOTHROW__ {
|
194
|
+
return const_cast< ICoreObjectFactory_v1 * >( this )->GetActualICoreObjectFactory();
|
195
|
+
}
|
196
|
+
//!
|
197
|
+
//! @}
|
198
|
+
|
199
|
+
//!
|
200
|
+
//! @{
|
201
|
+
//! @brief Returns the pointer to internal interfaces.
|
202
|
+
//! \return Either a const or non const pointer to ICoreObjectFactory_I interface.
|
203
|
+
//!
|
204
|
+
virtual AdobeXMPCore_Int::pICoreObjectFactory_I APICALL GetICoreObjectFactory_I() __NOTHROW__ = 0;
|
205
|
+
|
206
|
+
XMP_PRIVATE AdobeXMPCore_Int::pcICoreObjectFactory_I GetICoreObjectFactory_I() const __NOTHROW__ {
|
207
|
+
return const_cast< ICoreObjectFactory_v1 * >( this )->GetICoreObjectFactory_I();
|
208
|
+
}
|
209
|
+
//!
|
210
|
+
//! @}
|
211
|
+
|
212
|
+
//!
|
213
|
+
//! @{
|
214
|
+
//! @brief Converts raw pointer to base version to pointer to client interested version.
|
215
|
+
//! @details The raw pointer is of version 1 interface where as the returned pointer depends on the version client is interested in.
|
216
|
+
//! \return Pointer to const or non constant interface.
|
217
|
+
//!
|
218
|
+
XMP_PRIVATE static pICoreObjectFactory MakeCoreObjectFactory( pICoreObjectFactory_base ptr );
|
219
|
+
XMP_PRIVATE static pcICoreObjectFactory MakeCoreObjectFactory( pcICoreObjectFactory_base ptr ) {
|
220
|
+
return MakeCoreObjectFactory( const_cast< pICoreObjectFactory_base >( ptr ) );
|
221
|
+
}
|
222
|
+
//!
|
223
|
+
//! @}
|
224
|
+
|
225
|
+
//!
|
226
|
+
//! @brief Returns the unique ID assigned to the interface.
|
227
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
228
|
+
//!
|
229
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kICoreObjectFactoryID; }
|
230
|
+
|
231
|
+
//!
|
232
|
+
//! @brief returns the version of the interface.
|
233
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
234
|
+
//!
|
235
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
236
|
+
//! \endcond
|
237
|
+
|
238
|
+
//!
|
239
|
+
//! @brief Gets an object of ICoreObjectFactory.
|
240
|
+
//! \return A pointer to an ICoreObjectFactory object.
|
241
|
+
//!
|
242
|
+
XMP_PRIVATE static pICoreObjectFactory GetCoreObjectFactory();
|
243
|
+
|
244
|
+
//!
|
245
|
+
//! @{
|
246
|
+
//! @brief Sets up the core object factory.
|
247
|
+
//! \param[in] coreObjectFactory A pointer to an \#ICoreObjectFactory_v1 object.
|
248
|
+
//! \note coreObjectFactory is an optional parameter and only required for clients who don't directly link with the library
|
249
|
+
//! but want to use its functionality.
|
250
|
+
//!
|
251
|
+
#if LINKING_XMPCORE_LIB
|
252
|
+
XMP_PRIVATE static void SetupCoreObjectFactory();
|
253
|
+
#else
|
254
|
+
XMP_PRIVATE static void SetupCoreObjectFactory( pICoreObjectFactory_base coreObjectFactory );
|
255
|
+
#endif
|
256
|
+
//! @}
|
257
|
+
|
258
|
+
//!
|
259
|
+
//! @brief Destroy everything related to core object factory.
|
260
|
+
//!
|
261
|
+
XMP_PRIVATE static void DestroyCoreObjectFactory();
|
262
|
+
|
263
|
+
protected:
|
264
|
+
//!
|
265
|
+
//! Destructor
|
266
|
+
//!
|
267
|
+
virtual ~ICoreObjectFactory_v1() __NOTHROW__ {}
|
268
|
+
|
269
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
270
|
+
|
271
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
272
|
+
FRIEND_CLASS_DECLARATION();
|
273
|
+
#endif
|
274
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
275
|
+
//! \endcond
|
276
|
+
|
277
|
+
};
|
278
|
+
}
|
279
|
+
#endif // ICoreObjectFactory_h__
|
@@ -0,0 +1,150 @@
|
|
1
|
+
#ifndef IDOMImplementationRegistry_h__
|
2
|
+
#define IDOMImplementationRegistry_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
|
+
|
17
|
+
namespace AdobeXMPCore {
|
18
|
+
|
19
|
+
//!
|
20
|
+
//! \brief Version1 of the interface that serves as a database/registry of all the parsers and
|
21
|
+
//! serializers available with the XMPCore library.
|
22
|
+
//! \details Provides all the functions to
|
23
|
+
//! -# get registered serializers and parsers from the database.
|
24
|
+
//! -# add client defined serializers and parsers to the database.
|
25
|
+
//! \attention Support multi threading if library is configured to support multi-threading by default.
|
26
|
+
//! \note By default following keys are registered by default with the database by the library:
|
27
|
+
//! -# rdf
|
28
|
+
//!
|
29
|
+
class XMP_PUBLIC IDOMImplementationRegistry_v1
|
30
|
+
: public virtual ISharedObject
|
31
|
+
, public virtual IVersionable
|
32
|
+
{
|
33
|
+
public:
|
34
|
+
|
35
|
+
//!
|
36
|
+
//! @brief Gets a parser corresponding to the key and returns to the client for usage.
|
37
|
+
//! \param[in] key Pointer to a const NULL terminated char buffer containing key of the parser in the database.
|
38
|
+
//! \return A shared pointer to a \#IDOMParser object.
|
39
|
+
//! \note In case the key is not present in the database an invalid shared pointer will be returned.
|
40
|
+
//! \note key is case sensitive.
|
41
|
+
//!
|
42
|
+
virtual spIDOMParser APICALL GetParser( const char * key ) const = 0;
|
43
|
+
|
44
|
+
//!
|
45
|
+
//! @brief Gets a serializer corresponding to the key and returns to the client for usage.
|
46
|
+
//! \param[in] key Pointer to a const NULL terminated char buffer containing key of the serializer in the database.
|
47
|
+
//! \return A shared pointer to a \#IDOMSerializer object.
|
48
|
+
//! \note In case the key is not present in the database an invalid shared pointer will be returned.
|
49
|
+
//! \note key is case sensitive.
|
50
|
+
//!
|
51
|
+
virtual spIDOMSerializer APICALL GetSerializer( const char * key ) const = 0;
|
52
|
+
|
53
|
+
//!
|
54
|
+
//! @brief Registers a parser with the database along with the key.
|
55
|
+
//! \param[in] key Pointer to a const NULL terminated char buffer containing key of the parser to be used while registering.
|
56
|
+
//! \param[in] parser A pointer to \#IClientDOMParser object to be registered with the database
|
57
|
+
//! \return True in case parser is successfully registered, false otherwise like in case key is already registered.
|
58
|
+
//!
|
59
|
+
virtual bool APICALL RegisterParser( const char * key, pIClientDOMParser_base parser ) = 0;
|
60
|
+
|
61
|
+
//!
|
62
|
+
//! @brief Registers a serializer with the database along with the key.
|
63
|
+
//! \param[in] key Pointer to a const NULL terminated char buffer containing key of the serializer to be used while registering.
|
64
|
+
//! \param[in] serializer A pointer to \#IClientDOMSerializer object to be registered with the database.
|
65
|
+
//! \return True in case serializer is successfully registered, false otherwise like in case key is already registered.
|
66
|
+
//!
|
67
|
+
virtual bool APICALL RegisterSerializer( const char * key, pIClientDOMSerializer_base serializer ) = 0;
|
68
|
+
|
69
|
+
//!
|
70
|
+
//! @brief Provides the reference to the database of Serializers and Parsers available with the library.
|
71
|
+
//! \return A shared pointer to \#IDOMImplementationRegistry object containing all the entries for serailizers and parsers.
|
72
|
+
//!
|
73
|
+
XMP_PRIVATE static spIDOMImplementationRegistry GetDOMImplementationRegistry();
|
74
|
+
|
75
|
+
//!
|
76
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
77
|
+
|
78
|
+
//!
|
79
|
+
//! @{
|
80
|
+
//! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
|
81
|
+
//! \return Either a const or non const pointer to IDOMImplementationRegistry interface.
|
82
|
+
//!
|
83
|
+
virtual pIDOMImplementationRegistry APICALL GetActualIDOMImplementationRegistry() __NOTHROW__ = 0;
|
84
|
+
XMP_PRIVATE pcIDOMImplementationRegistry GetActualIDOMImplementationRegistry() const __NOTHROW__ {
|
85
|
+
return const_cast< IDOMImplementationRegistry_v1 * >( this )->GetActualIDOMImplementationRegistry();
|
86
|
+
}
|
87
|
+
//!
|
88
|
+
//! @}
|
89
|
+
|
90
|
+
//!
|
91
|
+
//! @{
|
92
|
+
//! @brief Returns the pointer to internal interfaces.
|
93
|
+
//! \return Either a const or non const pointer to IDOMImplementationRegistry_I interface.
|
94
|
+
//!
|
95
|
+
virtual AdobeXMPCore_Int::pIDOMImplementationRegistry_I APICALL GetIDOMImplementationRegistry_I() __NOTHROW__ = 0;
|
96
|
+
|
97
|
+
XMP_PRIVATE AdobeXMPCore_Int::pcIDOMImplementationRegistry_I GetIDOMImplementationRegistry_I() const __NOTHROW__ {
|
98
|
+
return const_cast< IDOMImplementationRegistry_v1 * >( this )->GetIDOMImplementationRegistry_I();
|
99
|
+
}
|
100
|
+
//!
|
101
|
+
//! @}
|
102
|
+
|
103
|
+
//!
|
104
|
+
//! @{
|
105
|
+
//! @brief Converts raw pointer to shared pointer. The raw pointer is of version 1 interface
|
106
|
+
//! where as the returned shared pointer depends on the version client is interested in.
|
107
|
+
//! \return Shared pointer to const or non constant interface.
|
108
|
+
//!
|
109
|
+
XMP_PRIVATE static spIDOMImplementationRegistry MakeShared( pIDOMImplementationRegistry_base ptr );
|
110
|
+
XMP_PRIVATE static spcIDOMImplementationRegistry MakeShared( pcIDOMImplementationRegistry_base ptr ) {
|
111
|
+
return MakeShared( const_cast< pIDOMImplementationRegistry_base >( ptr ) );
|
112
|
+
}
|
113
|
+
//!
|
114
|
+
//! @}
|
115
|
+
|
116
|
+
//!
|
117
|
+
//! @brief Returns the unique ID assigned to the interface.
|
118
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
119
|
+
//!
|
120
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kIDOMImplementationRegistryID; }
|
121
|
+
|
122
|
+
//!
|
123
|
+
//! @brief Returns the version of the interface.
|
124
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
125
|
+
//!
|
126
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
127
|
+
//! \endcond
|
128
|
+
|
129
|
+
protected:
|
130
|
+
//!
|
131
|
+
//! Destructor
|
132
|
+
//!
|
133
|
+
virtual ~IDOMImplementationRegistry_v1() __NOTHROW__ {}
|
134
|
+
|
135
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
136
|
+
virtual pIDOMParser_base APICALL getParser( const char * key, pcIError_base & error ) const __NOTHROW__ = 0;
|
137
|
+
virtual pIDOMSerializer_base APICALL getSerializer( const char * key, pcIError_base & error ) const __NOTHROW__ = 0;
|
138
|
+
virtual uint32 APICALL registerParser( const char * key, pIClientDOMParser_base parser, pcIError_base & error ) __NOTHROW__ = 0;
|
139
|
+
virtual uint32 APICALL registerSerializer( const char * key, pIClientDOMSerializer_base serializer, pcIError_base & error ) __NOTHROW__= 0;
|
140
|
+
|
141
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
142
|
+
FRIEND_CLASS_DECLARATION();
|
143
|
+
#endif
|
144
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
145
|
+
//! \endcond
|
146
|
+
|
147
|
+
};
|
148
|
+
}
|
149
|
+
|
150
|
+
#endif // IDOMImplementationRegistry_h__
|
@@ -0,0 +1,181 @@
|
|
1
|
+
#ifndef IDOMParser_h__
|
2
|
+
#define IDOMParser_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/IConfigurable.h"
|
17
|
+
|
18
|
+
namespace AdobeXMPCore {
|
19
|
+
|
20
|
+
//!
|
21
|
+
//! @brief Version 1 of the interface that supports parsing of the XMP Data Model.
|
22
|
+
//! @details Provides all functions to parse the buffer as well as to configure the parser.
|
23
|
+
//!
|
24
|
+
class XMP_PUBLIC IDOMParser_v1
|
25
|
+
: public virtual IConfigurable
|
26
|
+
, public virtual ISharedObject
|
27
|
+
, public virtual IVersionable
|
28
|
+
{
|
29
|
+
public:
|
30
|
+
|
31
|
+
//!
|
32
|
+
//! @brief Indicates various types of operations possible while parsing with some node as the context.
|
33
|
+
//!
|
34
|
+
typedef enum {
|
35
|
+
//! @brief Append all the nodes parsed from the buffer as the child of the context node.
|
36
|
+
//! \attention Error is thrown in case
|
37
|
+
//! - Context Node is invalid.
|
38
|
+
//! - Context Node is not array or structure node.
|
39
|
+
//! - Context Node is a structure node but a child node with the same qualified name is already present.
|
40
|
+
//! - Context Node is an array node but the type of any parsed node is not same as that of other existing nodes in the array.
|
41
|
+
//!
|
42
|
+
kATAppendAsChildren = 0,
|
43
|
+
|
44
|
+
//! @brief Replaces the children of the context node with nodes parsed from the buffer.
|
45
|
+
//! \attention Error is thrown in case
|
46
|
+
//! - Context Node is invalid.
|
47
|
+
//! - Context Node is not array or structure node.
|
48
|
+
//! - Context Node is a structure node but a child node with the same qualified name is not already present.
|
49
|
+
//! - Context Node is an array node but the type of all parsed nodes are not same.
|
50
|
+
//!
|
51
|
+
kATReplaceChildren = 1,
|
52
|
+
|
53
|
+
//! @brief Either append all the nodes parsed from the buffer as the child/children of the context node.
|
54
|
+
//! \attention Error is thrown in case
|
55
|
+
//! - Context Node is invalid.
|
56
|
+
//! - Context Node is not array or structure node.
|
57
|
+
//! - Context Node is an array node but the type of all parsed nodes are not same.
|
58
|
+
//! - If a structure node is the parsed node, it is appended if it already not present, otherwise it is replaced.
|
59
|
+
//! - If an array node is the parsed node, it is appended if it already not present, otherwise it is removed.
|
60
|
+
kATAppendOrReplaceChildren = 2,
|
61
|
+
|
62
|
+
//! @brief Treats all the parsed nodes as the siblings of the context node and place them before the context node, if possible.
|
63
|
+
//! \attention Error is thrown in case
|
64
|
+
//! - Context Node is invalid.
|
65
|
+
//! - parent of the Context Node is not an array node.
|
66
|
+
//! - The type of any parsed nodes is not same as that of other existing nodes in the array.
|
67
|
+
kATInsertBefore = 3,
|
68
|
+
|
69
|
+
//! @brief Treats all the parsed nodes as the siblings of the context node and place them after the context node, if possible.
|
70
|
+
//! \attention Error is thrown in case
|
71
|
+
//! - Context Node is invalid.
|
72
|
+
//! - parent of the Context Node is not an array node.
|
73
|
+
//! - The type of any parsed nodes is not same as that of other existing nodes in the array.
|
74
|
+
kATInsertAfter = 4,
|
75
|
+
|
76
|
+
//! @brief Replaces the context node and insert the node parsed from the buffer in its place.
|
77
|
+
//! \attention Error is thrown in case
|
78
|
+
//! - type of node returned after parsing in not of type which is compatible with the Context Node.
|
79
|
+
kATReplace = 5,
|
80
|
+
} eActionType;
|
81
|
+
|
82
|
+
//!
|
83
|
+
//! @brief Parses the buffer contents and creates an XMP DOM node.
|
84
|
+
//! \param[in] buffer Pointer to a constant char buffer containing serialized XMP Data Model.
|
85
|
+
//! \param[in] bufferLength Number of characters in buffer. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
86
|
+
//! \return A shared pointer to an object of \#IMetadata containing all the information parsed from the buffer.
|
87
|
+
//!
|
88
|
+
virtual spIMetadata APICALL Parse( const char * buffer, sizet bufferLength ) = 0;
|
89
|
+
|
90
|
+
//!
|
91
|
+
//! @brief Parse the buffer contents and populate the provided node .
|
92
|
+
//! \param[in] buffer Pointer to a constant char buffer containing serialized XMP Data Model.
|
93
|
+
//! \param[in] bufferLength Number of characters in buffer. In case name is null terminated set it to \#AdobeXMPCommon::npos.
|
94
|
+
//! \param[in] actionType Value indicating how the parsed content and context node should be used.
|
95
|
+
//! \param[in,out] node The context node to be used base on the actionType.
|
96
|
+
//!
|
97
|
+
virtual void APICALL ParseWithSpecificAction( const char * buffer, sizet bufferLength, eActionType actionType, spINode & node ) = 0;
|
98
|
+
|
99
|
+
//!
|
100
|
+
//! @brief Virtual copy constructor.
|
101
|
+
//! @details Creates an exact replica of the object.
|
102
|
+
//! \return A shared pointer to an object of \#IDOMParser which is the exact replica of the current serializer.
|
103
|
+
//!
|
104
|
+
virtual spIDOMParser APICALL Clone() const = 0;
|
105
|
+
|
106
|
+
//!
|
107
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
108
|
+
|
109
|
+
//!
|
110
|
+
//! @{
|
111
|
+
//! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
|
112
|
+
//! \return Either a const or non const pointer to IDOMParser interface.
|
113
|
+
//!
|
114
|
+
virtual pIDOMParser APICALL GetActualIDOMParser() __NOTHROW__ = 0;
|
115
|
+
XMP_PRIVATE pcIDOMParser GetActualIDOMParser() const __NOTHROW__ {
|
116
|
+
return const_cast< IDOMParser_v1 * >( this )->GetActualIDOMParser();
|
117
|
+
}
|
118
|
+
//!
|
119
|
+
//! @}
|
120
|
+
|
121
|
+
//!
|
122
|
+
//! @{
|
123
|
+
//! @brief Returns the pointer to internal interfaces.
|
124
|
+
//! \return Either a const or non const pointer to IDOMParser_I interface.
|
125
|
+
//!
|
126
|
+
virtual AdobeXMPCore_Int::pIDOMParser_I APICALL GetIDOMParser_I() __NOTHROW__ = 0;
|
127
|
+
|
128
|
+
XMP_PRIVATE AdobeXMPCore_Int::pcIDOMParser_I GetIDOMParser_I() const __NOTHROW__ {
|
129
|
+
return const_cast< IDOMParser_v1 * >( this )->GetIDOMParser_I();
|
130
|
+
}
|
131
|
+
//!
|
132
|
+
//! @}
|
133
|
+
|
134
|
+
//!
|
135
|
+
//! @{
|
136
|
+
//! @brief Converts raw pointer to shared pointer.
|
137
|
+
//! @details The raw pointer is of version 1 interface where as the returned shared pointer depends on the version client is interested in.
|
138
|
+
//!
|
139
|
+
//! \return Shared pointer to const or non constant interface.
|
140
|
+
//!
|
141
|
+
XMP_PRIVATE static spIDOMParser MakeShared( pIDOMParser_base ptr );
|
142
|
+
XMP_PRIVATE static spcIDOMParser MakeShared( pcIDOMParser_base ptr ) {
|
143
|
+
return MakeShared( const_cast< pIDOMParser_base >( ptr ) );
|
144
|
+
}
|
145
|
+
//!
|
146
|
+
//! @}
|
147
|
+
|
148
|
+
//!
|
149
|
+
//! return The unique ID assigned to the interface.
|
150
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
151
|
+
//!
|
152
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kIDOMParserID; }
|
153
|
+
|
154
|
+
//!
|
155
|
+
//! return The version of the interface.
|
156
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
157
|
+
//!
|
158
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
159
|
+
//! \endcond
|
160
|
+
|
161
|
+
protected:
|
162
|
+
//!
|
163
|
+
//! Destructor
|
164
|
+
//!
|
165
|
+
virtual ~IDOMParser_v1() __NOTHROW__ {}
|
166
|
+
|
167
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
168
|
+
virtual pIMetadata_base APICALL parse( const char * buffer, sizet bufferLength, pcIError_base & error ) __NOTHROW__ = 0;
|
169
|
+
virtual void APICALL parseWithSpecificAction( const char * buffer, sizet bufferLength, uint32 actionType, pINode_base node, pcIError_base & error ) __NOTHROW__ = 0;
|
170
|
+
virtual pIDOMParser_base APICALL clone( pcIError_base & error ) const __NOTHROW__ = 0;
|
171
|
+
|
172
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
173
|
+
FRIEND_CLASS_DECLARATION();
|
174
|
+
#endif
|
175
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
176
|
+
//! \endcond
|
177
|
+
|
178
|
+
};
|
179
|
+
}
|
180
|
+
|
181
|
+
#endif // IDOMParser_h__
|