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/XMPCommon/Interfaces/IObjectFactory.h
ADDED
@@ -0,0 +1,90 @@
|
|
1
|
+
#ifndef IObjectFactory_h__
|
2
|
+
#define IObjectFactory_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 "XMPCommon/XMPCommonFwdDeclarations.h"
|
14
|
+
#include "XMPCommon/Interfaces/BaseInterfaces/IVersionable.h"
|
15
|
+
|
16
|
+
namespace AdobeXMPCommon {
|
17
|
+
|
18
|
+
//!
|
19
|
+
//! \brief Version1 of a interface that represents a factory to create various artifacts defined within
|
20
|
+
//! AdobeXMPCommon namespace.
|
21
|
+
//! @details Provides all the functions to create instances of various artifacts defined with AdobeXMPCommon namespace. This
|
22
|
+
//! is the interface through which clients of the library actually get access to all other interfaces.
|
23
|
+
//!
|
24
|
+
|
25
|
+
class XMP_PUBLIC IObjectFactory_v1
|
26
|
+
: public IVersionable
|
27
|
+
{
|
28
|
+
public:
|
29
|
+
|
30
|
+
//!
|
31
|
+
//! @brief Creates an IUTF8String object.
|
32
|
+
//! \param[in] buf pointer to a constant char buffer containing content. It can be null
|
33
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
34
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length in case buf is not null
|
35
|
+
//! terminated. In case buf is null terminated it can be set to npos.
|
36
|
+
//! \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.
|
37
|
+
//! \attention The returned pointer is allocated on heap by the module so client is responsible for its release.
|
38
|
+
//! They should call Release once they no longer need this object.
|
39
|
+
//!
|
40
|
+
virtual pIUTF8String_base APICALL CreateUTF8String( const char * buf, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
41
|
+
|
42
|
+
//!
|
43
|
+
//! @brief Creates an IError object.
|
44
|
+
//! \param[in] domain An unsigned 32 bit integer value representing the error domain.
|
45
|
+
//! \param[in] code An unsigned 32 bit integer value representing the error code.
|
46
|
+
//! \param[in] severity An unsigned 32 bit integer value representing the severity of the error.
|
47
|
+
//! \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.
|
48
|
+
//! \attention The returned pointer is allocated on heap by the module so client is responsible for its release.
|
49
|
+
//! They should call Release once they no longer need this object.
|
50
|
+
//!
|
51
|
+
virtual pIError_base APICALL CreateError( uint32 domain, uint32 code, uint32 severity, pcIError_base & error ) __NOTHROW__ = 0;
|
52
|
+
|
53
|
+
//!
|
54
|
+
//! @{
|
55
|
+
//! @details Convert raw pointer to shared pointer. The raw pointer is of version 1 interface
|
56
|
+
//! where as the returned returned pointer depends on the version client is interested in.
|
57
|
+
//! \return Raw pointer to const or non constant IObjectFactory interface.
|
58
|
+
//!
|
59
|
+
XMP_PRIVATE static pIObjectFactory MakeObjectFactory( pIObjectFactory_base ptr ) {
|
60
|
+
return IObjectFactory::GetInterfaceVersion() > 1 ? ptr->GetInterfacePointer< IObjectFactory >() : ptr;
|
61
|
+
}
|
62
|
+
XMP_PRIVATE static pcIObjectFactory MakeObjectFactory( pcIObjectFactory_base ptr ) {
|
63
|
+
return MakeObjectFactory( const_cast< pIObjectFactory_base >( ptr ) );
|
64
|
+
}
|
65
|
+
//!
|
66
|
+
//! @}
|
67
|
+
|
68
|
+
//!
|
69
|
+
//! @brief Returns the unique ID assigned to the interface.
|
70
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
71
|
+
//!
|
72
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kIObjectFactoryID; }
|
73
|
+
|
74
|
+
//!
|
75
|
+
//! @brief Returns the version of the interface.
|
76
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
77
|
+
//!
|
78
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
79
|
+
|
80
|
+
virtual ~IObjectFactory_v1() __NOTHROW__ {};
|
81
|
+
|
82
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
83
|
+
FRIEND_CLASS_DECLARATION();
|
84
|
+
#endif
|
85
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
86
|
+
};
|
87
|
+
|
88
|
+
}
|
89
|
+
|
90
|
+
#endif // IObjectFactory_h__
|
@@ -0,0 +1,504 @@
|
|
1
|
+
#ifndef __IUTF8String_h__
|
2
|
+
#define __IUTF8String_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 "XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h"
|
13
|
+
#include "XMPCommon/Interfaces/BaseInterfaces/IVersionable.h"
|
14
|
+
|
15
|
+
namespace AdobeXMPCommon {
|
16
|
+
using AdobeXMPCommon::npos;
|
17
|
+
|
18
|
+
//!
|
19
|
+
//! @brief Version1 of the interface that represents an UTF8String.
|
20
|
+
//! @details Provides all the functions to access properties of the string object, appends or assigns content
|
21
|
+
//! to the existing string objects and clones existing string objects.
|
22
|
+
//!
|
23
|
+
class XMP_PUBLIC IUTF8String_v1
|
24
|
+
: public virtual ISharedObject
|
25
|
+
, public virtual IVersionable
|
26
|
+
{
|
27
|
+
public:
|
28
|
+
//!
|
29
|
+
//! @brief Appends more content into the existing string object through a pointer to char buffer.
|
30
|
+
//! \param[in] buf pointer to a constant char buffer containing new content. It can be null
|
31
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
32
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length in case buf is not null
|
33
|
+
//! terminated. In case buf is null terminated it can be set to npos.
|
34
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
35
|
+
//!
|
36
|
+
virtual spIUTF8String APICALL append( const char * buf, sizet count ) = 0;
|
37
|
+
|
38
|
+
//!
|
39
|
+
//! @brief Appends the contents of another string into the existing string.
|
40
|
+
//! \param[in] src Shared pointer to const \#AdobeXMPCommon::IUTF8String whose contents will be
|
41
|
+
//! appended to existing content in the object. Invalid shared pointer will be treated as empty string.
|
42
|
+
//! \param[in] srcPos A value of \#AdobeXMPCommon::sizet indicating the position of the first character
|
43
|
+
//! in src that is inserted into the object as a substring.
|
44
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length of the substring to be copied
|
45
|
+
//! (if the string is shorter, as many characters as possible are copied). A value of npos indicates all
|
46
|
+
//! characters until the end of src.
|
47
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
48
|
+
//! \attention Error is thrown in case
|
49
|
+
//! - srcPos is greater than length of src.
|
50
|
+
//!
|
51
|
+
virtual spIUTF8String APICALL append( const spcIUTF8String & src, sizet srcPos = 0, sizet count = npos ) = 0;
|
52
|
+
|
53
|
+
//!
|
54
|
+
//! @brief Overwrites new string content into the existing string object through a pointer to char buffer.
|
55
|
+
//! \param[in] buf pointer to a constant char buffer containing new content. It can be null
|
56
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
57
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length in case buf is not null
|
58
|
+
//! terminated. In case buf is null terminated it can be set to npos.
|
59
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
60
|
+
//!
|
61
|
+
virtual spIUTF8String APICALL assign( const char * buf, sizet count ) = 0;
|
62
|
+
|
63
|
+
//!
|
64
|
+
//! @brief Overwrites the contents with contents of another string.
|
65
|
+
//! \param[in] src shared pointer to const \#AdobeXMPCommon::IUTF8String whose contents will
|
66
|
+
//! overwrite existing content in the object. Invalid shared pointer will be treated as empty string.
|
67
|
+
//! \param[in] srcPos A value of \#AdobeXMPCommon::sizet indicating the position of the first character
|
68
|
+
//! in src that is inserted into the object as a substring.
|
69
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length of the substring to be copied.
|
70
|
+
//! A value of npos indicates all characters until the end of src. If this is greater than the available
|
71
|
+
//! characters in the substring then copying is limited to the number of available characters.
|
72
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
73
|
+
//! \attention Error is thrown in case
|
74
|
+
//! - srcPos is greater than length of src.
|
75
|
+
//!
|
76
|
+
virtual spIUTF8String APICALL assign( const spcIUTF8String & src, sizet srcPos = 0, sizet count = npos ) = 0;
|
77
|
+
|
78
|
+
//!
|
79
|
+
//! @brief Inserts additional characters into the string right before the character indicated by pos.
|
80
|
+
//! \param[in] pos Insertion point: The new contents are inserted before the character at position pos.
|
81
|
+
//! \param[in] buf pointer to a constant char buffer containing new content. It can be null
|
82
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
83
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length in case buf is not null
|
84
|
+
//! terminated. In case buf is null terminated it can be set to npos.
|
85
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
86
|
+
//! \\attention Error is thrown in case
|
87
|
+
//! - pos is greater than the object's length.
|
88
|
+
//!
|
89
|
+
virtual spIUTF8String APICALL insert( sizet pos, const char * buf, sizet count ) = 0;
|
90
|
+
|
91
|
+
//!
|
92
|
+
//! @brief Inserts additional characters into the string right before the character indicated by pos.
|
93
|
+
//! \param[in] pos Insertion point: The new contents are inserted before the character at position pos.
|
94
|
+
//! \param[in] src shared pointer to const \#AdobeXMPCommon::IUTF8String whose contents will
|
95
|
+
//! be copied and pushed into the object. Invalid shared pointer will be treated as empty string.
|
96
|
+
//! \param[in] srcPos A value of \#AdobeXMPCommon::sizet indicating the position of the first character
|
97
|
+
//! in src that is inserted into the object as a substring.
|
98
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length of the substring to be copied
|
99
|
+
//! (if the string is shorter, as many characters as possible are copied). A value of npos indicates all
|
100
|
+
//! characters until the end of src. If this is greater than the available characters in the substring
|
101
|
+
//! then copying is limited to the number of available characters.
|
102
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
103
|
+
//! \attention Error is thrown in case
|
104
|
+
//! - srcPos is greater than length of src.
|
105
|
+
//! - pos is greater than the object's length.
|
106
|
+
//!
|
107
|
+
virtual spIUTF8String APICALL insert( sizet pos, const spcIUTF8String & src, sizet srcPos = 0, sizet count = npos ) = 0;
|
108
|
+
|
109
|
+
//!
|
110
|
+
//! @brief Erases part of the string, reducing its length.
|
111
|
+
//! \param[in] pos Position of the first character to be erased.
|
112
|
+
//! If this is greater than the string length, nothing is erased.
|
113
|
+
//! \param[in] count Number of characters to erase (if the string is shorter, as many characters as
|
114
|
+
//! possible are erased). A value of npos indicates all characters until the end of the string.
|
115
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
116
|
+
//! \attention Error is thrown in case
|
117
|
+
//! - pos is greater than the object's length.
|
118
|
+
//!
|
119
|
+
virtual spIUTF8String APICALL erase( sizet pos = 0, sizet count = npos ) = 0;
|
120
|
+
|
121
|
+
//!
|
122
|
+
//! @brief Resizes the string to the length of n characters.
|
123
|
+
//! /param[in] n New string length, expressed in number of characters.
|
124
|
+
//! \note If n is smaller than the current string length, the current value is shortened
|
125
|
+
//! to its first size character, removing the characters beyond the nth. If n is greater than the
|
126
|
+
//! current string length, the current content is extended by inserting at the end as many NULL
|
127
|
+
//! characters as needed to reach a size of n.
|
128
|
+
//! \attention Error is thrown in case
|
129
|
+
//! - n is greater than max_size
|
130
|
+
//! - allocation fails
|
131
|
+
//!
|
132
|
+
virtual void APICALL resize( sizet n ) = 0 ;
|
133
|
+
|
134
|
+
//!
|
135
|
+
//! @brief Replace portion of string.
|
136
|
+
//! \param[in] pos Position of the first character to be replaced.
|
137
|
+
//! \param[in] count Number of characters to replace (if the string is shorter, as many characters as possible
|
138
|
+
//! are replaced). A value of npos indicates all characters until the end of the string.
|
139
|
+
//! \param[in] buf pointer to a constant char buffer containing new content. It can be null
|
140
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
141
|
+
//! \param[in] srcCount A value of \#AdobeXMPCommon::sizet indicating the length in case buf is not null
|
142
|
+
//! terminated. In case buf is null terminated it can be set to npos.
|
143
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
144
|
+
//! \attention Error is thrown in case
|
145
|
+
//! - pos is greater than the object's length.
|
146
|
+
//!
|
147
|
+
virtual spIUTF8String APICALL replace( sizet pos, sizet count, const char * buf, sizet srcCount ) = 0;
|
148
|
+
|
149
|
+
//!
|
150
|
+
//! @brief Replace portion of string.
|
151
|
+
//! \param[in] pos Position of the first character to be replaced.
|
152
|
+
//! \param[in] count Number of characters to replace (if the string is shorter, as many characters as possible
|
153
|
+
//! are replaced). A value of npos indicates all characters until the end of the string.
|
154
|
+
//! \param[in] src Shared pointer to const \#AdobeXMPCommon::IUTF8String whose contents will
|
155
|
+
//! be copied and pushed into the object. Invalid shared pointer will be treated as empty string.
|
156
|
+
//! \param[in] srcPos Position of the first character in str that is copied to the object as replacement.
|
157
|
+
//! \param[in] srcCount Length of the substring to be copied (if the string is shorter, as many characters
|
158
|
+
//! as possible are copied). A value of npos indicates all characters until the end of str.
|
159
|
+
//! \return The shared pointer to itself of type \#AdobeXMPCommon::IUTF8String.
|
160
|
+
//! \attention Error is thrown in case
|
161
|
+
//! - srcPos is greater than length of src.
|
162
|
+
//! - pos is greater than the object's length.
|
163
|
+
//!
|
164
|
+
virtual spIUTF8String APICALL replace( sizet pos, sizet count, const spcIUTF8String & src, sizet srcPos = 0, sizet srcCount = npos ) = 0;
|
165
|
+
|
166
|
+
//!
|
167
|
+
//! @brief Copy sequence of characters from string.
|
168
|
+
//! @details Copies a substring of the current value of the string object into the array. This substring
|
169
|
+
//! contains the len characters that start at position pos.
|
170
|
+
//! \param[in,out] buf Pointer to an array of characters. The array shall contain enough storage for the copied
|
171
|
+
//! characters.
|
172
|
+
//! \param[in] len Number of characters to copy (if the string is shorter, as many characters as possible are
|
173
|
+
//! copied).
|
174
|
+
//! \param[in] pos Position of the first character to be copied.
|
175
|
+
//! \return The number of characters copied to the array. This may be equal to count or to size() - pos.
|
176
|
+
//! \note The function does not append a null character at the end of the copied content.
|
177
|
+
//! \attention Error is thrown in case
|
178
|
+
//! - pos is greater than the object's length.
|
179
|
+
//!
|
180
|
+
virtual sizet APICALL copy( char * buf, sizet len, sizet pos = 0 ) const = 0;
|
181
|
+
|
182
|
+
//!
|
183
|
+
//! @brief Find content in string.
|
184
|
+
//! @details Searches the string for the first occurrence of the sequence specified by its arguments. When pos
|
185
|
+
//! is specified, the search only includes characters at or after position pos, ignoring any possible
|
186
|
+
//! occurrences that include characters before pos.
|
187
|
+
//! \param[in] buf pointer to a constant char buffer containing content to be matched. It can be null
|
188
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
189
|
+
//! \param[in] pos Position of the first character in the string to be considered in the search.
|
190
|
+
//! If this is greater than the string length, the function never finds matches.
|
191
|
+
//! \return The position of the first character of the first match. If no matches were found, the function
|
192
|
+
//! returns npos.
|
193
|
+
//!
|
194
|
+
sizet find( const char * buf, sizet pos = 0 ) const {
|
195
|
+
return find( buf, pos, npos );
|
196
|
+
}
|
197
|
+
|
198
|
+
//!
|
199
|
+
//! @brief Find content in string.
|
200
|
+
//! @details Searches the string for the first occurrence of the sequence specified by its arguments. When pos
|
201
|
+
//! is specified, the search only includes characters at or after position pos, ignoring any possible
|
202
|
+
//! occurrences that include characters before pos.
|
203
|
+
//! \param[in] buf pointer to a constant char buffer containing content to be matched. It can be null
|
204
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
205
|
+
//! \param[in] pos Position of the first character in the string to be considered in the search.
|
206
|
+
//! If this is greater than the string length, the function never finds matches.
|
207
|
+
//! \param[in] count Length of sequence of characters to match.
|
208
|
+
//! \return The position of the first character of the first match. If no matches were found, the function
|
209
|
+
//! returns npos.
|
210
|
+
//!
|
211
|
+
virtual sizet APICALL find( const char * buf, sizet pos, sizet count ) const = 0;
|
212
|
+
|
213
|
+
|
214
|
+
//
|
215
|
+
//! @brief Find content in string.
|
216
|
+
//! @details Searches the string for the first occurrence of the sequence specified by its arguments. When pos
|
217
|
+
//! is specified, the search only includes characters at or after position pos, ignoring any possible
|
218
|
+
//! occurrences that include characters before pos.
|
219
|
+
//! \param[in] src shared pointer to const \#AdobeXMPCommon::IUTF8String containing content to be matched. Invalid
|
220
|
+
//! shared pointer will be treated as empty string.
|
221
|
+
//! \param[in] pos Position of the first character in the string to be considered in the search.
|
222
|
+
//! If this is greater than the string length, the function never finds matches.
|
223
|
+
//! \param[in] count Length of sequence of characters to match.
|
224
|
+
//! \return The position of the first character of the first match. If no matches were found, the function
|
225
|
+
//! returns npos.
|
226
|
+
//!
|
227
|
+
virtual sizet APICALL find( const spcIUTF8String & src, sizet pos = 0, sizet count = npos ) const = 0;
|
228
|
+
|
229
|
+
//!
|
230
|
+
// @{
|
231
|
+
//! @brief Find last occurrence of content in string.
|
232
|
+
//! @details Searches the string for the last occurrence of the sequence specified by its arguments. When pos
|
233
|
+
//! is specified, the search only includes sequences of characters that begin at or before position pos,
|
234
|
+
//! ignoring any possible match beginning after pos.
|
235
|
+
//! \param[in] buf pointer to a constant char buffer containing content to be matched. It can be null
|
236
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
237
|
+
//! \param[in] pos Position of the last character in the string to be considered as the beginning of a match.
|
238
|
+
//! Any value greater or equal than the string length (including npos) means that the entire string is
|
239
|
+
//! searched.
|
240
|
+
//! \return The position of the fist character of the last match. If no matches were found, the function
|
241
|
+
//! returns npos.
|
242
|
+
//!
|
243
|
+
sizet rfind( const char * buf, sizet pos = npos ) const {
|
244
|
+
return rfind( buf, pos, npos );
|
245
|
+
}
|
246
|
+
virtual sizet APICALL rfind( const char * buf, sizet pos, sizet count ) const = 0;
|
247
|
+
//@}
|
248
|
+
//!
|
249
|
+
|
250
|
+
//!
|
251
|
+
//! @brief Find last occurrence of content in string.
|
252
|
+
//! @details Searches the string for the last occurrence of the sequence specified by its arguments. When pos
|
253
|
+
//! is specified, the search only includes sequences of characters that begin at or before position pos,
|
254
|
+
//! ignoring any possible match beginning after pos.
|
255
|
+
//! \param[in] src shared pointer to const \#AdobeXMPCommon::IUTF8String containing content to be matched. Invalid
|
256
|
+
//! shared pointer will be treated as empty string.
|
257
|
+
//! \param[in] pos Position of the last character in the string to be considered as the beginning of a match.
|
258
|
+
//! Any value greater or equal than the string length (including npos) means that the entire string is
|
259
|
+
//! searched.
|
260
|
+
//! \param[in] count Length of sequence of characters to match.
|
261
|
+
//! \return The position of the fist character of the last match. If no matches were found, the function
|
262
|
+
//! returns npos.
|
263
|
+
//!
|
264
|
+
virtual sizet APICALL rfind( const spcIUTF8String & src, sizet pos = npos, sizet count = npos ) const = 0;
|
265
|
+
|
266
|
+
//!
|
267
|
+
//! @{
|
268
|
+
//! @brief Compare strings.
|
269
|
+
//! @details Compares the value of the string object (or a substring) to the sequence of characters specified by its
|
270
|
+
//! arguments.
|
271
|
+
//! \param[in] buf pointer to a constant char buffer containing content to be compared. It can be null
|
272
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
273
|
+
//!
|
274
|
+
//! \return Returns a signed integral indicating the relation between the strings
|
275
|
+
//! | value | relation between compared string and comparing string |
|
276
|
+
//! | :---: | :-----------------------------------------------------|
|
277
|
+
//! | 0 | They compare equal |
|
278
|
+
//! | <0 | Either the value of the first character that does not match is lower in the compared string, or all compared characters match but the compared string is shorter. |
|
279
|
+
//! | >0 | Either the value of the first character that does not match is greater in the compared string, or all compared characters match but the compared string is longer. |
|
280
|
+
//! \attention Error is thrown in case
|
281
|
+
//! - pos is greater than the object's length.
|
282
|
+
//!
|
283
|
+
int32 compare( const char * buf ) const {
|
284
|
+
return compare( 0, size(), buf, npos );
|
285
|
+
}
|
286
|
+
//! @brief Compare strings.
|
287
|
+
//! @details Compares the value of the string object (or a substring) to the sequence of characters specified by its
|
288
|
+
//! arguments.
|
289
|
+
//! \param[in] buf pointer to a constant char buffer containing content to be compared. It can be null
|
290
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
291
|
+
//! \param[in] pos Position of the first character in the compared string. If this is greater than the string
|
292
|
+
//! length, it is treated as empty string.
|
293
|
+
//! \param[in] len Length of compared string (if the string is shorter, as many characters as possible).
|
294
|
+
//! A value of npos indicates all characters until the end of the string.
|
295
|
+
//!
|
296
|
+
//! \return Returns a signed integral indicating the relation between the strings
|
297
|
+
//! | value | relation between compared string and comparing string |
|
298
|
+
//! | :---: | :-----------------------------------------------------|
|
299
|
+
//! | 0 | They compare equal |
|
300
|
+
//! | <0 | Either the value of the first character that does not match is lower in the compared string, or all compared characters match but the compared string is shorter. |
|
301
|
+
//! | >0 | Either the value of the first character that does not match is greater in the compared string, or all compared characters match but the compared string is longer. |
|
302
|
+
//! \attention Error is thrown in case
|
303
|
+
//! - pos is greater than the object's length.
|
304
|
+
//!
|
305
|
+
int32 compare( sizet pos, sizet len, const char * buf ) const {
|
306
|
+
return compare( pos, len, buf, npos );
|
307
|
+
}
|
308
|
+
//!@brief Compare strings.
|
309
|
+
//! @details Compares the value of the string object (or a substring) to the sequence of characters specified by its
|
310
|
+
//! arguments.
|
311
|
+
//! \param[in] buf pointer to a constant char buffer containing content to be compared. It can be null
|
312
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
313
|
+
//! \param[in] pos Position of the first character in the compared string. If this is greater than the string
|
314
|
+
//! length, it is treated as empty string.
|
315
|
+
//! \param[in] len Length of compared string (if the string is shorter, as many characters as possible).
|
316
|
+
//! A value of npos indicates all characters until the end of the string.
|
317
|
+
//! \param[in] count Number of characters to compare.
|
318
|
+
//!
|
319
|
+
//! \return Returns a signed integral indicating the relation between the strings
|
320
|
+
//! | value | relation between compared string and comparing string |
|
321
|
+
//! | :---: | :-----------------------------------------------------|
|
322
|
+
//! | 0 | They compare equal |
|
323
|
+
//! | <0 | Either the value of the first character that does not match is lower in the compared string, or all compared characters match but the compared string is shorter. |
|
324
|
+
//! | >0 | Either the value of the first character that does not match is greater in the compared string, or all compared characters match but the compared string is longer. |
|
325
|
+
//! \attention Error is thrown in case
|
326
|
+
//! - pos is greater than the object's length.
|
327
|
+
//!
|
328
|
+
virtual int32 APICALL compare( sizet pos, sizet len, const char * buf, sizet count ) const = 0;
|
329
|
+
|
330
|
+
|
331
|
+
//!
|
332
|
+
//! @brief Compare strings.
|
333
|
+
//! @details Compares the value of the string object (or a substring) to the contents of an string or substring object
|
334
|
+
//! specified by its arguments.
|
335
|
+
//! \param[in] str shared pointer to const \#AdobeXMPCommon::IUTF8String containing content to be compared.
|
336
|
+
//! Invalid shared pointer will be treated as empty string.
|
337
|
+
//! \return Returns a signed integral indicating the relation between the strings
|
338
|
+
//! | value | relation between compared string and comparing string |
|
339
|
+
//! | :---: | :-----------------------------------------------------|
|
340
|
+
//! | 0 | They compare equal |
|
341
|
+
//! | <0 | Either the value of the first character that does not match is lower in the compared string, or all compared characters match but the compared string is shorter. |
|
342
|
+
//! | >0 | Either the value of the first character that does not match is greater in the compared string, or all compared characters match but the compared string is longer. |
|
343
|
+
//! \attention Error is thrown in case
|
344
|
+
//! - strPos is greater than length of str.
|
345
|
+
//! - pos is greater than the object's length.
|
346
|
+
//!
|
347
|
+
int32 compare( const spcIUTF8String & str ) const {
|
348
|
+
return compare( 0, size(), str, 0, str->size() );
|
349
|
+
}
|
350
|
+
//!
|
351
|
+
//! @brief Compare strings.
|
352
|
+
//! @details Compares the value of the string object (or a substring) to the contents of an string or substring object
|
353
|
+
//! specified by its arguments.
|
354
|
+
//! \param[in] pos Position of the first character in the compared string.
|
355
|
+
//! \param[in] len Length of compared string (if the string is shorter, as many characters as possible).
|
356
|
+
//! A value of npos indicates all characters until the end of the string.
|
357
|
+
//! \param[in] str shared pointer to const \#AdobeXMPCommon::IUTF8String containing content to be compared.
|
358
|
+
//! Invalid shared pointer will be treated as empty string.
|
359
|
+
//! \param[in] strPos Position of the first character in the comparing string.
|
360
|
+
//! \param[in] strLen Length of comparing string (if the string is shorter, as many characters as possible).
|
361
|
+
//!
|
362
|
+
//! \return Returns a signed integral indicating the relation between the strings
|
363
|
+
//! | value | relation between compared string and comparing string |
|
364
|
+
//! | :---: | :-----------------------------------------------------|
|
365
|
+
//! | 0 | They compare equal |
|
366
|
+
//! | <0 | Either the value of the first character that does not match is lower in the compared string, or all compared characters match but the compared string is shorter. |
|
367
|
+
//! | >0 | Either the value of the first character that does not match is greater in the compared string, or all compared characters match but the compared string is longer. |
|
368
|
+
//! \attention Error is thrown in case
|
369
|
+
//! - strPos is greater than length of str.
|
370
|
+
//! - pos is greater than the object's length.
|
371
|
+
//!
|
372
|
+
virtual int32 APICALL compare( sizet pos, sizet len, const spcIUTF8String & str, sizet strPos = 0, sizet strLen = npos ) const = 0;
|
373
|
+
|
374
|
+
//!
|
375
|
+
//! @brief Returns a new string object which contains a sub string of the actual string object.
|
376
|
+
//! \param[in] pos Position of the first character to be copied. If this is greater than the string length, then
|
377
|
+
//! nothing is copied.
|
378
|
+
//! \param[in] count Number of characters to copy (if the string is shorter, as many characters as possible are
|
379
|
+
//! copied).
|
380
|
+
//! \return A shared pointer to AdobeXMPCommon::IUTF8String which is exact replica of the current object.
|
381
|
+
//! \attention Error is thrown in case
|
382
|
+
//! - pos is greater than the object's length.
|
383
|
+
//! - allocation fails
|
384
|
+
//!
|
385
|
+
virtual spIUTF8String APICALL substr( sizet pos = 0, sizet count = npos ) const = 0;
|
386
|
+
|
387
|
+
//!
|
388
|
+
//! @brief Indicates whether the string object is empty or not.
|
389
|
+
//! \return A value of type bool; true in case the contents of the string object is empty.
|
390
|
+
//!
|
391
|
+
virtual bool APICALL empty() const = 0;
|
392
|
+
|
393
|
+
//!
|
394
|
+
//! @brief Provides access to the actual location where contents of string are stored.
|
395
|
+
//! \return A pointer to a buffer of const chars containing the contents of the string object.
|
396
|
+
//!
|
397
|
+
virtual const char * APICALL c_str() const __NOTHROW__ = 0;
|
398
|
+
|
399
|
+
//!
|
400
|
+
//! @brief Clears the contents of the string object.
|
401
|
+
//!
|
402
|
+
virtual void APICALL clear() __NOTHROW__ = 0;
|
403
|
+
|
404
|
+
//!
|
405
|
+
//! @brief Indicates the number of bytes used by the contents of the string object.
|
406
|
+
//! \return An object of type \#AdobeXMPCommon::sizet containing the number of bytes used to store the contents fo the string object.
|
407
|
+
//!
|
408
|
+
virtual sizet APICALL size() const __NOTHROW__ = 0;
|
409
|
+
|
410
|
+
//!
|
411
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
412
|
+
//! @{
|
413
|
+
//! @brief Returns the actual raw pointer from the shared pointer, which can be a shared pointer of a proxy class.
|
414
|
+
//! \return Either a const or non const pointer to IUTF8String interface.
|
415
|
+
//!
|
416
|
+
virtual pIUTF8String APICALL GetActualIUTF8String() __NOTHROW__ = 0;
|
417
|
+
XMP_PRIVATE pcIUTF8String GetActualIUTF8String() const __NOTHROW__ {
|
418
|
+
return const_cast< IUTF8String_v1 * >( this )->GetActualIUTF8String();
|
419
|
+
}
|
420
|
+
//!
|
421
|
+
//! @}
|
422
|
+
|
423
|
+
//!
|
424
|
+
//! @{
|
425
|
+
//! @brief Convert raw pointer to shared pointer. The raw pointer is of version 1 interface
|
426
|
+
//! where as the returned shared pointer depends on the version client is interested in.
|
427
|
+
//! \return Shared pointer to const or non constant interface.
|
428
|
+
//!
|
429
|
+
XMP_PRIVATE static spIUTF8String MakeShared( pIUTF8String_base ptr );
|
430
|
+
XMP_PRIVATE static spcIUTF8String MakeShared( pcIUTF8String_base ptr ) {
|
431
|
+
return MakeShared( const_cast< pIUTF8String_base >( ptr ) );
|
432
|
+
}
|
433
|
+
//!
|
434
|
+
//! @}
|
435
|
+
|
436
|
+
//!
|
437
|
+
//! @brief Returns the unique ID assigned to the interface.
|
438
|
+
//! \return 64 bit unsigned integer representing the unique ID assigned to the interface.
|
439
|
+
//!
|
440
|
+
XMP_PRIVATE static uint64 GetInterfaceID() { return kIUTF8StringID; }
|
441
|
+
|
442
|
+
//!
|
443
|
+
//! @brief Returns the version of the interface.
|
444
|
+
//! \return 32 bit unsigned integer representing the version of the interface.
|
445
|
+
//!
|
446
|
+
XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
|
447
|
+
//! \endcond
|
448
|
+
|
449
|
+
// static factory functions
|
450
|
+
|
451
|
+
//!
|
452
|
+
//! @brief Creates an empty IUTF8String object.
|
453
|
+
//! \param[in] objFactory A pointer to \#AdobeXMPCommon::IObjectFactory object.
|
454
|
+
//! \return A shared pointer to an empty IUTF8String object
|
455
|
+
//!
|
456
|
+
XMP_PRIVATE static spIUTF8String CreateUTF8String( pIObjectFactory objFactory );
|
457
|
+
|
458
|
+
//!
|
459
|
+
//! @brief Creates an IUTF8String object whose initial contents are copied from a char buffer.
|
460
|
+
//! \param[in] objFactory A pointer to \#AdobeXMPCommon::IObjectFactory object.
|
461
|
+
//! \param[in] buf pointer to a constant char buffer containing content. It can be null
|
462
|
+
//! terminated or not. NULL pointer will be treated as empty string.
|
463
|
+
//! \param[in] count A value of \#AdobeXMPCommon::sizet indicating the length in case buf is not null
|
464
|
+
//! terminated. In case buf is null terminated it can be set to npos.
|
465
|
+
//! \return A shared pointer to a newly created \#AdobeXMPCommon::IUTF8String object
|
466
|
+
//!
|
467
|
+
XMP_PRIVATE static spIUTF8String CreateUTF8String( pIObjectFactory objFactory, const char * buf, sizet count );
|
468
|
+
|
469
|
+
protected:
|
470
|
+
//!
|
471
|
+
//! Destructor
|
472
|
+
//!
|
473
|
+
virtual ~IUTF8String_v1() __NOTHROW__ {}
|
474
|
+
|
475
|
+
//! \cond XMP_INTERNAL_DOCUMENTATION
|
476
|
+
virtual pIUTF8String_base APICALL assign( const char * buffer, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
477
|
+
virtual pIUTF8String_base APICALL assign( pcIUTF8String_base str, sizet srcPos, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
478
|
+
virtual pIUTF8String_base APICALL append( const char * buffer, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
479
|
+
virtual pIUTF8String_base APICALL append( pcIUTF8String_base str, sizet srcPos, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
480
|
+
virtual pIUTF8String_base APICALL insert( sizet pos, const char * buf, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
481
|
+
virtual pIUTF8String_base APICALL insert( sizet pos, pcIUTF8String_base src, sizet srcPos, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
482
|
+
virtual pIUTF8String_base APICALL erase( sizet pos, sizet count, pcIError_base & error ) __NOTHROW__ = 0;
|
483
|
+
virtual void APICALL resize( sizet n, pcIError_base & error ) __NOTHROW__ = 0;
|
484
|
+
virtual pIUTF8String_base APICALL replace( sizet pos, sizet count, const char * buf, sizet srcCount, pcIError_base & error ) __NOTHROW__ = 0;
|
485
|
+
virtual pIUTF8String_base APICALL replace( sizet pos, sizet count, pcIUTF8String_base src, sizet srcPos, sizet srcCount, pcIError_base & error ) __NOTHROW__ = 0;
|
486
|
+
virtual sizet APICALL copy( char * buf, sizet len, sizet pos, pcIError_base & error ) const __NOTHROW__ = 0;
|
487
|
+
virtual sizet APICALL find( const char * buf, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ = 0;
|
488
|
+
virtual sizet APICALL find( pcIUTF8String_base src, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ = 0;
|
489
|
+
virtual sizet APICALL rfind( const char * buf, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ = 0;
|
490
|
+
virtual sizet APICALL rfind( pcIUTF8String_base src, sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ = 0;
|
491
|
+
virtual int32 APICALL compare( sizet pos, sizet len, const char * buf, sizet count, pcIError_base & error ) const __NOTHROW__ = 0;
|
492
|
+
virtual int32 APICALL compare( sizet pos, sizet len, pcIUTF8String_base str, sizet strPos, sizet strLen, pcIError_base & error ) const __NOTHROW__ = 0;
|
493
|
+
virtual pIUTF8String_base APICALL substr( sizet pos, sizet count, pcIError_base & error ) const __NOTHROW__ = 0;
|
494
|
+
virtual uint32 APICALL empty( pcIError_base & error ) const __NOTHROW__ = 0;
|
495
|
+
|
496
|
+
#ifdef FRIEND_CLASS_DECLARATION
|
497
|
+
FRIEND_CLASS_DECLARATION();
|
498
|
+
#endif
|
499
|
+
REQ_FRIEND_CLASS_DECLARATION();
|
500
|
+
//! \endcond
|
501
|
+
};
|
502
|
+
}
|
503
|
+
|
504
|
+
#endif // __IUTF8String_h__
|