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