├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── LICENSE ├── README.md ├── XMP-Toolkit-SDK-Overview.pdf ├── XMPCommon ├── BaseClasses │ ├── MemoryManagedObject.h │ └── TSingleton.h ├── ImplHeaders │ ├── ConfigurableImpl.h │ ├── ConfigurationManagerImpl.h │ ├── DefaultErrorNotifierImpl.h │ ├── ErrorImpl.h │ ├── ErrorNotifierWrapperImpl.h │ ├── MemoryAllocatorWrapperImpl.h │ ├── SharedMutexImpl.h │ ├── SharedObjectImpl.h │ ├── ThreadSafeImpl.h │ └── UTF8StringImpl.h ├── Interfaces │ ├── BaseInterfaces │ │ ├── IConfigurable_I.h │ │ ├── ISharedObject_I.h │ │ └── IThreadSafe_I.h │ ├── IConfigurationManager_I.h │ ├── IErrorNotifier_I.h │ ├── IError_I.h │ ├── IMemoryAllocator_I.h │ ├── ISharedMutex.h │ └── IUTF8String_I.h ├── Utilities │ ├── AutoSharedLock.h │ ├── IUTF8StringComparator.h │ ├── TAllocator.h │ ├── TAtomicTypes.h │ ├── TAtomicTypes_Android.h │ ├── TAtomicTypes_Linux.h │ ├── TAtomicTypes_Mac.h │ ├── TAtomicTypes_Win.h │ ├── TSmartPointers_I.h │ ├── TWrapperFunctions2_I.h │ ├── TWrapperFunctions_I.h │ └── UTF8String.h ├── XMPCommonDefines_I.h ├── XMPCommonErrorCodes_I.h ├── XMPCommonFwdDeclarations_I.h ├── XMPCommon_I.h └── source │ ├── AutoSharedLock.cpp │ ├── ConfigurableImpl.cpp │ ├── ConfigurationManagerImpl.cpp │ ├── DefaultErrorNotifierImpl.cpp │ ├── ErrorImpl.cpp │ ├── ErrorNotifierWrapperImpl.cpp │ ├── IConfigurable_I.cpp │ ├── IConfigurationManager_I.cpp │ ├── IErrorNotifier_I.cpp │ ├── IError_I.cpp │ ├── IMemoryAllocator_I.cpp │ ├── IUTF8StringComparator.cpp │ ├── IUTF8String_I.cpp │ ├── MemoryAllocatorWrapperImpl.cpp │ ├── MemoryManagedObject.cpp │ ├── SharedMutexImpl.cpp │ ├── SharedObjectImpl.cpp │ ├── ThreadSafeImpl.cpp │ ├── UTF8StringImpl.cpp │ └── XMPCommon.cpp ├── XMPCore ├── ImplHeaders │ ├── ArrayNodeImpl.h │ ├── ClientDOMParserWrapperImpl.h │ ├── ClientDOMSerializerWrapperImpl.h │ ├── CompositeNodeImpl.h │ ├── CoreConfigurationManagerImpl.h │ ├── CoreObjectFactoryImpl.h │ ├── DOMImplementationRegistryImpl.h │ ├── DOMParserImpl.h │ ├── DOMSerializerImpl.h │ ├── MetadataConverterUtilsImpl.h │ ├── MetadataImpl.h │ ├── NameSpacePrefixMapImpl.h │ ├── NodeImpl.h │ ├── PathImpl.h │ ├── PathSegmentImpl.h │ ├── RDFDOMParserImpl.h │ ├── RDFDOMSerializerImpl.h │ ├── SimpleNodeImpl.h │ ├── StructureNodeImpl.h │ └── TNodeIteratorImpl.h ├── Interfaces │ ├── IArrayNode_I.h │ ├── ICompositeNode_I.h │ ├── ICoreConfigurationManager_I.h │ ├── ICoreObjectFactory_I.h │ ├── IDOMImplementationRegistry_I.h │ ├── IDOMParser_I.h │ ├── IDOMSerializer_I.h │ ├── IMetadataConverterUtils_I.h │ ├── IMetadata_I.h │ ├── INameSpacePrefixMap_I.h │ ├── INodeIterator_I.h │ ├── INode_I.h │ ├── IPathSegment_I.h │ ├── IPath_I.h │ ├── ISimpleNode_I.h │ ├── IStructureNode_I.h │ └── IXMPLanguageAlternative_I.h ├── XMPCoreDefines_I.h ├── XMPCoreFwdDeclarations_I.h ├── build │ ├── CMakeLists.txt │ └── CMakeListsCommon.txt ├── resource │ ├── android │ │ ├── XMPCore.exp │ │ └── expat_config.h │ ├── ios │ │ ├── XMPCore.plist │ │ ├── XMPCorePList.h │ │ └── expat_config.h │ ├── linux │ │ ├── XMPCore.exp │ │ └── expat_config.h │ ├── mac │ │ ├── XMPCore.exp │ │ ├── XMPCore.plist │ │ ├── XMPCore.unexp │ │ ├── XMPCorePList.h │ │ └── expat_config.h │ └── win │ │ ├── XMPCore.def │ │ ├── XMPCore.rc │ │ └── expat_config.h └── source │ ├── ArrayNodeImpl.cpp │ ├── ClientDOMParserWrapperImpl.cpp │ ├── ClientDOMSerializerWrapperImpl.cpp │ ├── CompositeNodeImpl.cpp │ ├── CoreConfigurationManagerImpl.cpp │ ├── CoreObjectFactoryImpl.cpp │ ├── DOMImplementationRegistryImpl.cpp │ ├── DOMParserImpl.cpp │ ├── DOMSerializerImpl.cpp │ ├── ExpatAdapter.cpp │ ├── IArrayNode_I.cpp │ ├── ICompositeNode_I.cpp │ ├── ICoreConfigurationManager_I.cpp │ ├── ICoreObjectFactory_I.cpp │ ├── IDOMImplementationRegistry_I.cpp │ ├── IDOMParser_I.cpp │ ├── IDOMSerializer_I.cpp │ ├── IMetadataConverterUtils_I.cpp │ ├── IMetadata_I.cpp │ ├── INameSpacePrefixMap_I.cpp │ ├── INodeIterator_I.cpp │ ├── INode_I.cpp │ ├── IPathSegment_I.cpp │ ├── IPath_I.cpp │ ├── ISimpleNode_I.cpp │ ├── IStructureNode_I.cpp │ ├── MetadataConverterUtilsImpl.cpp │ ├── MetadataImpl.cpp │ ├── NameSpacePrefixMapImpl.cpp │ ├── NodeImpl.cpp │ ├── ParseRDF.cpp │ ├── PathImpl.cpp │ ├── PathSegmentImpl.cpp │ ├── RDFDOMParserImpl.cpp │ ├── RDFDOMSerializerImpl.cpp │ ├── SimpleNodeImpl.cpp │ ├── StructureNodeImpl.cpp │ ├── WXMPIterator.cpp │ ├── WXMPMeta.cpp │ ├── WXMPUtils.cpp │ ├── XMPCore_Impl.cpp │ ├── XMPCore_Impl.hpp │ ├── XMPIterator.cpp │ ├── XMPIterator.hpp │ ├── XMPIterator2.cpp │ ├── XMPIterator2.hpp │ ├── XMPMeta-GetSet.cpp │ ├── XMPMeta-Parse.cpp │ ├── XMPMeta-Serialize.cpp │ ├── XMPMeta.cpp │ ├── XMPMeta.hpp │ ├── XMPMeta2-GetSet.cpp │ ├── XMPMeta2.hpp │ ├── XMPUtils-FileInfo.cpp │ ├── XMPUtils.cpp │ ├── XMPUtils.hpp │ └── XMPUtils2.cpp ├── XMPFiles ├── build │ ├── CMakeLists.txt │ └── CMakeListsCommon.txt ├── resource │ ├── android │ │ ├── XMPFiles.exp │ │ └── expat_config.h │ ├── ios │ │ ├── XMPFiles.plist │ │ ├── XMPFilesPList.h │ │ └── expat_config.h │ ├── linux │ │ ├── XMPFiles.exp │ │ └── expat_config.h │ ├── mac │ │ ├── XMPFiles.exp │ │ ├── XMPFiles.plist │ │ ├── XMPFilesPList.h │ │ └── expat_config.h │ └── win │ │ ├── XMPFiles.def │ │ ├── XMPFiles.rc │ │ └── expat_config.h └── source │ ├── FileHandlers │ ├── AIFF_Handler.cpp │ ├── AIFF_Handler.hpp │ ├── ASF_Handler.cpp │ ├── ASF_Handler.hpp │ ├── AVCHD_Handler.cpp │ ├── AVCHD_Handler.hpp │ ├── Basic_Handler.cpp │ ├── Basic_Handler.hpp │ ├── FLV_Handler.cpp │ ├── FLV_Handler.hpp │ ├── GIF_Handler.cpp │ ├── GIF_Handler.hpp │ ├── InDesign_Handler.cpp │ ├── InDesign_Handler.hpp │ ├── JPEG_Handler.cpp │ ├── JPEG_Handler.hpp │ ├── MP3_Handler.cpp │ ├── MP3_Handler.hpp │ ├── MPEG2_Handler.cpp │ ├── MPEG2_Handler.hpp │ ├── MPEG4_Handler.cpp │ ├── MPEG4_Handler.hpp │ ├── P2_Handler.cpp │ ├── P2_Handler.hpp │ ├── PNG_Handler.cpp │ ├── PNG_Handler.hpp │ ├── PSD_Handler.cpp │ ├── PSD_Handler.hpp │ ├── PostScript_Handler.cpp │ ├── PostScript_Handler.hpp │ ├── RIFF_Handler.cpp │ ├── RIFF_Handler.hpp │ ├── SVG_Handler.cpp │ ├── SVG_Handler.hpp │ ├── SWF_Handler.cpp │ ├── SWF_Handler.hpp │ ├── Scanner_Handler.cpp │ ├── Scanner_Handler.hpp │ ├── SonyHDV_Handler.cpp │ ├── SonyHDV_Handler.hpp │ ├── TIFF_Handler.cpp │ ├── TIFF_Handler.hpp │ ├── Trivial_Handler.cpp │ ├── Trivial_Handler.hpp │ ├── UCF_Handler.cpp │ ├── UCF_Handler.hpp │ ├── WAVE_Handler.cpp │ ├── WAVE_Handler.hpp │ ├── XDCAMEX_Handler.cpp │ ├── XDCAMEX_Handler.hpp │ ├── XDCAMFAM_Handler.cpp │ ├── XDCAMFAM_Handler.hpp │ ├── XDCAMSAM_Handler.cpp │ ├── XDCAMSAM_Handler.hpp │ ├── XDCAM_Handler.cpp │ └── XDCAM_Handler.hpp │ ├── FormatSupport │ ├── AIFF │ │ ├── AIFFBehavior.cpp │ │ ├── AIFFBehavior.h │ │ ├── AIFFMetadata.cpp │ │ ├── AIFFMetadata.h │ │ ├── AIFFReconcile.cpp │ │ └── AIFFReconcile.h │ ├── ASF_Support.cpp │ ├── ASF_Support.hpp │ ├── ID3_Support.cpp │ ├── ID3_Support.hpp │ ├── IFF │ │ ├── Chunk.cpp │ │ ├── Chunk.h │ │ ├── ChunkController.cpp │ │ ├── ChunkController.h │ │ ├── ChunkPath.cpp │ │ ├── ChunkPath.h │ │ ├── IChunkBehavior.cpp │ │ ├── IChunkBehavior.h │ │ ├── IChunkContainer.h │ │ └── IChunkData.h │ ├── IPTC_Support.cpp │ ├── IPTC_Support.hpp │ ├── ISOBaseMedia_Support.cpp │ ├── ISOBaseMedia_Support.hpp │ ├── META_Support.cpp │ ├── META_Support.hpp │ ├── MOOV_Support.cpp │ ├── MOOV_Support.hpp │ ├── MacScriptExtracts.h │ ├── P2_Support.cpp │ ├── P2_Support.hpp │ ├── PNG_Support.cpp │ ├── PNG_Support.hpp │ ├── PSIR_FileWriter.cpp │ ├── PSIR_MemoryReader.cpp │ ├── PSIR_Support.hpp │ ├── PackageFormat_Support.cpp │ ├── PackageFormat_Support.hpp │ ├── PostScript_Support.cpp │ ├── PostScript_Support.hpp │ ├── QuickTime_Support.cpp │ ├── QuickTime_Support.hpp │ ├── RIFF.cpp │ ├── RIFF.hpp │ ├── RIFF_Support.cpp │ ├── RIFF_Support.hpp │ ├── ReconcileIPTC.cpp │ ├── ReconcileLegacy.cpp │ ├── ReconcileLegacy.hpp │ ├── ReconcileTIFF.cpp │ ├── Reconcile_Impl.cpp │ ├── Reconcile_Impl.hpp │ ├── SVG_Adapter.cpp │ ├── SVG_Adapter.hpp │ ├── SWF_Support.cpp │ ├── SWF_Support.hpp │ ├── TIFF_FileWriter.cpp │ ├── TIFF_MemoryReader.cpp │ ├── TIFF_Support.cpp │ ├── TIFF_Support.hpp │ ├── TimeConversionUtils.cpp │ ├── TimeConversionUtils.hpp │ ├── WAVE │ │ ├── BEXTMetadata.cpp │ │ ├── BEXTMetadata.h │ │ ├── CartMetadata.cpp │ │ ├── CartMetadata.h │ │ ├── Cr8rMetadata.cpp │ │ ├── Cr8rMetadata.h │ │ ├── DISPMetadata.cpp │ │ ├── DISPMetadata.h │ │ ├── INFOMetadata.cpp │ │ ├── INFOMetadata.h │ │ ├── PrmLMetadata.cpp │ │ ├── PrmLMetadata.h │ │ ├── WAVEBehavior.cpp │ │ ├── WAVEBehavior.h │ │ ├── WAVEReconcile.cpp │ │ ├── WAVEReconcile.h │ │ ├── iXMLMetadata.cpp │ │ └── iXMLMetadata.h │ ├── XDCAM_Support.cpp │ ├── XDCAM_Support.hpp │ ├── XMPScanner.cpp │ └── XMPScanner.hpp │ ├── HandlerRegistry.cpp │ ├── HandlerRegistry.h │ ├── NativeMetadataSupport │ ├── IMetadata.cpp │ ├── IMetadata.h │ ├── IReconcile.cpp │ ├── IReconcile.h │ ├── MetadataSet.cpp │ ├── MetadataSet.h │ └── ValueObject.h │ ├── PluginHandler │ ├── FileHandler.h │ ├── FileHandlerInstance.cpp │ ├── FileHandlerInstance.h │ ├── HostAPIImpl.cpp │ ├── Module.cpp │ ├── Module.h │ ├── ModuleUtils.h │ ├── OS_Utils_Android.cpp │ ├── OS_Utils_Linux.cpp │ ├── OS_Utils_Mac.cpp │ ├── OS_Utils_WIN.cpp │ ├── PluginManager.cpp │ ├── PluginManager.h │ ├── XMPAtoms.cpp │ └── XMPAtoms.h │ ├── WXMPFiles.cpp │ ├── XMPFiles.cpp │ ├── XMPFiles.hpp │ ├── XMPFiles_Impl.cpp │ └── XMPFiles_Impl.hpp ├── XMPFilesPlugins ├── PDF_Handler │ ├── i80386linux │ │ ├── i80386linux │ │ │ ├── PDF_Handler.resources │ │ │ │ ├── MODULE_IDENTIFIER.txt │ │ │ │ └── XMPPLUGINUIDS.txt │ │ │ ├── PDF_Handler.xpi │ │ │ └── libMiniPDFL.so │ │ └── i80386linux_x64 │ │ │ ├── PDF_Handler.resources │ │ │ ├── MODULE_IDENTIFIER.txt │ │ │ └── XMPPLUGINUIDS.txt │ │ │ ├── PDF_Handler.xpi │ │ │ └── libMiniPDFL.so │ ├── macintosh │ │ └── universal │ │ │ └── PDF_Handler.xpi │ │ │ ├── PDF_Handler │ │ │ ├── Resources │ │ │ └── Versions │ │ │ ├── A │ │ │ ├── PDF_Handler │ │ │ ├── Resources │ │ │ │ ├── Info.plist │ │ │ │ ├── MODULE_IDENTIFIER.txt │ │ │ │ ├── MiniPDFL.framework │ │ │ │ │ ├── MiniPDFL │ │ │ │ │ ├── Resources │ │ │ │ │ └── Versions │ │ │ │ │ │ ├── A │ │ │ │ │ │ ├── MiniPDFL │ │ │ │ │ │ ├── Resources │ │ │ │ │ │ │ ├── English.lproj │ │ │ │ │ │ │ │ └── InfoPlist.strings │ │ │ │ │ │ │ └── Info.plist │ │ │ │ │ │ └── _CodeSignature │ │ │ │ │ │ │ └── CodeResources │ │ │ │ │ │ └── Current │ │ │ │ └── XMPPLUGINUIDS.txt │ │ │ └── _CodeSignature │ │ │ │ └── CodeResources │ │ │ └── Current │ ├── resource │ │ ├── linux │ │ │ └── PDF_Handler.exp │ │ ├── mac │ │ │ ├── PDF_Handler.exp │ │ │ ├── PDF_Handler.plist │ │ │ └── PDF_HandlerPList.h │ │ └── win │ │ │ ├── CopyPDFL.bat │ │ │ ├── PDF_Handler-32.rc │ │ │ ├── PDF_Handler-64.rc │ │ │ └── PDF_Handler.def │ └── windows │ │ └── windows_x64 │ │ ├── MiniPDFL.dll │ │ └── PDF_Handler.xpi ├── PluginTemplate │ ├── build │ │ ├── CMakeLists.txt │ │ ├── GeneratePluginTemplate_mac.sh │ │ ├── GeneratePluginTemplate_win.bat │ │ ├── Makefile │ │ ├── README.txt │ │ └── resource │ │ │ └── txt │ │ │ ├── MODULE_IDENTIFIER.txt │ │ │ ├── XMPPLUGINUIDS-32.txt │ │ │ └── XMPPLUGINUIDS-64.txt │ ├── resource │ │ └── win │ │ │ ├── PluginTemplate-32.rc │ │ │ └── PluginTemplate-64.rc │ └── source │ │ └── Template_Handler.cpp └── api │ └── source │ ├── HostAPI.h │ ├── HostAPIAccess.cpp │ ├── HostAPIAccess.h │ ├── PluginAPIImpl.cpp │ ├── PluginBase.cpp │ ├── PluginBase.h │ ├── PluginConst.h │ ├── PluginHandler.h │ ├── PluginRegistry.cpp │ ├── PluginRegistry.h │ ├── PluginUtils.cpp │ └── PluginUtils.h ├── build ├── CMakeLists.txt ├── GenerateAndBuildXMPToolkitSDK_android.sh ├── GenerateXMPToolkitSDK_mac.sh ├── GenerateXMPToolkitSDK_win.bat ├── Makefile ├── ProductConfig.cmake ├── README.txt ├── XMP_BuildInfo.h ├── XMP_Config.cmake ├── XMP_ConfigCommon.cmake ├── cmake.bat ├── cmake.command ├── cmake_all.bat └── shared │ ├── CMakeUtils.bat │ ├── CMakeUtils.sh │ ├── SharedConfig.cmake │ ├── SharedConfig_Android.cmake │ ├── SharedConfig_Common.cmake │ ├── SharedConfig_Ios.cmake │ ├── SharedConfig_Linux.cmake │ ├── SharedConfig_Mac.cmake │ ├── SharedConfig_Win.cmake │ ├── ToolchainGCC.cmake │ ├── ToolchainLLVM.cmake │ └── Toolchain_ios.cmake ├── docs ├── API │ ├── IArrayNode_8h.html │ ├── IArrayNode_8h_source.html │ ├── IClientDOMParser_8h.html │ ├── IClientDOMParser_8h_source.html │ ├── IClientDOMSerializer_8h.html │ ├── IClientDOMSerializer_8h_source.html │ ├── ICompositeNode_8h.html │ ├── ICompositeNode_8h_source.html │ ├── IConfigurable_8h.html │ ├── IConfigurable_8h_source.html │ ├── IConfigurationManager_8h.html │ ├── IConfigurationManager_8h_source.html │ ├── ICoreConfigurationManager_8h.html │ ├── ICoreConfigurationManager_8h_source.html │ ├── ICoreObjectFactory_8h.html │ ├── ICoreObjectFactory_8h_source.html │ ├── IDOMImplementationRegistry_8h.html │ ├── IDOMImplementationRegistry_8h_source.html │ ├── IDOMParser_8h.html │ ├── IDOMParser_8h_source.html │ ├── IDOMSerializer_8h.html │ ├── IDOMSerializer_8h_source.html │ ├── IErrorNotifier_8h.html │ ├── IErrorNotifier_8h_source.html │ ├── IError_8h.html │ ├── IError_8h.js │ ├── IError_8h_source.html │ ├── IMemoryAllocator_8h.html │ ├── IMemoryAllocator_8h_source.html │ ├── IMetadataConverterUtils_8h.html │ ├── IMetadataConverterUtils_8h.js │ ├── IMetadataConverterUtils_8h_source.html │ ├── IMetadata_8h.html │ ├── IMetadata_8h_source.html │ ├── INameSpacePrefixMap_8h.html │ ├── INameSpacePrefixMap_8h_source.html │ ├── INodeIterator_8h.html │ ├── INodeIterator_8h_source.html │ ├── INode_8h.html │ ├── INode_8h_source.html │ ├── IObjectFactory_8h.html │ ├── IObjectFactory_8h_source.html │ ├── IPathSegment_8h.html │ ├── IPathSegment_8h_source.html │ ├── IPath_8h.html │ ├── IPath_8h_source.html │ ├── ISharedObject_8h.html │ ├── ISharedObject_8h_source.html │ ├── ISimpleNode_8h.html │ ├── ISimpleNode_8h_source.html │ ├── IStructureNode_8h.html │ ├── IStructureNode_8h_source.html │ ├── IThreadSafe_8h.html │ ├── IThreadSafe_8h_source.html │ ├── IUTF8String_8h.html │ ├── IUTF8String_8h_source.html │ ├── IVersionable_8h.html │ ├── IVersionable_8h_source.html │ ├── TWrapperFunctions2_8h.html │ ├── TWrapperFunctions2_8h_source.html │ ├── TWrapperFunctions_8h.html │ ├── TWrapperFunctions_8h_source.html │ ├── TXMPFiles_8hpp.html │ ├── TXMPFiles_8hpp_source.html │ ├── TXMPIterator_8hpp.html │ ├── TXMPIterator_8hpp_source.html │ ├── TXMPMeta_8hpp.html │ ├── TXMPMeta_8hpp_source.html │ ├── TXMPUtils_8hpp.html │ ├── TXMPUtils_8hpp_source.html │ ├── WXMPFiles_8hpp.html │ ├── WXMPFiles_8hpp.js │ ├── WXMPFiles_8hpp_source.html │ ├── WXMPIterator_8hpp.html │ ├── WXMPIterator_8hpp.js │ ├── WXMPIterator_8hpp_source.html │ ├── WXMPMeta_8hpp.html │ ├── WXMPMeta_8hpp.js │ ├── WXMPMeta_8hpp_source.html │ ├── WXMPUtils_8hpp.html │ ├── WXMPUtils_8hpp.js │ ├── WXMPUtils_8hpp_source.html │ ├── WXMP__Common_8hpp.html │ ├── WXMP__Common_8hpp.js │ ├── WXMP__Common_8hpp_source.html │ ├── XMPCommonDefines_8h.html │ ├── XMPCommonDefines_8h.js │ ├── XMPCommonDefines_8h_source.html │ ├── XMPCommonErrorCodes_8h.html │ ├── XMPCommonErrorCodes_8h.js │ ├── XMPCommonErrorCodes_8h_source.html │ ├── XMPCommonFwdDeclarations_8h.html │ ├── XMPCommonFwdDeclarations_8h.js │ ├── XMPCommonFwdDeclarations_8h_source.html │ ├── XMPCommonLatestInterfaceVersions_8h.html │ ├── XMPCommonLatestInterfaceVersions_8h.js │ ├── XMPCommonLatestInterfaceVersions_8h_source.html │ ├── XMPCoreDefines_8h.html │ ├── XMPCoreDefines_8h.js │ ├── XMPCoreDefines_8h_source.html │ ├── XMPCoreErrorCodes_8h.html │ ├── XMPCoreErrorCodes_8h.js │ ├── XMPCoreErrorCodes_8h_source.html │ ├── XMPCoreFwdDeclarations_8h.html │ ├── XMPCoreFwdDeclarations_8h.js │ ├── XMPCoreFwdDeclarations_8h_source.html │ ├── XMPCoreLatestInterfaceVersions_8h.html │ ├── XMPCoreLatestInterfaceVersions_8h.js │ ├── XMPCoreLatestInterfaceVersions_8h_source.html │ ├── XMP_8hpp.html │ ├── XMP_8hpp_source.html │ ├── XMP__Const_8h.html │ ├── XMP__Const_8h.js │ ├── XMP__Const_8h_source.html │ ├── XMP__Environment_8h.html │ ├── XMP__Environment_8h.js │ ├── XMP__Environment_8h_source.html │ ├── XMP__IO_8hpp.html │ ├── XMP__IO_8hpp_source.html │ ├── XMP__Version_8h.html │ ├── XMP__Version_8h.js │ ├── XMP__Version_8h_source.html │ ├── annotated.html │ ├── annotated_dup.js │ ├── bc_s.png │ ├── bdwn.png │ ├── classAdobeXMPCommon_1_1IConfigurable-members.html │ ├── classAdobeXMPCommon_1_1IConfigurable.html │ ├── classAdobeXMPCommon_1_1IConfigurable.js │ ├── classAdobeXMPCommon_1_1IConfigurable.png │ ├── classAdobeXMPCommon_1_1IConfigurationManagerProxy-members.html │ ├── classAdobeXMPCommon_1_1IConfigurationManagerProxy.html │ ├── classAdobeXMPCommon_1_1IConfigurationManagerProxy.js │ ├── classAdobeXMPCommon_1_1IConfigurationManagerProxy.png │ ├── classAdobeXMPCommon_1_1IConfigurationManager__v1-members.html │ ├── classAdobeXMPCommon_1_1IConfigurationManager__v1.html │ ├── classAdobeXMPCommon_1_1IConfigurationManager__v1.js │ ├── classAdobeXMPCommon_1_1IConfigurationManager__v1.png │ ├── classAdobeXMPCommon_1_1IErrorNotifier__v1-members.html │ ├── classAdobeXMPCommon_1_1IErrorNotifier__v1.html │ ├── classAdobeXMPCommon_1_1IErrorNotifier__v1.js │ ├── classAdobeXMPCommon_1_1IError__v1-members.html │ ├── classAdobeXMPCommon_1_1IError__v1.html │ ├── classAdobeXMPCommon_1_1IError__v1.js │ ├── classAdobeXMPCommon_1_1IError__v1.png │ ├── classAdobeXMPCommon_1_1IMemoryAllocator__v1-members.html │ ├── classAdobeXMPCommon_1_1IMemoryAllocator__v1.html │ ├── classAdobeXMPCommon_1_1IMemoryAllocator__v1.js │ ├── classAdobeXMPCommon_1_1IObjectFactory__v1-members.html │ ├── classAdobeXMPCommon_1_1IObjectFactory__v1.html │ ├── classAdobeXMPCommon_1_1IObjectFactory__v1.js │ ├── classAdobeXMPCommon_1_1IObjectFactory__v1.png │ ├── classAdobeXMPCommon_1_1ISharedObject-members.html │ ├── classAdobeXMPCommon_1_1ISharedObject.html │ ├── classAdobeXMPCommon_1_1ISharedObject.js │ ├── classAdobeXMPCommon_1_1ISharedObject.png │ ├── classAdobeXMPCommon_1_1IThreadSafe-members.html │ ├── classAdobeXMPCommon_1_1IThreadSafe.html │ ├── classAdobeXMPCommon_1_1IThreadSafe.js │ ├── classAdobeXMPCommon_1_1IThreadSafe.png │ ├── classAdobeXMPCommon_1_1IUTF8String__v1-members.html │ ├── classAdobeXMPCommon_1_1IUTF8String__v1.html │ ├── classAdobeXMPCommon_1_1IUTF8String__v1.js │ ├── classAdobeXMPCommon_1_1IUTF8String__v1.png │ ├── classAdobeXMPCommon_1_1IVersionable-members.html │ ├── classAdobeXMPCommon_1_1IVersionable.html │ ├── classAdobeXMPCommon_1_1IVersionable.js │ ├── classAdobeXMPCommon_1_1IVersionable.png │ ├── classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor-members.html │ ├── classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.html │ ├── classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.js │ ├── classAdobeXMPCore_1_1IArrayNode__v1-members.html │ ├── classAdobeXMPCore_1_1IArrayNode__v1.html │ ├── classAdobeXMPCore_1_1IArrayNode__v1.js │ ├── classAdobeXMPCore_1_1IArrayNode__v1.png │ ├── classAdobeXMPCore_1_1IClientDOMParser__v1-members.html │ ├── classAdobeXMPCore_1_1IClientDOMParser__v1.html │ ├── classAdobeXMPCore_1_1IClientDOMParser__v1.js │ ├── classAdobeXMPCore_1_1IClientDOMSerializer__v1-members.html │ ├── classAdobeXMPCore_1_1IClientDOMSerializer__v1.html │ ├── classAdobeXMPCore_1_1IClientDOMSerializer__v1.js │ ├── classAdobeXMPCore_1_1ICompositeNode__v1-members.html │ ├── classAdobeXMPCore_1_1ICompositeNode__v1.html │ ├── classAdobeXMPCore_1_1ICompositeNode__v1.js │ ├── classAdobeXMPCore_1_1ICompositeNode__v1.png │ ├── classAdobeXMPCore_1_1ICoreConfigurationManager__v1-members.html │ ├── classAdobeXMPCore_1_1ICoreConfigurationManager__v1.html │ ├── classAdobeXMPCore_1_1ICoreConfigurationManager__v1.js │ ├── classAdobeXMPCore_1_1ICoreConfigurationManager__v1.png │ ├── classAdobeXMPCore_1_1ICoreObjectFactory__v1-members.html │ ├── classAdobeXMPCore_1_1ICoreObjectFactory__v1.html │ ├── classAdobeXMPCore_1_1ICoreObjectFactory__v1.js │ ├── classAdobeXMPCore_1_1ICoreObjectFactory__v1.png │ ├── classAdobeXMPCore_1_1IDOMImplementationRegistry__v1-members.html │ ├── classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html │ ├── classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.js │ ├── classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.png │ ├── classAdobeXMPCore_1_1IDOMParser__v1-members.html │ ├── classAdobeXMPCore_1_1IDOMParser__v1.html │ ├── classAdobeXMPCore_1_1IDOMParser__v1.js │ ├── classAdobeXMPCore_1_1IDOMParser__v1.png │ ├── classAdobeXMPCore_1_1IDOMSerializer__v1-members.html │ ├── classAdobeXMPCore_1_1IDOMSerializer__v1.html │ ├── classAdobeXMPCore_1_1IDOMSerializer__v1.js │ ├── classAdobeXMPCore_1_1IDOMSerializer__v1.png │ ├── classAdobeXMPCore_1_1IMetadataConverterUtils__v1-members.html │ ├── classAdobeXMPCore_1_1IMetadataConverterUtils__v1.html │ ├── classAdobeXMPCore_1_1IMetadataConverterUtils__v1.js │ ├── classAdobeXMPCore_1_1IMetadataConverterUtils__v1.png │ ├── classAdobeXMPCore_1_1IMetadata__v1-members.html │ ├── classAdobeXMPCore_1_1IMetadata__v1.html │ ├── classAdobeXMPCore_1_1IMetadata__v1.js │ ├── classAdobeXMPCore_1_1IMetadata__v1.png │ ├── classAdobeXMPCore_1_1INameSpacePrefixMap__v1-members.html │ ├── classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html │ ├── classAdobeXMPCore_1_1INameSpacePrefixMap__v1.js │ ├── classAdobeXMPCore_1_1INameSpacePrefixMap__v1.png │ ├── classAdobeXMPCore_1_1INodeIterator__v1-members.html │ ├── classAdobeXMPCore_1_1INodeIterator__v1.html │ ├── classAdobeXMPCore_1_1INodeIterator__v1.js │ ├── classAdobeXMPCore_1_1INodeIterator__v1.png │ ├── classAdobeXMPCore_1_1INode__v1-members.html │ ├── classAdobeXMPCore_1_1INode__v1.html │ ├── classAdobeXMPCore_1_1INode__v1.js │ ├── classAdobeXMPCore_1_1INode__v1.png │ ├── classAdobeXMPCore_1_1IPathSegment__v1-members.html │ ├── classAdobeXMPCore_1_1IPathSegment__v1.html │ ├── classAdobeXMPCore_1_1IPathSegment__v1.js │ ├── classAdobeXMPCore_1_1IPathSegment__v1.png │ ├── classAdobeXMPCore_1_1IPath__v1-members.html │ ├── classAdobeXMPCore_1_1IPath__v1.html │ ├── classAdobeXMPCore_1_1IPath__v1.js │ ├── classAdobeXMPCore_1_1IPath__v1.png │ ├── classAdobeXMPCore_1_1ISimpleNode__v1-members.html │ ├── classAdobeXMPCore_1_1ISimpleNode__v1.html │ ├── classAdobeXMPCore_1_1ISimpleNode__v1.js │ ├── classAdobeXMPCore_1_1ISimpleNode__v1.png │ ├── classAdobeXMPCore_1_1IStructureNode__v1-members.html │ ├── classAdobeXMPCore_1_1IStructureNode__v1.html │ ├── classAdobeXMPCore_1_1IStructureNode__v1.js │ ├── classAdobeXMPCore_1_1IStructureNode__v1.png │ ├── classTXMPFiles-members.html │ ├── classTXMPFiles.html │ ├── classTXMPFiles.js │ ├── classTXMPIterator-members.html │ ├── classTXMPIterator.html │ ├── classTXMPIterator.js │ ├── classTXMPMeta-members.html │ ├── classTXMPMeta.html │ ├── classTXMPMeta.js │ ├── classTXMPUtils-members.html │ ├── classTXMPUtils.html │ ├── classTXMPUtils.js │ ├── classXMP__Error-members.html │ ├── classXMP__Error.html │ ├── classXMP__Error.js │ ├── classXMP__IO-members.html │ ├── classXMP__IO.html │ ├── classXMP__IO.js │ ├── classes.html │ ├── closed.png │ ├── dir_0e5f10c8914b73a2f667b010a9332417.html │ ├── dir_0e5f10c8914b73a2f667b010a9332417.js │ ├── dir_0fb2101ba02d68f078970216a1fe0334.html │ ├── dir_0fb2101ba02d68f078970216a1fe0334.js │ ├── dir_13a16c6fe91841c884a316194c73d6c1.html │ ├── dir_13a16c6fe91841c884a316194c73d6c1.js │ ├── dir_3ce2d6caf42dd158441e2c69545b6561.html │ ├── dir_3ce2d6caf42dd158441e2c69545b6561.js │ ├── dir_47a03e1ff379e16c0ff8dae8eab507ef.html │ ├── dir_47a03e1ff379e16c0ff8dae8eab507ef.js │ ├── dir_8223d5ea7844a33492dce354418ea45e.html │ ├── dir_8223d5ea7844a33492dce354418ea45e.js │ ├── dir_a2aafb81ccb63bf25660f5baa8263a1b.html │ ├── dir_a2aafb81ccb63bf25660f5baa8263a1b.js │ ├── dir_d9f2167f9fcfc7d7593f67aa31e893fd.html │ ├── dir_d9f2167f9fcfc7d7593f67aa31e893fd.js │ ├── dir_f832923ad3cb060bc87ad85e68b8a1c3.html │ ├── dir_f832923ad3cb060bc87ad85e68b8a1c3.js │ ├── doc.png │ ├── doxygen.css │ ├── doxygen.png │ ├── dynsections.js │ ├── files.html │ ├── files_dup.js │ ├── folderclosed.png │ ├── folderopen.png │ ├── functions.html │ ├── functions_b.html │ ├── functions_c.html │ ├── functions_d.html │ ├── functions_dup.js │ ├── functions_e.html │ ├── functions_enum.html │ ├── functions_eval.html │ ├── functions_f.html │ ├── functions_func.html │ ├── functions_func.js │ ├── functions_func_c.html │ ├── functions_func_d.html │ ├── functions_func_e.html │ ├── functions_func_f.html │ ├── functions_func_g.html │ ├── functions_func_h.html │ ├── functions_func_i.html │ ├── functions_func_l.html │ ├── functions_func_m.html │ ├── functions_func_n.html │ ├── functions_func_o.html │ ├── functions_func_p.html │ ├── functions_func_q.html │ ├── functions_func_r.html │ ├── functions_func_s.html │ ├── functions_func_t.html │ ├── functions_func_v.html │ ├── functions_func_w.html │ ├── functions_func_x.html │ ├── functions_func_~.html │ ├── functions_g.html │ ├── functions_h.html │ ├── functions_i.html │ ├── functions_k.html │ ├── functions_l.html │ ├── functions_m.html │ ├── functions_n.html │ ├── functions_o.html │ ├── functions_p.html │ ├── functions_q.html │ ├── functions_r.html │ ├── functions_rela.html │ ├── functions_s.html │ ├── functions_t.html │ ├── functions_type.html │ ├── functions_u.html │ ├── functions_v.html │ ├── functions_vars.html │ ├── functions_w.html │ ├── functions_x.html │ ├── functions_y.html │ ├── functions_~.html │ ├── globals.html │ ├── globals_b.html │ ├── globals_c.html │ ├── globals_d.html │ ├── globals_defs.html │ ├── globals_defs.js │ ├── globals_defs_b.html │ ├── globals_defs_c.html │ ├── globals_defs_d.html │ ├── globals_defs_e.html │ ├── globals_defs_i.html │ ├── globals_defs_j.html │ ├── globals_defs_k.html │ ├── globals_defs_p.html │ ├── globals_defs_q.html │ ├── globals_defs_r.html │ ├── globals_defs_s.html │ ├── globals_defs_t.html │ ├── globals_defs_w.html │ ├── globals_defs_x.html │ ├── globals_defs_z.html │ ├── globals_dup.js │ ├── globals_e.html │ ├── globals_enum.html │ ├── globals_eval.html │ ├── globals_eval.js │ ├── globals_eval_k.html │ ├── globals_func.html │ ├── globals_i.html │ ├── globals_j.html │ ├── globals_k.html │ ├── globals_m.html │ ├── globals_p.html │ ├── globals_q.html │ ├── globals_r.html │ ├── globals_s.html │ ├── globals_t.html │ ├── globals_type.html │ ├── globals_vars.html │ ├── globals_w.html │ ├── globals_x.html │ ├── globals_z.html │ ├── hierarchy.html │ ├── hierarchy.js │ ├── index.html │ ├── jquery.js │ ├── menu.js │ ├── menudata.js │ ├── namespaceAdobeXMPCommon.html │ ├── namespaceAdobeXMPCommon.js │ ├── namespaceAdobeXMPCommon__Int.html │ ├── namespaceAdobeXMPCore.html │ ├── namespaceAdobeXMPCore.js │ ├── namespaceAdobeXMPCore__Int.html │ ├── namespacemembers.html │ ├── namespacemembers_c.html │ ├── namespacemembers_dup.js │ ├── namespacemembers_e.html │ ├── namespacemembers_enum.html │ ├── namespacemembers_eval.html │ ├── namespacemembers_func.html │ ├── namespacemembers_i.html │ ├── namespacemembers_k.html │ ├── namespacemembers_m.html │ ├── namespacemembers_n.html │ ├── namespacemembers_p.html │ ├── namespacemembers_r.html │ ├── namespacemembers_s.html │ ├── namespacemembers_type.html │ ├── namespacemembers_u.html │ ├── namespacemembers_vars.html │ ├── namespaces.html │ ├── namespaces_dup.js │ ├── nav_f.png │ ├── nav_g.png │ ├── nav_h.png │ ├── navtree.css │ ├── navtree.js │ ├── navtreedata.js │ ├── navtreeindex0.js │ ├── navtreeindex1.js │ ├── navtreeindex2.js │ ├── navtreeindex3.js │ ├── navtreeindex4.js │ ├── navtreeindex5.js │ ├── navtreeindex6.js │ ├── navtreeindex7.js │ ├── open.png │ ├── resize.js │ ├── splitbar.png │ ├── structWXMP__Result-members.html │ ├── structWXMP__Result.html │ ├── structWXMP__Result.js │ ├── structXMP__DateTime-members.html │ ├── structXMP__DateTime.html │ ├── structXMP__DateTime.js │ ├── structXMP__PacketInfo-members.html │ ├── structXMP__PacketInfo.html │ ├── structXMP__PacketInfo.js │ ├── structXMP__VersionInfo-members.html │ ├── structXMP__VersionInfo.html │ ├── structXMP__VersionInfo.js │ ├── sync_off.png │ ├── sync_on.png │ ├── tab_a.png │ ├── tab_b.png │ ├── tab_h.png │ ├── tab_s.png │ ├── tabs.css │ ├── unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue-members.html │ ├── unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html │ ├── unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.js │ └── xmp_tagline_small.jpg ├── ActionScriptAccessToXMP.pdf ├── DynamicMediaXMPPartnerGuide.pdf ├── XMP-Technote-Delete-Internal-Props.pdf ├── XMPAddendumProgrammersGuide.pdf ├── XMPFilesPluginSDK.pdf ├── XMPProgrammersGuide.pdf ├── XMPSpecificationPart1.pdf ├── XMPSpecificationPart2.pdf ├── XMPSpecificationPart3.pdf └── xmp_public_patent_license.pdf ├── public └── include │ ├── TXMPFiles.hpp │ ├── TXMPIterator.hpp │ ├── TXMPMeta.hpp │ ├── TXMPUtils.hpp │ ├── XMP.hpp │ ├── XMP.incl_cpp │ ├── XMPCommon │ ├── Interfaces │ │ ├── BaseInterfaces │ │ │ ├── IConfigurable.h │ │ │ ├── ISharedObject.h │ │ │ ├── IThreadSafe.h │ │ │ └── IVersionable.h │ │ ├── IConfigurationManager.h │ │ ├── IError.h │ │ ├── IErrorNotifier.h │ │ ├── IMemoryAllocator.h │ │ ├── IObjectFactory.h │ │ └── IUTF8String.h │ ├── Utilities │ │ ├── TWrapperFunctions.h │ │ └── TWrapperFunctions2.h │ ├── XMPCommonDefines.h │ ├── XMPCommonErrorCodes.h │ ├── XMPCommonFwdDeclarations.h │ ├── XMPCommonLatestInterfaceVersions.h │ └── source │ │ ├── IConfigurable.cpp │ │ ├── IConfigurationManager.cpp │ │ ├── IError.cpp │ │ ├── IErrorNotifier.cpp │ │ └── IUTF8String.cpp │ ├── XMPCore │ ├── Interfaces │ │ ├── IArrayNode.h │ │ ├── IClientDOMParser.h │ │ ├── IClientDOMSerializer.h │ │ ├── ICompositeNode.h │ │ ├── ICoreConfigurationManager.h │ │ ├── ICoreObjectFactory.h │ │ ├── IDOMImplementationRegistry.h │ │ ├── IDOMParser.h │ │ ├── IDOMSerializer.h │ │ ├── IMetadata.h │ │ ├── IMetadataConverterUtils.h │ │ ├── INameSpacePrefixMap.h │ │ ├── INode.h │ │ ├── INodeIterator.h │ │ ├── IPath.h │ │ ├── IPathSegment.h │ │ ├── ISimpleNode.h │ │ └── IStructureNode.h │ ├── XMPCoreDefines.h │ ├── XMPCoreErrorCodes.h │ ├── XMPCoreFwdDeclarations.h │ ├── XMPCoreLatestInterfaceVersions.h │ └── source │ │ ├── IArrayNode.cpp │ │ ├── IClientDOMParser.cpp │ │ ├── IClientDOMSerializer.cpp │ │ ├── ICompositeNode.cpp │ │ ├── ICoreConfigurationManager.cpp │ │ ├── ICoreObjectFactory.cpp │ │ ├── IDOMImplementationRegistry.cpp │ │ ├── IDOMParser.cpp │ │ ├── IDOMSerializer.cpp │ │ ├── IMetadata.cpp │ │ ├── IMetadataConverterUtils.cpp │ │ ├── INameSpacePrefixMap.cpp │ │ ├── INode.cpp │ │ ├── INodeIterator.cpp │ │ ├── IPath.cpp │ │ ├── IPathSegment.cpp │ │ ├── ISimpleNode.cpp │ │ └── IStructureNode.cpp │ ├── XMP_Const.h │ ├── XMP_Environment.h │ ├── XMP_IO.hpp │ ├── XMP_Version.h │ └── client-glue │ ├── TXMPFiles.incl_cpp │ ├── TXMPIterator.incl_cpp │ ├── TXMPMeta.incl_cpp │ ├── TXMPUtils.incl_cpp │ ├── WXMPFiles.hpp │ ├── WXMPIterator.hpp │ ├── WXMPMeta.hpp │ ├── WXMPUtils.hpp │ └── WXMP_Common.hpp ├── samples ├── build │ ├── GenerateSamples_mac.sh │ ├── GenerateSamples_win.bat │ ├── Makefile │ ├── cmake │ │ ├── CMakeLists.txt │ │ ├── CMakeListsCommonSDK.txt │ │ ├── CustomSchema │ │ │ └── CMakeLists.txt │ │ ├── CustomSchemaNewDOM │ │ │ └── CMakeLists.txt │ │ ├── DumpFile │ │ │ ├── CMakeLists.txt │ │ │ └── CMakeListsCommon.txt │ │ ├── DumpMainXMP │ │ │ └── CMakeLists.txt │ │ ├── DumpScannedXMP │ │ │ └── CMakeLists.txt │ │ ├── ModifyingXMP │ │ │ └── CMakeLists.txt │ │ ├── ModifyingXMPNewDOM │ │ │ └── CMakeLists.txt │ │ ├── ReadingXMP │ │ │ └── CMakeLists.txt │ │ ├── ReadingXMPNewDOM │ │ │ └── CMakeLists.txt │ │ ├── SharedConfigSDK.cmake │ │ ├── XMPCommand │ │ │ ├── CMakeLists.txt │ │ │ └── CMakeListsCommon.txt │ │ ├── XMPCoreCoverage │ │ │ └── CMakeLists.txt │ │ ├── XMPFilesCoverage │ │ │ └── CMakeLists.txt │ │ └── XMPIterations │ │ │ └── CMakeLists.txt │ └── readme.txt ├── source │ ├── CustomSchema.cpp │ ├── CustomSchemaNewDOM.cpp │ ├── DumpMainXMP.cpp │ ├── DumpScannedXMP.cpp │ ├── ModifyingXMP.cpp │ ├── ModifyingXMPNewDOM.cpp │ ├── ReadingXMP.cpp │ ├── ReadingXMPNewDOM.cpp │ ├── UnicodeCorrectness.cpp │ ├── UnicodeParseSerialize.cpp │ ├── UnicodePerformance.cpp │ ├── XMPCoreCoverage.cpp │ ├── XMPFilesCoverage.cpp │ ├── XMPIterations.cpp │ ├── common │ │ ├── DumpFile.cpp │ │ ├── DumpFile.h │ │ ├── LargeFileAccess.cpp │ │ ├── LargeFileAccess.hpp │ │ ├── Log.cpp │ │ ├── Log.h │ │ ├── TagTree.cpp │ │ ├── TagTree.h │ │ ├── XMPScanner.cpp │ │ ├── XMPScanner.hpp │ │ └── globals.h │ ├── dumpfile │ │ └── main.cpp │ └── xmpcommand │ │ ├── Actions.cpp │ │ ├── Actions.h │ │ ├── PrintUsage.cpp │ │ ├── PrintUsage.h │ │ └── XMPCommand.cpp └── testfiles │ ├── BlueSquare.ai │ ├── BlueSquare.avi │ ├── BlueSquare.eps │ ├── BlueSquare.indd │ ├── BlueSquare.jpg │ ├── BlueSquare.mov │ ├── BlueSquare.mp3 │ ├── BlueSquare.pdf │ ├── BlueSquare.png │ ├── BlueSquare.psd │ ├── BlueSquare.tif │ ├── BlueSquare.wav │ ├── Image1.jpg │ └── Image2.jpg ├── source ├── Endian.h ├── EndianUtils.hpp ├── ExpatAdapter.hpp ├── Host_IO-POSIX.cpp ├── Host_IO-Win.cpp ├── Host_IO.hpp ├── IOUtils.cpp ├── IOUtils.hpp ├── PerfUtils.cpp ├── PerfUtils.hpp ├── SafeStringAPIs.cpp ├── SafeStringAPIs.h ├── SafeTypes.h ├── SuppressSAL.h ├── UnicodeConversions.cpp ├── UnicodeConversions.hpp ├── UnicodeInlines.incl_cpp ├── XIO.cpp ├── XIO.hpp ├── XMLParserAdapter.hpp ├── XML_Node.cpp ├── XMPFiles_IO.cpp ├── XMPFiles_IO.hpp ├── XMP_LibUtils.cpp ├── XMP_LibUtils.hpp ├── XMP_ProgressTracker.cpp └── XMP_ProgressTracker.hpp ├── third-party ├── expat │ └── ReadMe.txt ├── zlib │ └── ReadMe.txt └── zuid │ └── interfaces │ ├── MD5.cpp │ └── MD5.h └── tools ├── android └── ReadMe.txt └── cmake └── ReadMe.txt /LICENSE: -------------------------------------------------------------------------------- 1 | BSD 3-Clause License 2 | 3 | Copyright (c) 2020, Adobe 4 | All rights reserved. 5 | 6 | Redistribution and use in source and binary forms, with or without 7 | modification, are permitted provided that the following conditions are met: 8 | 9 | 1. Redistributions of source code must retain the above copyright notice, this 10 | list of conditions and the following disclaimer. 11 | 12 | 2. Redistributions in binary form must reproduce the above copyright notice, 13 | this list of conditions and the following disclaimer in the documentation 14 | and/or other materials provided with the distribution. 15 | 16 | 3. Neither the name of the copyright holder nor the names of its 17 | contributors may be used to endorse or promote products derived from 18 | this software without specific prior written permission. 19 | 20 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 21 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 22 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 23 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 24 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 25 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 26 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 27 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 28 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 29 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 30 | -------------------------------------------------------------------------------- /XMP-Toolkit-SDK-Overview.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMP-Toolkit-SDK-Overview.pdf -------------------------------------------------------------------------------- /XMPCommon/BaseClasses/MemoryManagedObject.h: -------------------------------------------------------------------------------- 1 | #ifndef MemoryManagedObject_h__ 2 | #define MemoryManagedObject_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/XMPCommonDefines_I.h" 13 | #include "XMPCommon/XMPCommonFwdDeclarations.h" 14 | 15 | namespace XMP_COMPONENT_INT_NAMESPACE { 16 | using AdobeXMPCommon::pIMemoryAllocator; 17 | //! 18 | //! \brief class which serves as the base class for all internal concrete classes. 19 | //! \details Provides all the concrete classes with a set of new/delete functions which internally 20 | //! calls appropriate client or inbuilt library functions for all memory allocation and deallocation 21 | //! on heap. 22 | //! \attention no state maintained so no need to worry about multi threading. 23 | //! 24 | class MemoryManagedObject { 25 | 26 | public: 27 | void * operator new( std::size_t ); 28 | void * operator new( std::size_t, const std::nothrow_t & ) __NOTHROW__; 29 | void * operator new( std::size_t, void * ptr ) __NOTHROW__; 30 | 31 | void * operator new[]( std::size_t ); 32 | void * operator new[]( std::size_t, const std::nothrow_t & ) __NOTHROW__; 33 | void * operator new[]( std::size_t, void * ptr ) __NOTHROW__; 34 | 35 | void operator delete( void * ptr ) throw (); 36 | void operator delete( void * ptr, const std::nothrow_t & ) __NOTHROW__; 37 | void operator delete( void * ptr, void * voidptr2 ) __NOTHROW__; 38 | 39 | void operator delete[]( void * ptr ) throw (); 40 | void operator delete[]( void * ptr, const std::nothrow_t & ) __NOTHROW__; 41 | void operator delete[]( void * ptr, void * voidptr2 ) __NOTHROW__; 42 | 43 | }; 44 | }; 45 | 46 | #endif // MemoryManagedObject_h__ 47 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/ConfigurationManagerImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef ConfigurationManagerImpl_h__ 2 | #define ConfigurationManagerImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCommon/Interfaces/IConfigurationManager_I.h" 19 | 20 | #include "XMPCommon/ImplHeaders/SharedObjectImpl.h" 21 | #include "XMPCommon/BaseClasses/MemoryManagedObject.h" 22 | 23 | #if XMP_WinBuild 24 | #pragma warning( push ) 25 | #pragma warning( disable : 4250 ) 26 | #endif 27 | 28 | namespace XMP_COMPONENT_INT_NAMESPACE { 29 | 30 | class ConfigurationManagerImpl 31 | : public virtual IConfigurationManager_I 32 | , public virtual SharedObjectImpl 33 | , public virtual MemoryManagedObject 34 | { 35 | public: 36 | ConfigurationManagerImpl() : mMultiThreadingEnabled( true ) {} 37 | 38 | virtual bool APICALL RegisterMemoryAllocator( pIMemoryAllocator memoryAllocator ); 39 | virtual bool APICALL RegisterErrorNotifier( pIErrorNotifier_base clientErrorNotifier ); 40 | virtual bool APICALL DisableMultiThreading(); 41 | virtual bool APICALL IsMultiThreaded() const; 42 | 43 | protected: 44 | ~ConfigurationManagerImpl() __NOTHROW__ {} 45 | bool mMultiThreadingEnabled; 46 | 47 | #ifdef FRIEND_CLASS_DECLARATION 48 | FRIEND_CLASS_DECLARATION(); 49 | #endif 50 | REQ_FRIEND_CLASS_DECLARATION(); 51 | 52 | }; 53 | } 54 | 55 | #if XMP_WinBuild 56 | #pragma warning( pop ) 57 | #endif 58 | 59 | #endif // ConfigurationManagerImpl_h__ 60 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/DefaultErrorNotifierImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef DefaultErrorNotifierImpl_h__ 2 | #define DefaultErrorNotifierImpl_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 "XMPCommon/Interfaces/IErrorNotifier_I.h" 14 | 15 | namespace XMP_COMPONENT_INT_NAMESPACE { 16 | 17 | 18 | class DefaultErrorNotifierImpl 19 | : public virtual IErrorNotifier_I 20 | { 21 | public: 22 | virtual bool APICALL Notify( const spcIError & error ); 23 | virtual ~DefaultErrorNotifierImpl() __NOTHROW__{} 24 | 25 | protected: 26 | 27 | #ifdef FRIEND_CLASS_DECLARATION 28 | FRIEND_CLASS_DECLARATION(); 29 | #endif 30 | REQ_FRIEND_CLASS_DECLARATION(); 31 | }; 32 | 33 | } 34 | 35 | #endif // DefaultErrorNotifierImpl_h__ 36 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/ErrorNotifierWrapperImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef ErrorNotifierWrapperImpl_h__ 2 | #define ErrorNotifierWrapperImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCommon/Interfaces/IErrorNotifier_I.h" 19 | #include "XMPCommon/BaseClasses/MemoryManagedObject.h" 20 | 21 | #if XMP_WinBuild 22 | #pragma warning( push ) 23 | #pragma warning( disable : 4250 ) 24 | #endif 25 | 26 | 27 | namespace XMP_COMPONENT_INT_NAMESPACE { 28 | 29 | class ErrorNotifierWrapperImpl_v1 30 | : public virtual IErrorNotifier_I 31 | , public virtual MemoryManagedObject 32 | { 33 | public: 34 | virtual bool APICALL Notify( const spcIError & error ); 35 | 36 | protected: 37 | ErrorNotifierWrapperImpl_v1( IErrorNotifier_v1 * clientNotifier ); 38 | virtual ~ErrorNotifierWrapperImpl_v1() __NOTHROW__{}; 39 | 40 | IErrorNotifier_v1 * mErrorNotifier; 41 | 42 | friend pIErrorNotifier CreateErrorNotifierWrapperImpl( pIErrorNotifier_base errorNotifier ); 43 | }; 44 | } 45 | 46 | #if XMP_WinBuild 47 | #pragma warning( pop ) 48 | #endif 49 | 50 | #endif // ErrorNotifierWrapperImpl_h__ 51 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/MemoryAllocatorWrapperImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef MemoryAllocatorWrapperImpl_h__ 2 | #define MemoryAllocatorWrapperImpl_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/Interfaces/IMemoryAllocator.h" 14 | #include 15 | 16 | namespace XMP_COMPONENT_INT_NAMESPACE { 17 | using namespace AdobeXMPCommon; 18 | 19 | class MemoryAllocatorWrapperImpl 20 | : public virtual IMemoryAllocator 21 | { 22 | public: 23 | MemoryAllocatorWrapperImpl(); 24 | pIMemoryAllocator_base SetMemoryAllocator( pIMemoryAllocator_base memoryAllocator ); 25 | 26 | virtual void * APICALL allocate( sizet size ) __NOTHROW__; 27 | virtual void APICALL deallocate( void * ptr ) __NOTHROW__; 28 | virtual void * APICALL reallocate( void * ptr, sizet size ) __NOTHROW__; 29 | 30 | protected: 31 | pIMemoryAllocator_base mpMemoryAllocator; 32 | }; 33 | 34 | 35 | } 36 | 37 | #endif // MemoryAllocatorWrapperImpl_h__ 38 | 39 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/SharedMutexImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef __SharedMutexImpl_h__ 2 | #define __SharedMutexImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCommon/Interfaces/ISharedMutex.h" 19 | #include "XMPCommon/BaseClasses/MemoryManagedObject.h" 20 | #include "XMPCommon/ImplHeaders/SharedObjectImpl.h" 21 | 22 | #if XMP_WinBuild 23 | #pragma warning( push ) 24 | #pragma warning( disable : 4250 ) 25 | #endif 26 | 27 | namespace XMP_COMPONENT_INT_NAMESPACE { 28 | 29 | class SharedMutexImpl 30 | : public virtual ISharedMutex 31 | , public virtual SharedObjectImpl 32 | , public virtual MemoryManagedObject 33 | { 34 | public: 35 | virtual eMultiThreadingErrorCode APICALL Lock() __NOTHROW__; 36 | virtual eMultiThreadingErrorCode APICALL TryLock() __NOTHROW__; 37 | virtual eMultiThreadingErrorCode APICALL Unlock() __NOTHROW__; 38 | 39 | virtual eMultiThreadingErrorCode APICALL LockShared() __NOTHROW__; 40 | virtual eMultiThreadingErrorCode APICALL TryLockShared() __NOTHROW__; 41 | virtual eMultiThreadingErrorCode APICALL UnlockShared() __NOTHROW__; 42 | 43 | virtual ~SharedMutexImpl() __NOTHROW__ { } 44 | }; 45 | 46 | } 47 | 48 | #if XMP_WinBuild 49 | #pragma warning( pop ) 50 | #endif 51 | 52 | #endif // __SharedMutexImpl_h__ 53 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/SharedObjectImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef __SharedObjectImpl_h__ 2 | #define __SharedObjectImpl_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 "XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h" 14 | #include "XMPCommon/Interfaces/BaseInterfaces/ISharedObject_I.h" 15 | #include "XMPCommon/Utilities/TAtomicTypes.h" 16 | 17 | namespace XMP_COMPONENT_INT_NAMESPACE { 18 | 19 | class SharedObjectImpl 20 | : public virtual ISharedObject_I 21 | { 22 | public: 23 | SharedObjectImpl() 24 | : mRefCount( 0 ) 25 | , mCountInternal( 0 ) { } 26 | 27 | virtual void APICALL Acquire() const __NOTHROW__; 28 | virtual void APICALL Release() const __NOTHROW__; 29 | virtual void APICALL AcquireInternal() const __NOTHROW__; 30 | 31 | protected: 32 | SharedObjectImpl( const SharedObjectImpl & ); 33 | SharedObjectImpl & operator = ( const SharedObjectImpl & ); 34 | virtual ~SharedObjectImpl() __NOTHROW__; 35 | 36 | protected: 37 | mutable atomic_sizet mRefCount; 38 | mutable atomic_sizet mCountInternal; 39 | 40 | #ifndef FRIEND_CLASS_DECLARATION 41 | #define FRIEND_CLASS_DECLARATION() 42 | #endif 43 | FRIEND_CLASS_DECLARATION(); 44 | REQ_FRIEND_CLASS_DECLARATION(); 45 | 46 | }; 47 | } 48 | 49 | #endif // __SharedObjectImpl_h__ 50 | -------------------------------------------------------------------------------- /XMPCommon/ImplHeaders/ThreadSafeImpl.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2015 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 11 | #error "Not adhering to design constraints" 12 | // this file should only be included from its own cpp file 13 | #endif 14 | 15 | #include "XMPCommon/Interfaces/BaseInterfaces/IThreadSafe_I.h" 16 | 17 | #if XMP_WinBuild 18 | #pragma warning( push ) 19 | #pragma warning( disable : 4250 ) 20 | #endif 21 | 22 | namespace XMP_COMPONENT_INT_NAMESPACE { 23 | 24 | class ThreadSafeImpl 25 | : public virtual IThreadSafe_I 26 | { 27 | public: 28 | ThreadSafeImpl() {} 29 | 30 | 31 | protected: 32 | virtual ~ThreadSafeImpl() {} 33 | 34 | virtual void APICALL ShareMutex( const spISharedMutex & mutex ); 35 | virtual void APICALL UnShareMutex(); 36 | virtual void APICALL EnableThreadSafety() const __NOTHROW__; 37 | virtual void APICALL DisableThreadSafety() const __NOTHROW__; 38 | virtual bool APICALL IsThreadSafe() const; 39 | 40 | mutable spISharedMutex mSharedMutex; 41 | 42 | #ifdef FRIEND_CLASS_DECLARATION 43 | FRIEND_CLASS_DECLARATION(); 44 | #endif 45 | REQ_FRIEND_CLASS_DECLARATION(); 46 | }; 47 | } 48 | 49 | #if XMP_WinBuild 50 | #pragma warning( pop ) 51 | #endif 52 | -------------------------------------------------------------------------------- /XMPCommon/Interfaces/BaseInterfaces/ISharedObject_I.h: -------------------------------------------------------------------------------- 1 | #ifndef __ISharedObject_I_h__ 2 | #define __ISharedObject_I_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 "XMPCommon/XMPCommonDefines_I.h" 14 | #include "XMPCommon/XMPCommonFwdDeclarations_I.h" 15 | #include "XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h" 16 | 17 | namespace AdobeXMPCommon_Int { 18 | 19 | //! 20 | //! Internal interface that serves as the base interface of all the internal interfaces inherited from 21 | //! externally exposed interfaces. 22 | //! This allows all interfaces to be returned as raw pointers through wrapper functions so that internal 23 | //! object is not deleted as soon as the internal smart pointer goes out of scope. 24 | //! \note Any class/interface which inherits from this class needs to provide implementation for 25 | //! AcquireInternal pure virtual function. 26 | //! 27 | class ISharedObject_I 28 | : public virtual ISharedObject 29 | { 30 | public: 31 | 32 | //! 33 | //! It indicates that the pointer owned by the internal smart pointer is required to extend beyond the life span 34 | //! of smart pointer. This is generally the case where we are returning raw pointer from an internal shared pointer. 35 | //! Called internally by the library to pass raw pointers across shared libraries from shared pointers. 36 | //! 37 | virtual void APICALL AcquireInternal() const __NOTHROW__ = 0; 38 | 39 | virtual pISharedObject_I APICALL GetISharedObject_I() __NOTHROW__ { return this; } 40 | 41 | protected: 42 | 43 | #ifdef FRIEND_CLASS_DECLARATION 44 | FRIEND_CLASS_DECLARATION(); 45 | #endif 46 | REQ_FRIEND_CLASS_DECLARATION(); 47 | }; 48 | } 49 | 50 | #endif // __ISharedObject_I_h__ 51 | -------------------------------------------------------------------------------- /XMPCommon/Interfaces/BaseInterfaces/IThreadSafe_I.h: -------------------------------------------------------------------------------- 1 | #ifndef IThreadSafe_I_h__ 2 | #define IThreadSafe_I_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_I.h" 14 | #include "XMPCommon/Interfaces/BaseInterfaces/IThreadSafe.h" 15 | 16 | namespace AdobeXMPCommon_Int { 17 | 18 | //! 19 | //! \brief Internal Interface that serves as the base interface for all the externally exposed 20 | //! or internal interfaces which needs to provide client configurable thread safety. 21 | //! \attention In case client has disabled thread safety at the module level these functions will 22 | //! have no use. 23 | //! \note By default all the objects created are not thread safe. 24 | //! 25 | 26 | class IThreadSafe_I 27 | : public virtual IThreadSafe 28 | { 29 | public: 30 | 31 | //! 32 | //! Make two objects share the same mutex. 33 | //! Generally required in case of a DOM or where parent child relationship needs to be maintained. 34 | //! \param[in] mutex a shared pointer of ISharedMutex interface to be shared among the object. 35 | //! 36 | virtual void APICALL ShareMutex( const XMP_COMPONENT_INT_NAMESPACE::spISharedMutex & mutex ) = 0; 37 | virtual void APICALL UnShareMutex() = 0; 38 | 39 | virtual pIThreadSafe_I APICALL GetIThreadSafe_I() __NOTHROW__ { return this; } 40 | 41 | virtual uint32 APICALL isThreadSafe() const __NOTHROW__ { 42 | if ( IsThreadSafe() ) return 1; 43 | return 0; 44 | } 45 | 46 | #ifdef FRIEND_CLASS_DECLARATION 47 | REQ_FRIEND_CLASS_DECLARATION(); 48 | #endif 49 | REQ_FRIEND_CLASS_DECLARATION(); 50 | }; 51 | } 52 | #endif // IThreadSafe_I_h__ 53 | -------------------------------------------------------------------------------- /XMPCommon/Interfaces/IErrorNotifier_I.h: -------------------------------------------------------------------------------- 1 | #ifndef IErrorNotifier_I_h__ 2 | #define IErrorNotifier_I_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 "XMPCommon/XMPCommonFwdDeclarations_I.h" 14 | #include "XMPCommon/Interfaces/IErrorNotifier.h" 15 | 16 | namespace XMP_COMPONENT_INT_NAMESPACE { 17 | 18 | //! 19 | //! \brief Internal interface that represents an interface to be implemented by library 20 | //! in case it is interested in getting notifications with respect to errors/warnings encountered 21 | //! within the library. 22 | //! \details In case library is interested in error notifications it can implement this interface 23 | //! and register the same with the #IConfigurationManager. For every warning or error 24 | //! encountered the NotifyError function will be called by the library. In case of warnings ( indicated 25 | //! by the severity of the error ) the implementation has the option to continue ignoring the warning by 26 | //! returning true else he can return false and the warning will be thrown aborting the current operation. 27 | //! 28 | class IErrorNotifier_I 29 | : public virtual IErrorNotifier 30 | { 31 | public: 32 | 33 | //! 34 | //! Get the current error notifier. 35 | //! 36 | static pIErrorNotifier GetErrorNotifier(); 37 | 38 | //! 39 | //! Set the current error notifier. 40 | //! 41 | static pIErrorNotifier SetErrorNotifier( pIErrorNotifier errorNotifier ); 42 | 43 | protected: 44 | ~IErrorNotifier_I() {} 45 | 46 | #ifdef FRIEND_CLASS_DECLARATION 47 | REQ_FRIEND_CLASS_DECLARATION(); 48 | #endif 49 | REQ_FRIEND_CLASS_DECLARATION(); 50 | }; 51 | } 52 | 53 | #endif // IErrorNotifier_I_h__ 54 | -------------------------------------------------------------------------------- /XMPCommon/Interfaces/IMemoryAllocator_I.h: -------------------------------------------------------------------------------- 1 | #ifndef IMemoryAllocator_I_h__ 2 | #define IMemoryAllocator_I_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 "XMPCommon/XMPCommonFwdDeclarations_I.h" 14 | #include "XMPCommon/Interfaces/IMemoryAllocator.h" 15 | 16 | namespace XMP_COMPONENT_INT_NAMESPACE { 17 | 18 | //! 19 | //! \brief Internal interface that represents an interface to be implemented by client in case 20 | //! he is interested in controlling the memory allocation and deallocation on the heap. 21 | //! \details In case client is interested in controlling the memory allocation and deallocation on 22 | //! the heap he can implement this interface and register the same with the 23 | //! #AdobeXMPCommon::IConfigurationManager. For every request of memory allocation or deallocation on 24 | //! the heap corresponding function will be called by the library. 25 | //! \attention Support for Multi threading is under clients hand. 26 | //! 27 | class IMemoryAllocator_I 28 | : public virtual IMemoryAllocator 29 | { 30 | public: 31 | 32 | //! 33 | //! Get the current error notifier. 34 | //! 35 | static pIMemoryAllocator GetMemoryAllocator() __NOTHROW__; 36 | 37 | //! 38 | //! Set the current error notifier. 39 | //! 40 | static pIMemoryAllocator SetMemoryAllocator( pIMemoryAllocator_base memoryAllocator ) __NOTHROW__; 41 | 42 | 43 | protected: 44 | ~IMemoryAllocator_I() {} 45 | 46 | #ifdef FRIEND_CLASS_DECLARATION 47 | REQ_FRIEND_CLASS_DECLARATION(); 48 | #endif 49 | REQ_FRIEND_CLASS_DECLARATION(); 50 | }; 51 | } 52 | 53 | #endif // IMemoryAllocator_I_h__ 54 | -------------------------------------------------------------------------------- /XMPCommon/Utilities/AutoSharedLock.h: -------------------------------------------------------------------------------- 1 | #ifndef __AutoSharedLock_h__ 2 | #define __AutoSharedLock_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 "XMPCommon/XMPCommonFwdDeclarations_I.h" 14 | 15 | namespace XMP_COMPONENT_INT_NAMESPACE { 16 | 17 | class AutoSharedLock { 18 | public: 19 | AutoSharedLock( const spISharedMutex & mutex, bool exclusiveLock = false ); 20 | ~AutoSharedLock(); 21 | void Release(); 22 | 23 | private: 24 | spISharedMutex mMutex; 25 | bool mExclusiveLock; 26 | }; 27 | 28 | } 29 | #endif // __AutoSharedLock_h__ 30 | -------------------------------------------------------------------------------- /XMPCommon/Utilities/IUTF8StringComparator.h: -------------------------------------------------------------------------------- 1 | #ifndef IUTF8StringComparator_h__ 2 | #define IUTF8StringComparator_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_I.h" 14 | 15 | namespace XMP_COMPONENT_INT_NAMESPACE { 16 | 17 | struct IUTF8StringComparator { 18 | 19 | bool operator() ( const spcIUTF8String & left, const spcIUTF8String & right ) const; 20 | }; 21 | } 22 | #endif // IUTF8StringComparator_h__ 23 | 24 | -------------------------------------------------------------------------------- /XMPCommon/Utilities/TAtomicTypes_Android.h: -------------------------------------------------------------------------------- 1 | #ifndef __TAtomicTypes_Android_h__ 2 | #define __TAtomicTypes_Android_h__ 1 3 | 4 | 5 | // ================================================================================================= 6 | // Copyright Adobe 7 | // Copyright 2014 Adobe 8 | // All Rights Reserved 9 | // 10 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 11 | // of the Adobe license agreement accompanying it. 12 | // ================================================================================================= 13 | 14 | #if XMP_AndroidBuild 15 | 16 | #ifndef __TAtomicTypes_h__ 17 | #error "This file is supposed to be included from TAtomicTypes and not directly" 18 | #endif 19 | 20 | #include 21 | 22 | namespace AdobeXMPCommon { 23 | typedef std::atomic atomic_sizet; 24 | } 25 | /*#include 26 | namespace AdobeXMPCommon { 27 | typedef atomic_size_t atomic_sizet; 28 | }*/ 29 | 30 | #define NOT_DEFINED_ATOMIC_SIZE_T 0 31 | #endif // XMP_AndroidBuild 32 | 33 | #endif // __TAtomicTypes_Android_h__ -------------------------------------------------------------------------------- /XMPCommon/Utilities/TAtomicTypes_Linux.h: -------------------------------------------------------------------------------- 1 | #ifndef __TAtomicTypes_Linux_h__ 2 | #define __TAtomicTypes_Linux_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 | #if XMP_UNIXBuild 14 | 15 | #ifndef __TAtomicTypes_h__ 16 | #error "This file is supposed to be included from TAtomicTypes and not directly" 17 | #endif 18 | 19 | #if GCC_VERSION > 40400 && GCC_VERSION < 40899 20 | #include 21 | 22 | namespace AdobeXMPCommon { 23 | typedef std::atomic_size_t atomic_sizet; 24 | } 25 | 26 | #define NOT_DEFINED_ATOMIC_SIZE_T 0 27 | #elif __clang__ 28 | #include 29 | namespace AdobeXMPCommon{ 30 | typedef std::atomic atomic_sizet; 31 | } 32 | #define NOT_DEFINED_ATOMIC_SIZE_T 0 33 | #endif 34 | 35 | #endif // XMP_UNIXBuild 36 | 37 | #endif // __TAtomicTypes_Linux_h__ 38 | -------------------------------------------------------------------------------- /XMPCommon/Utilities/UTF8String.h: -------------------------------------------------------------------------------- 1 | #ifndef __UTF8String_h__ 2 | #define __UTF8String_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 14 | #include 15 | #include "XMPCommon/XMPCommonDefines_I.h" 16 | #include "XMPCommon/Utilities/TAllocator.h" 17 | 18 | namespace XMP_COMPONENT_INT_NAMESPACE { 19 | 20 | typedef std::basic_string< char, std::char_traits< char >, TAllocator< char > > UTF8String; 21 | typedef std::string UTF8StringUnmanaged; 22 | 23 | typedef std::basic_stringstream< char, std::char_traits< char >, TAllocator< char > > UTF8StringStream; 24 | typedef std::stringstream UTF8StringStreamUnmanaged; 25 | } 26 | 27 | #endif // __UTF8String_h__ 28 | -------------------------------------------------------------------------------- /XMPCommon/XMPCommonDefines_I.h: -------------------------------------------------------------------------------- 1 | #ifndef XMPCommonDefines_I_h__ 2 | #define XMPCommonDefines_I_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/XMPCommonDefines.h" 13 | 14 | // ================================================================================================= 15 | // All Platform Settings 16 | // =========================== 17 | 18 | #ifndef XMP_COMPONENT_INT_NAMESPACE 19 | #error "Please define XMP_COMPONENT_INT_NAMESPACE" 20 | #endif 21 | 22 | namespace AdobeXMPCommon_Int { 23 | using namespace AdobeXMPCommon; 24 | const uint32 kInternalInterfaceVersionNumber( 0xFFFFFFFF ); 25 | } 26 | 27 | namespace XMP_COMPONENT_INT_NAMESPACE { 28 | using namespace AdobeXMPCommon; 29 | using namespace AdobeXMPCommon_Int; 30 | } 31 | 32 | // ================================================================================================= 33 | // Macintosh Specific Settings 34 | // =========================== 35 | 36 | // ================================================================================================= 37 | // Windows Specific Settings 38 | // ========================= 39 | 40 | // ================================================================================================= 41 | // UNIX Specific Settings 42 | // ====================== 43 | 44 | // ================================================================================================= 45 | // IOS Specific Settings 46 | // =========================== 47 | 48 | 49 | #endif // XMPCommonDefines_I_h__ 50 | -------------------------------------------------------------------------------- /XMPCommon/XMPCommonErrorCodes_I.h: -------------------------------------------------------------------------------- 1 | #ifndef XMPCommonErrorCodes_I_h__ 2 | #define XMPCommonErrorCodes_I_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/XMPCommonDefines_I.h" 14 | #include "XMPCommon/XMPCommonErrorCodes.h" 15 | 16 | namespace AdobeXMPCommon_Int { 17 | 18 | //! 19 | //! Indicates various types of errors related to mutex. 20 | //! 21 | typedef enum { 22 | //! Represents no error in operation on mutex. 23 | kMTECNone = 0, 24 | 25 | //! Represents an error while interacting with mutex due to memory crunch. 26 | kMTECMemoryCrunch = 1, 27 | 28 | //! Represents an error while interacting with mutex due to resource crunch other than memory. 29 | kMTECResourceCrunch = 2, 30 | 31 | //! Represents an error while interacting with mutex due to permission issues. 32 | kMTECPermission = 3, 33 | 34 | //! Represents an error related to lock operation called on already locked mutex. 35 | kMTECAlreadyLocked = 4, 36 | 37 | //! Represents an error because of operation being called on already un-initialized mutex. 38 | kMTECUninitialized = 5, 39 | 40 | // Add new errors here 41 | 42 | //! Maximum value this enum can hold, should be treated as invalid value. 43 | kMTECMaxValue = 0xFFFFFFFF 44 | } eMultiThreadingErrorCode; 45 | } 46 | 47 | #endif // XMPCommonErrorCodes_I_h__ 48 | -------------------------------------------------------------------------------- /XMPCommon/XMPCommon_I.h: -------------------------------------------------------------------------------- 1 | #ifndef XMPCommon_I_h__ 2 | #define XMPCommon_I_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 "XMPCommon/XMPCommonDefines_I.h" 14 | #include "XMPCommon/XMPCommonFwdDeclarations_I.h" 15 | 16 | namespace XMP_COMPONENT_INT_NAMESPACE { 17 | 18 | //! 19 | //! Initializes the XMP Common Framework. 20 | //! 21 | void InitializeXMPCommonFramework(); 22 | 23 | //! 24 | //! Terminates the XMP Common Framework. 25 | void TerminateXMPCommonFramework(); 26 | } 27 | 28 | #endif // XMPCommon_I_h__ 29 | -------------------------------------------------------------------------------- /XMPCommon/source/AutoSharedLock.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2014 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/Utilities/AutoSharedLock.h" 11 | #include "XMPCommon/Interfaces/ISharedMutex.h" 12 | #include "XMPCommon/Interfaces/IError_I.h" 13 | #include "XMPCommon/XMPCommonErrorCodes_I.h" 14 | 15 | namespace XMP_COMPONENT_INT_NAMESPACE { 16 | AutoSharedLock::AutoSharedLock( const spISharedMutex & mutex, bool exclusiveLock /*= false */ ) 17 | : mMutex( mutex ) 18 | , mExclusiveLock( exclusiveLock ) 19 | { 20 | if ( mMutex ) { 21 | eMultiThreadingErrorCode er; 22 | if ( mExclusiveLock ) 23 | er = mMutex->Lock(); 24 | else 25 | er = mMutex->LockShared(); 26 | if ( er != kMTECNone ) { 27 | NOTIFY_ERROR( IError_v1::kEDMultiThreading, er, "Unable to lock the mutex", IError_v1::kESProcessFatal, false, false ); 28 | } 29 | } 30 | } 31 | 32 | AutoSharedLock::~AutoSharedLock() { 33 | Release(); 34 | } 35 | 36 | void AutoSharedLock::Release() { 37 | if ( mMutex ) { 38 | eMultiThreadingErrorCode er; 39 | if ( mExclusiveLock ) 40 | er = mMutex->Unlock(); 41 | else 42 | er = mMutex->UnlockShared(); 43 | if ( er != kMTECNone ) { 44 | NOTIFY_ERROR( IError_v1::kEDMultiThreading, er, "Unable to lock the mutex", IError_v1::kESProcessFatal, false, false ); 45 | } 46 | } 47 | } 48 | 49 | } 50 | -------------------------------------------------------------------------------- /XMPCommon/source/DefaultErrorNotifierImpl.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2014 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | 11 | #define IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 1 12 | #include "XMPCommon/ImplHeaders/DefaultErrorNotifierImpl.h" 13 | #undef IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 14 | 15 | #include "XMPCommon/Interfaces/IError.h" 16 | 17 | namespace XMP_COMPONENT_INT_NAMESPACE { 18 | 19 | bool APICALL DefaultErrorNotifierImpl::Notify( const spcIError & error ) { 20 | if ( error->GetSeverity() > IError_v1::kESWarning ) 21 | return false; 22 | return true; 23 | } 24 | 25 | } 26 | -------------------------------------------------------------------------------- /XMPCommon/source/ErrorNotifierWrapperImpl.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2014 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/XMPCommonFwdDeclarations_I.h" 11 | namespace XMP_COMPONENT_INT_NAMESPACE { 12 | class ErrorNotifierWrapperImpl_v1; 13 | } 14 | #define FRIEND_CLASS_DECLARATION() friend class XMP_COMPONENT_INT_NAMESPACE::ErrorNotifierWrapperImpl_v1; 15 | #define IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 1 16 | #include "XMPCommon/ImplHeaders/ErrorNotifierWrapperImpl.h" 17 | #undef IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 18 | #undef FRIEND_CLASS_DECLARATION 19 | 20 | #include "XMPCommon/Utilities/TWrapperFunctions_I.h" 21 | 22 | namespace XMP_COMPONENT_INT_NAMESPACE { 23 | 24 | bool APICALL ErrorNotifierWrapperImpl_v1::Notify( const spcIError & err ) { 25 | uint32 exceptionCaught( 0 ); 26 | uint32 returnValue = mErrorNotifier->notify( err.get(), exceptionCaught ); 27 | if ( exceptionCaught ) { 28 | return false; 29 | } 30 | return returnValue != 0 ? true : false; 31 | } 32 | 33 | ErrorNotifierWrapperImpl_v1::ErrorNotifierWrapperImpl_v1( IErrorNotifier_v1 * errorNotifier ) 34 | : mErrorNotifier( errorNotifier ) {} 35 | 36 | pIErrorNotifier CreateErrorNotifierWrapperImpl( pIErrorNotifier_base errorNotifier ) { 37 | if ( errorNotifier == NULL ) 38 | return NULL; 39 | // start with the highest available version and keep on going down 40 | if ( IErrorNotifier_v1 * ptr = dynamic_cast< IErrorNotifier_v1 * >( errorNotifier ) ) { 41 | return new ErrorNotifierWrapperImpl_v1( errorNotifier ); 42 | } else { 43 | return NULL; 44 | } 45 | } 46 | } 47 | -------------------------------------------------------------------------------- /XMPCommon/source/IErrorNotifier_I.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2015 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/Interfaces/IErrorNotifier_I.h" 11 | #include "XMPCommon/ImplHeaders/DefaultErrorNotifierImpl.h" 12 | 13 | 14 | namespace XMP_COMPONENT_INT_NAMESPACE { 15 | 16 | static DefaultErrorNotifierImpl sDefaultErrorNotifier; 17 | static pIErrorNotifier sErrorNotifier( &sDefaultErrorNotifier ); 18 | 19 | pIErrorNotifier IErrorNotifier_I::GetErrorNotifier() { 20 | return sErrorNotifier; 21 | } 22 | 23 | pIErrorNotifier IErrorNotifier_I::SetErrorNotifier( pIErrorNotifier ErrorNotifier ) { 24 | pIErrorNotifier old = sErrorNotifier; 25 | if ( ErrorNotifier ) sErrorNotifier = ErrorNotifier; 26 | else sErrorNotifier = &sDefaultErrorNotifier; 27 | return old; 28 | } 29 | 30 | } 31 | -------------------------------------------------------------------------------- /XMPCommon/source/IMemoryAllocator_I.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2015 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/Interfaces/IMemoryAllocator_I.h" 11 | #include "XMPCommon/ImplHeaders/MemoryAllocatorWrapperImpl.h" 12 | 13 | 14 | namespace XMP_COMPONENT_INT_NAMESPACE { 15 | 16 | static MemoryAllocatorWrapperImpl sDefaultMemoryAllocator; 17 | 18 | pIMemoryAllocator IMemoryAllocator_I::GetMemoryAllocator() __NOTHROW__ { 19 | return &sDefaultMemoryAllocator; 20 | } 21 | 22 | pIMemoryAllocator IMemoryAllocator_I::SetMemoryAllocator( pIMemoryAllocator_base memoryAllocator ) __NOTHROW__ { 23 | return sDefaultMemoryAllocator.SetMemoryAllocator( memoryAllocator ); 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /XMPCommon/source/IUTF8StringComparator.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2015 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/Utilities/IUTF8StringComparator.h" 11 | #include "XMPCommon/Interfaces/IUTF8String.h" 12 | #include 13 | #include 14 | namespace XMP_COMPONENT_INT_NAMESPACE { 15 | 16 | bool IUTF8StringComparator::operator()( const spcIUTF8String & left, const spcIUTF8String & right ) const { 17 | sizet str1Size = left->size(), str2Size = right->size(); 18 | int result = strncmp( left->c_str(), right->c_str(), std::min( str1Size, str2Size ) ); 19 | if ( result == 0 && str1Size != str2Size ) 20 | return str1Size < str2Size; 21 | if ( result < 0 ) 22 | return true; 23 | return false; 24 | } 25 | 26 | } 27 | -------------------------------------------------------------------------------- /XMPCommon/source/SharedMutexImpl.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2014 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #define IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 1 11 | #include "XMPCommon/ImplHeaders/SharedMutexImpl.h" 12 | #undef IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 13 | 14 | #include "XMPCommon/Utilities/TSmartPointers_I.h" 15 | 16 | namespace XMP_COMPONENT_INT_NAMESPACE { 17 | 18 | eMultiThreadingErrorCode SharedMutexImpl::Lock() __NOTHROW__ { 19 | return kMTECNone; 20 | } 21 | 22 | eMultiThreadingErrorCode SharedMutexImpl::TryLock() __NOTHROW__ { 23 | return kMTECNone; 24 | } 25 | 26 | eMultiThreadingErrorCode SharedMutexImpl::Unlock() __NOTHROW__ { 27 | return kMTECNone; 28 | } 29 | 30 | eMultiThreadingErrorCode SharedMutexImpl::LockShared() __NOTHROW__ { 31 | return kMTECNone; 32 | } 33 | 34 | eMultiThreadingErrorCode SharedMutexImpl::TryLockShared() __NOTHROW__ { 35 | return kMTECNone; 36 | } 37 | 38 | eMultiThreadingErrorCode SharedMutexImpl::UnlockShared() __NOTHROW__ { 39 | return kMTECNone; 40 | } 41 | 42 | spISharedMutex ISharedMutex::CreateSharedMutex() { 43 | return MakeUncheckedSharedPointer( new SharedMutexImpl(), __FILE__, __LINE__ ); 44 | } 45 | } 46 | 47 | -------------------------------------------------------------------------------- /XMPCommon/source/SharedObjectImpl.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2014 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #define IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 1 11 | #include "XMPCommon/ImplHeaders/SharedObjectImpl.h" 12 | #undef IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 13 | #include 14 | 15 | namespace XMP_COMPONENT_INT_NAMESPACE { 16 | 17 | void APICALL SharedObjectImpl::Acquire() const __NOTHROW__ { 18 | if ( mCountInternal != 0 ) { 19 | --mCountInternal; 20 | } else { 21 | ++mRefCount; 22 | } 23 | } 24 | 25 | void APICALL SharedObjectImpl::Release() const __NOTHROW__ { 26 | if ( mRefCount.load( ) == 0 || --mRefCount == 0 ) { 27 | delete this; 28 | } 29 | } 30 | 31 | SharedObjectImpl::~SharedObjectImpl() __NOTHROW__ { 32 | assert( mRefCount == 0 ); 33 | } 34 | 35 | void APICALL SharedObjectImpl::AcquireInternal() const __NOTHROW__ { 36 | ++mCountInternal; 37 | ++mRefCount; 38 | } 39 | 40 | } 41 | -------------------------------------------------------------------------------- /XMPCommon/source/ThreadSafeImpl.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2015 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #define IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 1 11 | #include "XMPCommon/ImplHeaders/ThreadSafeImpl.h" 12 | #undef IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED 13 | 14 | #include "XMPCommon/Interfaces/IError_I.h" 15 | #include "XMPCommon/Interfaces/ISharedMutex.h" 16 | 17 | namespace XMP_COMPONENT_INT_NAMESPACE { 18 | 19 | // All virtual functions 20 | 21 | // All static functions of _I class. 22 | 23 | void APICALL ThreadSafeImpl::ShareMutex( const spISharedMutex & mutex ) { 24 | mSharedMutex = mutex; 25 | } 26 | 27 | void APICALL ThreadSafeImpl::UnShareMutex() { 28 | if ( mSharedMutex ) { 29 | mSharedMutex = ISharedMutex::CreateSharedMutex(); 30 | } else { 31 | mSharedMutex.reset(); 32 | } 33 | } 34 | 35 | void APICALL ThreadSafeImpl::EnableThreadSafety() const __NOTHROW__ { 36 | if ( !mSharedMutex ) { 37 | mSharedMutex = ISharedMutex::CreateSharedMutex(); 38 | } 39 | } 40 | 41 | void APICALL ThreadSafeImpl::DisableThreadSafety() const __NOTHROW__ { 42 | if ( mSharedMutex ) 43 | mSharedMutex.reset(); 44 | } 45 | 46 | bool APICALL ThreadSafeImpl::IsThreadSafe() const { 47 | if ( mSharedMutex ) return true; 48 | return false; 49 | } 50 | 51 | } 52 | -------------------------------------------------------------------------------- /XMPCommon/source/XMPCommon.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2014 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/XMPCommon_I.h" 11 | #include "XMPCommon/Interfaces/IMemoryAllocator_I.h" 12 | 13 | namespace XMP_COMPONENT_INT_NAMESPACE { 14 | 15 | void InitializeXMPCommonFramework() { 16 | IMemoryAllocator_I::SetMemoryAllocator( NULL ); 17 | } 18 | 19 | void TerminateXMPCommonFramework() { 20 | IMemoryAllocator_I::SetMemoryAllocator( NULL ); 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/ClientDOMParserWrapperImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef ClientDOMParserWrapperImpl_h__ 2 | #define ClientDOMParserWrapperImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/ImplHeaders/DOMParserImpl.h" 19 | 20 | #if XMP_WinBuild 21 | #pragma warning( push ) 22 | #pragma warning( disable : 4250 ) 23 | #endif 24 | 25 | namespace AdobeXMPCore_Int { 26 | 27 | class ClientDOMParserWrapperImpl 28 | : public virtual DOMParserImpl 29 | { 30 | public: 31 | ClientDOMParserWrapperImpl( pIClientDOMParser_base parser ); 32 | 33 | virtual spINode APICALL ParseAsNode( const char * buffer, sizet bufferLength ); 34 | virtual eConfigurableErrorCode APICALL ValidateValue( const uint64 & key, eDataType type, const CombinedDataValue & value ) const; 35 | virtual DOMParserImpl * APICALL clone() const; 36 | 37 | protected: 38 | virtual ~ClientDOMParserWrapperImpl() __NOTHROW__ ; 39 | 40 | pIClientDOMParser_base mpClientParser; 41 | 42 | }; 43 | } 44 | 45 | #if XMP_WinBuild 46 | #pragma warning( pop ) 47 | #endif 48 | 49 | #endif // ClientDOMParserWrapperImpl_h__ 50 | 51 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/ClientDOMSerializerWrapperImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef ClientDOMSerializerWrapperImpl_h__ 2 | #define ClientDOMSerializerWrapperImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/ImplHeaders/DOMSerializerImpl.h" 19 | 20 | #if XMP_WinBuild 21 | #pragma warning( push ) 22 | #pragma warning( disable : 4250 ) 23 | #endif 24 | 25 | namespace AdobeXMPCore_Int { 26 | 27 | class ClientDOMSerializerWrapperImpl 28 | : public virtual DOMSerializerImpl 29 | { 30 | public: 31 | ClientDOMSerializerWrapperImpl( pIClientDOMSerializer serializer ); 32 | virtual spIUTF8String APICALL Serialize( const spINode & node, const spcINameSpacePrefixMap & map ); 33 | virtual eConfigurableErrorCode APICALL ValidateValue( const uint64 & key, eDataType type, const CombinedDataValue & value ) const; 34 | spIUTF8String APICALL SerializeInternal(const spINode & node, XMP_OptionBits options, sizet padding, const char * newline, const char * indent, sizet baseIndent, const spcINameSpacePrefixMap & nameSpacePrefixMap) const; 35 | 36 | protected: 37 | virtual ~ClientDOMSerializerWrapperImpl() __NOTHROW__ ; 38 | virtual DOMSerializerImpl * APICALL clone() const; 39 | 40 | pIClientDOMSerializer mpSerializer; 41 | 42 | }; 43 | } 44 | 45 | #if XMP_WinBuild 46 | #pragma warning( pop ) 47 | #endif 48 | 49 | #endif // ClientDOMSerializerWrapperImpl_h__ 50 | 51 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/CompositeNodeImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef CompositeNodeImpl_h__ 2 | #define CompositeNodeImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/Interfaces/ICompositeNode_I.h" 19 | #include "XMPCore/ImplHeaders/NodeImpl.h" 20 | 21 | #if XMP_WinBuild 22 | #pragma warning( push ) 23 | #pragma warning( disable : 4250 ) 24 | #endif 25 | 26 | namespace AdobeXMPCore_Int { 27 | 28 | class CompositeNodeImpl 29 | : public virtual ICompositeNode_I 30 | , public virtual NodeImpl 31 | { 32 | public: 33 | CompositeNodeImpl() {} 34 | 35 | virtual eNodeType APICALL GetNodeTypeAtPath( const spcIPath & path ) const; 36 | virtual spINode APICALL GetNodeAtPath( const spcIPath & path ); 37 | virtual void APICALL InsertNodeAtPath( const spINode & node, const spcIPath & path ); 38 | virtual spINode APICALL ReplaceNodeAtPath( const spINode & node, const spcIPath & path ); 39 | virtual spINode APICALL RemoveNodeAtPath( const spcIPath & path ); 40 | virtual bool CheckSuitabilityToBeUsedAsChildNode( const spcINode & node ) const; 41 | 42 | protected: 43 | virtual ~CompositeNodeImpl() __NOTHROW__ {} 44 | 45 | #ifdef FRIEND_CLASS_DECLARATION 46 | FRIEND_CLASS_DECLARATION(); 47 | #endif 48 | REQ_FRIEND_CLASS_DECLARATION(); 49 | }; 50 | } 51 | 52 | #if XMP_WinBuild 53 | #pragma warning( pop ) 54 | #endif 55 | 56 | #endif // CompositeNodeImpl_h__ 57 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/CoreConfigurationManagerImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef CoreConfigurationManagerImpl_h__ 2 | #define CoreConfigurationManagerImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/Interfaces/ICoreConfigurationManager_I.h" 19 | #include "XMPCommon/ImplHeaders/ConfigurationManagerImpl.h" 20 | 21 | #if XMP_WinBuild 22 | #pragma warning( push ) 23 | #pragma warning( disable : 4250 ) 24 | #endif 25 | 26 | namespace AdobeXMPCore_Int { 27 | 28 | class CoreConfigurationManagerImpl 29 | : public virtual ICoreConfigurationManager_I 30 | , public virtual ConfigurationManagerImpl 31 | { 32 | public: 33 | CoreConfigurationManagerImpl(); 34 | 35 | 36 | protected: 37 | virtual ~CoreConfigurationManagerImpl() __NOTHROW__ {} 38 | 39 | #ifdef FRIEND_CLASS_DECLARATION 40 | FRIEND_CLASS_DECLARATION(); 41 | #endif 42 | REQ_FRIEND_CLASS_DECLARATION(); 43 | }; 44 | } 45 | 46 | #if XMP_WinBuild 47 | #pragma warning( pop ) 48 | #endif 49 | #endif // CoreConfigurationManagerImpl_h__ 50 | 51 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/DOMSerializerImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef DOMSerializerImpl_h__ 2 | #define DOMSerializerImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/Interfaces/IDOMSerializer_I.h" 19 | #include "XMPCommon/BaseClasses/MemoryManagedObject.h" 20 | #include "XMPCommon/ImplHeaders/SharedObjectImpl.h" 21 | #include "XMPCommon/ImplHeaders/ConfigurableImpl.h" 22 | 23 | #if XMP_WinBuild 24 | #pragma warning( push ) 25 | #pragma warning( disable : 4250 ) 26 | #endif 27 | 28 | namespace AdobeXMPCore_Int { 29 | 30 | class DOMSerializerImpl 31 | : public virtual IDOMSerializer_I 32 | , public virtual ConfigurableImpl 33 | , public virtual SharedObjectImpl 34 | , public virtual MemoryManagedObject 35 | { 36 | public: 37 | DOMSerializerImpl(); 38 | 39 | virtual spISharedMutex APICALL GetMutex() const; 40 | virtual spIDOMSerializer APICALL Clone() const; 41 | virtual spIUTF8String APICALL SerializeInternal(const spINode & node, XMP_OptionBits options, sizet padding, const char * newline, const char * indent, sizet baseIndent, const spcINameSpacePrefixMap & nameSpacePrefixMap) const = 0; 42 | 43 | protected: 44 | virtual ~DOMSerializerImpl() __NOTHROW__ {} 45 | using IDOMSerializer_I::clone; 46 | virtual DOMSerializerImpl * APICALL clone() const = 0; 47 | 48 | spISharedMutex mSharedMutex; 49 | 50 | #ifdef FRIEND_CLASS_DECLARATION 51 | FRIEND_CLASS_DECLARATION(); 52 | #endif 53 | REQ_FRIEND_CLASS_DECLARATION(); 54 | }; 55 | } 56 | 57 | #if XMP_WinBuild 58 | #pragma warning( pop ) 59 | #endif 60 | #endif // DOMSerializerImpl_h__ 61 | 62 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/RDFDOMParserImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef RDFDOMParserImpl_h__ 2 | #define RDFDOMParserImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/ImplHeaders/DOMParserImpl.h" 19 | #include "XMPCore/source/XMPMeta.hpp" 20 | 21 | #if XMP_WinBuild 22 | #pragma warning( push ) 23 | #pragma warning( disable : 4250 ) 24 | #endif 25 | 26 | namespace AdobeXMPCore_Int { 27 | 28 | class RDFDOMParserImpl 29 | : public virtual DOMParserImpl 30 | { 31 | public: 32 | RDFDOMParserImpl() { 33 | mGenericErrorCallbackPtr = NULL; 34 | } 35 | virtual spINode APICALL ParseAsNode( const char * buffer, sizet bufferLength ); 36 | 37 | virtual eConfigurableErrorCode APICALL ValidateValue( const uint64 & key, eDataType type, const CombinedDataValue & value ) const; 38 | void InitializeDefaultValues(); 39 | void SetErrorCallback(XMPMeta::ErrorCallbackInfo * ec); 40 | protected: 41 | virtual ~RDFDOMParserImpl() __NOTHROW__ {} 42 | virtual DOMParserImpl * APICALL clone() const; 43 | 44 | private: 45 | XMPMeta::ErrorCallbackInfo * mGenericErrorCallbackPtr; 46 | 47 | #ifdef FRIEND_CLASS_DECLARATION 48 | FRIEND_CLASS_DECLARATION(); 49 | #endif 50 | REQ_FRIEND_CLASS_DECLARATION(); 51 | }; 52 | } 53 | 54 | #endif // RDFDOMParserImpl_h__ 55 | -------------------------------------------------------------------------------- /XMPCore/ImplHeaders/RDFDOMSerializerImpl.h: -------------------------------------------------------------------------------- 1 | #ifndef RDFDOMSerializerImpl_h__ 2 | #define RDFDOMSerializerImpl_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 | #if !(IMPLEMENTATION_HEADERS_CAN_BE_INCLUDED) 14 | #error "Not adhering to design constraints" 15 | // this file should only be included from its own cpp file 16 | #endif 17 | 18 | #include "XMPCore/ImplHeaders/DOMSerializerImpl.h" 19 | 20 | #if XMP_WinBuild 21 | #pragma warning( push ) 22 | #pragma warning( disable : 4250 ) 23 | #endif 24 | 25 | namespace AdobeXMPCore_Int { 26 | 27 | class RDFDOMSerializerImpl 28 | : public virtual DOMSerializerImpl 29 | { 30 | public: 31 | RDFDOMSerializerImpl() {} 32 | virtual spIUTF8String APICALL Serialize( const spINode & node, const spcINameSpacePrefixMap & nameSpacePrefixMap ); 33 | virtual eConfigurableErrorCode APICALL ValidateValue( const uint64 & key, eDataType type, const CombinedDataValue & value ) const; 34 | virtual spIUTF8String APICALL SerializeInternal(const spINode & node, XMP_OptionBits options, sizet padding, const char * newline, const char * indent, sizet baseIndent, const spcINameSpacePrefixMap & nameSpacePrefixMap) const; 35 | void InitializeDefaultValues(); 36 | 37 | protected: 38 | virtual ~RDFDOMSerializerImpl() __NOTHROW__ {} 39 | virtual DOMSerializerImpl * APICALL clone() const; 40 | 41 | 42 | #ifdef FRIEND_CLASS_DECLARATION 43 | FRIEND_CLASS_DECLARATION(); 44 | #endif 45 | REQ_FRIEND_CLASS_DECLARATION(); 46 | }; 47 | } 48 | 49 | #if XMP_WinBuild 50 | #pragma warning( pop ) 51 | #endif 52 | 53 | #endif // RDFDOMSerializerImpl_h__ 54 | -------------------------------------------------------------------------------- /XMPCore/Interfaces/IXMPLanguageAlternative_I.h: -------------------------------------------------------------------------------- 1 | #ifndef __IXMPLanguageAlternative_I_h__ 2 | #define __IXMPLanguageAlternative_I_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/XMPCore_Defines.h" 14 | #include "XMPCommon/XMPCommonFwdDeclarations.h" 15 | 16 | #include "XMPCore/Interfaces/IXMPStructNode.h" 17 | #include "XMPCore/Interfaces/IXMPLanguageAlternative.h" 18 | 19 | namespace AdobeXMPCore_Int{ 20 | 21 | class IXMPLanguageAlternative 22 | : public virtual IXMPLanguageAlternative_latest 23 | { 24 | 25 | 26 | 27 | }; 28 | }; 29 | 30 | #endif // __IXMPLanguageAlternative_I_h__ 31 | -------------------------------------------------------------------------------- /XMPCore/XMPCoreDefines_I.h: -------------------------------------------------------------------------------- 1 | #ifndef XMPCoreDefines_I_h__ 2 | #define XMPCoreDefines_I_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 | // All Platform Settings 14 | // =========================== 15 | #include "XMPCore/XMPCoreDefines.h" 16 | #include "XMPCommon/XMPCommonDefines_I.h" 17 | 18 | namespace AdobeXMPCore_Int { 19 | extern const char * kArrayItemName; 20 | extern const char * kArrayItemNameSpace; 21 | } 22 | 23 | // ================================================================================================= 24 | // Macintosh Specific Settings 25 | // =========================== 26 | 27 | // ================================================================================================= 28 | // Windows Specific Settings 29 | // ========================= 30 | 31 | // ================================================================================================= 32 | // UNIX Specific Settings 33 | // ====================== 34 | 35 | // ================================================================================================= 36 | // IOS Specific Settings 37 | // =========================== 38 | 39 | #endif // XMPCoreDefines_I_h__ 40 | -------------------------------------------------------------------------------- /XMPCore/resource/ios/XMPCore.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleExecutable 6 | XMPCore 7 | CFBundleIdentifier 8 | com.xmp.XMPCore 9 | CFBundleName 10 | XMPCore 11 | CFBundleGetInfoString 12 | XMP Core kBasicVersion, kXMP_Copyright 13 | CFBundleShortVersionString 14 | XMP Core kBasicVersion 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | XMP 19 | Configuration 20 | kConfig 21 | FileVersion 22 | kBasicVersion 23 | ProductName 24 | XMP Core 25 | ProductVersion 26 | XMPCORE_API_VERSION 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPCore/resource/ios/XMPCorePList.h: -------------------------------------------------------------------------------- 1 | #include "../../../public/include/XMP_Version.h" 2 | #include "../../../build/XMP_BuildInfo.h" 3 | 4 | #if NDEBUG // Can't use XMP_Environment.h, it seems to mess up the PList compiler. 5 | #define kConfig Release 6 | #define kDebugSuffix 7 | #define kBasicVersion XMPCORE_API_VERSION 8 | #else 9 | #define kConfig Debug 10 | #define kDebugSuffix (debug) 11 | #define kBasicVersion XMPCORE_API_VERSION kDebugSuffix 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /XMPCore/resource/mac/XMPCore.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleExecutable 6 | XMPCore 7 | CFBundleIdentifier 8 | com.xmp.XMPCore 9 | CFBundleName 10 | XMPCore 11 | CFBundleGetInfoString 12 | XMP Core kBasicVersion, kXMP_Copyright 13 | CFBundleShortVersionString 14 | XMP Core kBasicVersion 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | XMP 19 | Configuration 20 | kConfig 21 | FileVersion 22 | kBasicVersion 23 | ProductName 24 | XMP Core 25 | ProductVersion 26 | XMPCORE_API_VERSION 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPCore/resource/mac/XMPCore.unexp: -------------------------------------------------------------------------------- 1 | __Znwm 2 | __Znwm.eh 3 | __ZnwmRKSt9nothrow_t 4 | __ZnwmRKSt9nothrow_t.eh 5 | __ZdlPv 6 | __ZdlPv.eh 7 | __ZdlPvRKSt9nothrow_t 8 | __ZdlPvRKSt9nothrow_t.eh 9 | __Znam 10 | __Znam.eh 11 | __ZnamRKSt9nothrow_t 12 | __ZnamRKSt9nothrow_t.eh 13 | __ZdaPv 14 | __ZdaPv.eh 15 | __ZdaPvRKSt9nothrow_t 16 | __ZdaPvRKSt9nothrow_t.eh 17 | -------------------------------------------------------------------------------- /XMPCore/resource/mac/XMPCorePList.h: -------------------------------------------------------------------------------- 1 | #include "../../../public/include/XMP_Version.h" 2 | #include "../../../build/XMP_BuildInfo.h" 3 | 4 | #if NDEBUG // Can't use XMP_Environment.h, it seems to mess up the PList compiler. 5 | #define kConfig Release 6 | #define kDebugSuffix 7 | #define kBasicVersion XMPCORE_API_VERSION 8 | #else 9 | #define kConfig Debug 10 | #define kDebugSuffix (debug) 11 | #define kBasicVersion XMPCORE_API_VERSION kDebugSuffix 12 | #endif 13 | 14 | -------------------------------------------------------------------------------- /XMPCore/resource/win/XMPCore.rc: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright 2002-2008 Adobe Systems Incorporated 3 | // All Rights Reserved. 4 | // 5 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 6 | // of the Adobe license agreement accompanying it. 7 | // ================================================================================================= 8 | 9 | #include "winres.h" // ! Needed to create the Version tab in the Properties panel. 10 | 11 | #include "../../../build/XMP_BuildInfo.h" 12 | #include "../../../public/include/XMP_Version.h" 13 | 14 | // Defines must be set in project settings: Resources/Preprocessor Definitions 15 | #if DEBUG 16 | #define kConfig "Debug" 17 | #define kDebugSuffix "debug " 18 | #else 19 | #define kConfig "Release" 20 | #define kDebugSuffix "" 21 | #endif 22 | 23 | #if _WIN64 24 | #define BINTYPE "64" 25 | #else 26 | #define BINTYPE "32" 27 | #endif 28 | 29 | #define kEngVersion XMPCORE_API_VERSION_STRING " ( " BINTYPE " bit " kDebugSuffix ")" 30 | 31 | VS_VERSION_INFO VERSIONINFO 32 | FILEVERSION XMPCORE_API_VERSION_MAJOR,XMPCORE_API_VERSION_MINOR 33 | PRODUCTVERSION XMPCORE_API_VERSION_MAJOR,XMPCORE_API_VERSION_MINOR 34 | FILEFLAGSMASK 0x3FL 35 | FILEOS 0x4L 36 | FILETYPE 0x2L 37 | FILESUBTYPE 0x0L 38 | BEGIN 39 | BLOCK "StringFileInfo" 40 | BEGIN 41 | BLOCK "080004b0" 42 | BEGIN 43 | VALUE "Configuration", kConfig "\0" 44 | VALUE "FileDescription", "XMP Core " kEngVersion "\0" 45 | VALUE "FileVersion", kEngVersion "\0" 46 | VALUE "InternalName", "XMPCore\0" 47 | VALUE "LegalCopyright", kXMP_CopyrightStr "\0" 48 | VALUE "OriginalFilename", "XMPCore.dll\0" 49 | VALUE "ProductName", "XMP Core\0" 50 | VALUE "ProductVersion", XMPCORE_API_VERSION_STRING "\0" 51 | VALUE "BinType", BINTYPE "\0" 52 | END 53 | END 54 | BLOCK "VarFileInfo" 55 | BEGIN 56 | VALUE "Translation", 0x800, 1200 57 | END 58 | END 59 | -------------------------------------------------------------------------------- /XMPFiles/resource/android/XMPFiles.exp: -------------------------------------------------------------------------------- 1 | VERSION { 2 | global: 3 | 4 | WXMPFiles_Initialize_1; 5 | WXMPFiles_Initialize_2; 6 | WXMPFiles_Terminate_1; 7 | WXMPFiles_CTor_1; 8 | WXMPFiles_IncrementRefCount_1; 9 | WXMPFiles_DecrementRefCount_1; 10 | WXMPFiles_GetVersionInfo_1; 11 | WXMPFiles_GetFormatInfo_1; 12 | WXMPFiles_CheckFileFormat_1; 13 | WXMPFiles_CheckPackageFormat_1; 14 | WXMPFiles_GetFileModDate_1; 15 | WXMPFiles_OpenFile_1; 16 | WXMPFiles_CloseFile_1; 17 | WXMPFiles_GetFileInfo_1; 18 | WXMPFiles_SetAbortProc_1; 19 | WXMPFiles_GetXMP_1; 20 | WXMPFiles_PutXMP_1; 21 | WXMPFiles_CanPutXMP_1; 22 | WXMPFiles_SetDefaultProgressCallback_1; 23 | WXMPFiles_SetProgressCallback_1; 24 | WXMPFiles_SetDefaultErrorCallback_1; 25 | WXMPFiles_SetErrorCallback_1; 26 | WXMPFiles_ResetErrorCallbackLimit_1; 27 | WXMPFiles_GetAssociatedResources_1; 28 | WXMPFiles_IsMetadataWritable_1; 29 | 30 | local: 31 | 32 | *; 33 | 34 | }; 35 | -------------------------------------------------------------------------------- /XMPFiles/resource/ios/XMPFiles.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleExecutable 6 | XMPFiles 7 | CFBundleIdentifier 8 | com.xmp.XMPFiles 9 | CFBundleName 10 | XMPFiles 11 | CFBundleGetInfoString 12 | XMP Files kBasicVersion, kXMP_Copyright 13 | CFBundleShortVersionString 14 | XMP Files kBasicVersion 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | XMP 19 | Configuration 20 | kConfig 21 | FileVersion 22 | kBasicVersion 23 | ProductName 24 | XMP Files 25 | ProductVersion 26 | XMPFILES_API_VERSION 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPFiles/resource/ios/XMPFilesPList.h: -------------------------------------------------------------------------------- 1 | #include "../../../public/include/XMP_Version.h" 2 | #include "../../../build/XMP_BuildInfo.h" 3 | 4 | #if NDEBUG // Can't use XMP_Environment.h, it seems to mess up the PList compiler. 5 | #define kConfig Release 6 | #define kDebugSuffix 7 | #define kBasicVersion XMPFILES_API_VERSION 8 | #else 9 | #define kConfig Debug 10 | #if IncludeNewHandlers 11 | #define kDebugSuffix (debug/NewHandlers) 12 | #else 13 | #define kDebugSuffix (debug) 14 | #endif 15 | #define kBasicVersion XMPFILES_API_VERSION kDebugSuffix 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /XMPFiles/resource/linux/XMPFiles.exp: -------------------------------------------------------------------------------- 1 | VERSION { 2 | global: 3 | 4 | WXMPFiles_Initialize_1; 5 | WXMPFiles_Initialize_2; 6 | WXMPFiles_Terminate_1; 7 | WXMPFiles_CTor_1; 8 | WXMPFiles_IncrementRefCount_1; 9 | WXMPFiles_DecrementRefCount_1; 10 | WXMPFiles_GetVersionInfo_1; 11 | WXMPFiles_GetFormatInfo_1; 12 | WXMPFiles_CheckFileFormat_1; 13 | WXMPFiles_CheckPackageFormat_1; 14 | WXMPFiles_GetFileModDate_1; 15 | WXMPFiles_OpenFile_1; 16 | WXMPFiles_CloseFile_1; 17 | WXMPFiles_GetFileInfo_1; 18 | WXMPFiles_SetAbortProc_1; 19 | WXMPFiles_GetXMP_1; 20 | WXMPFiles_PutXMP_1; 21 | WXMPFiles_CanPutXMP_1; 22 | WXMPFiles_SetDefaultProgressCallback_1; 23 | WXMPFiles_SetProgressCallback_1; 24 | WXMPFiles_SetDefaultErrorCallback_1; 25 | WXMPFiles_SetErrorCallback_1; 26 | WXMPFiles_ResetErrorCallbackLimit_1; 27 | WXMPFiles_GetAssociatedResources_1; 28 | WXMPFiles_IsMetadataWritable_1; 29 | 30 | local: 31 | 32 | *; 33 | 34 | }; 35 | -------------------------------------------------------------------------------- /XMPFiles/resource/mac/XMPFiles.exp: -------------------------------------------------------------------------------- 1 | _WXMPFiles_Initialize_1 2 | _WXMPFiles_Initialize_2 3 | _WXMPFiles_Terminate_1 4 | _WXMPFiles_CTor_1 5 | _WXMPFiles_IncrementRefCount_1 6 | _WXMPFiles_DecrementRefCount_1 7 | _WXMPFiles_GetVersionInfo_1 8 | _WXMPFiles_GetFormatInfo_1 9 | _WXMPFiles_CheckFileFormat_1 10 | _WXMPFiles_CheckPackageFormat_1 11 | _WXMPFiles_GetFileModDate_1 12 | _WXMPFiles_OpenFile_1 13 | _WXMPFiles_CloseFile_1 14 | _WXMPFiles_GetFileInfo_1 15 | _WXMPFiles_SetAbortProc_1 16 | _WXMPFiles_GetXMP_1 17 | _WXMPFiles_PutXMP_1 18 | _WXMPFiles_CanPutXMP_1 19 | _WXMPFiles_SetDefaultProgressCallback_1 20 | _WXMPFiles_SetProgressCallback_1 21 | _WXMPFiles_SetDefaultErrorCallback_1 22 | _WXMPFiles_SetErrorCallback_1 23 | _WXMPFiles_ResetErrorCallbackLimit_1 24 | _WXMPFiles_GetAssociatedResources_1 25 | _WXMPFiles_IsMetadataWritable_1 26 | -------------------------------------------------------------------------------- /XMPFiles/resource/mac/XMPFiles.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleExecutable 6 | XMPFiles 7 | CFBundleIdentifier 8 | com.xmp.XMPFiles 9 | CFBundleName 10 | XMPFiles 11 | CFBundleGetInfoString 12 | XMP Files kBasicVersion, kXMP_Copyright 13 | CFBundleShortVersionString 14 | XMP Files kBasicVersion 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | XMP 19 | Configuration 20 | kConfig 21 | FileVersion 22 | kBasicVersion 23 | ProductName 24 | XMP Files 25 | ProductVersion 26 | XMPFILES_API_VERSION 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPFiles/resource/mac/XMPFilesPList.h: -------------------------------------------------------------------------------- 1 | #include "../../../public/include/XMP_Version.h" 2 | #include "../../../build/XMP_BuildInfo.h" 3 | 4 | #if NDEBUG // Can't use XMP_Environment.h, it seems to mess up the PList compiler. 5 | #define kConfig Release 6 | #define kDebugSuffix 7 | #define kBasicVersion XMPFILES_API_VERSION 8 | #else 9 | #define kConfig Debug 10 | #if IncludeNewHandlers 11 | #define kDebugSuffix (debug/NewHandlers) 12 | #else 13 | #define kDebugSuffix (debug) 14 | #endif 15 | #define kBasicVersion XMPFILES_API_VERSION kDebugSuffix 16 | #endif 17 | 18 | -------------------------------------------------------------------------------- /XMPFiles/resource/win/XMPFiles.def: -------------------------------------------------------------------------------- 1 | ; Declares the entry points for the DLL. 2 | ; Highest index: 25, WXMPFiles_IsMetadataWritable_1 3 | 4 | LIBRARY XMPFiles 5 | 6 | EXPORTS 7 | 8 | WXMPFiles_Initialize_1 @1 9 | WXMPFiles_Initialize_2 @17 10 | WXMPFiles_Terminate_1 @2 11 | 12 | WXMPFiles_CTor_1 @3 13 | WXMPFiles_IncrementRefCount_1 @4 14 | WXMPFiles_DecrementRefCount_1 @5 15 | 16 | WXMPFiles_GetVersionInfo_1 @6 17 | WXMPFiles_GetFormatInfo_1 @7 18 | WXMPFiles_GetFileModDate_1 @18 19 | 20 | WXMPFiles_OpenFile_1 @8 21 | WXMPFiles_CloseFile_1 @9 22 | WXMPFiles_GetFileInfo_1 @10 23 | WXMPFiles_SetAbortProc_1 @11 24 | WXMPFiles_GetXMP_1 @12 25 | WXMPFiles_PutXMP_1 @13 26 | WXMPFiles_CanPutXMP_1 @14 27 | 28 | WXMPFiles_CheckFileFormat_1 @15 29 | WXMPFiles_CheckPackageFormat_1 @16 30 | 31 | WXMPFiles_SetDefaultProgressCallback_1 @19 32 | WXMPFiles_SetProgressCallback_1 @20 33 | WXMPFiles_SetDefaultErrorCallback_1 @21 34 | WXMPFiles_SetErrorCallback_1 @22 35 | WXMPFiles_ResetErrorCallbackLimit_1 @23 36 | 37 | WXMPFiles_GetAssociatedResources_1 @24 38 | WXMPFiles_IsMetadataWritable_1 @25 39 | -------------------------------------------------------------------------------- /XMPFiles/source/FileHandlers/Scanner_Handler.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __Scanner_Handler_hpp__ 2 | #define __Scanner_Handler_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright Adobe 6 | // Copyright 2004 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 "XMPFiles/source/FileHandlers/Trivial_Handler.hpp" 14 | 15 | // ================================================================================================= 16 | /// \file Scanner_Handler.hpp 17 | /// \brief File format handler for packet scanning. 18 | /// 19 | /// This header ... 20 | /// 21 | // ================================================================================================= 22 | 23 | extern XMPFileHandler * Scanner_MetaHandlerCTor ( XMPFiles * parent ); 24 | 25 | static const XMP_OptionBits kScanner_HandlerFlags = kTrivial_HandlerFlags; 26 | 27 | class Scanner_MetaHandler : public Trivial_MetaHandler 28 | { 29 | public: 30 | 31 | Scanner_MetaHandler () {}; 32 | Scanner_MetaHandler ( XMPFiles * parent ); 33 | 34 | ~Scanner_MetaHandler(); 35 | 36 | void CacheFileData(); 37 | 38 | }; // Scanner_MetaHandler 39 | 40 | // ================================================================================================= 41 | 42 | #endif /* __Scanner_Handler_hpp__ */ 43 | -------------------------------------------------------------------------------- /XMPFiles/source/FileHandlers/Trivial_Handler.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __Trivial_Handler_hpp__ 2 | #define __Trivial_Handler_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright Adobe 6 | // Copyright 2004 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 "XMPFiles/source/XMPFiles_Impl.hpp" 14 | 15 | // ================================================================================================= 16 | /// \file Trivial_Handler.hpp 17 | /// \brief Base class for trivial handlers that only process in-place XMP. 18 | /// 19 | /// This header ... 20 | /// 21 | /// \note There is no general promise here about crash-safe I/O. An update to an existing file might 22 | /// have invalid partial state while rewriting existing XMP in-place. Crash-safe updates are managed 23 | /// at a higher level of XMPFiles, using a temporary file and final swap of file content. 24 | /// 25 | // ================================================================================================= 26 | 27 | static const XMP_OptionBits kTrivial_HandlerFlags = ( kXMPFiles_AllowsOnlyXMP | 28 | kXMPFiles_ReturnsRawPacket | 29 | kXMPFiles_AllowsSafeUpdate ); 30 | 31 | class Trivial_MetaHandler : public XMPFileHandler 32 | { 33 | public: 34 | 35 | Trivial_MetaHandler() {}; 36 | ~Trivial_MetaHandler(); 37 | 38 | virtual void CacheFileData() = 0; 39 | 40 | void UpdateFile ( bool doSafeUpdate ); 41 | void WriteTempFile ( XMP_IO* tempRef ); 42 | 43 | }; // Trivial_MetaHandler 44 | 45 | // ================================================================================================= 46 | 47 | #endif /* __Trivial_Handler_hpp__ */ 48 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/AIFF/AIFFMetadata.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2010 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "public/include/XMP_Environment.h" // ! XMP_Environment.h must be the first included header. 11 | #include "public/include/XMP_Const.h" 12 | 13 | #include "XMPFiles/source/FormatSupport/AIFF/AIFFMetadata.h" 14 | 15 | using namespace IFF_RIFF; 16 | 17 | //----------------------------------------------------------------------------- 18 | // 19 | // AIFFMetadata::AIFFMetadata(...) 20 | // 21 | // Purpose: ctor/dtor 22 | // 23 | //----------------------------------------------------------------------------- 24 | 25 | AIFFMetadata::AIFFMetadata() 26 | { 27 | } 28 | 29 | AIFFMetadata::~AIFFMetadata() 30 | { 31 | } 32 | 33 | //----------------------------------------------------------------------------- 34 | // 35 | // AIFFMetadata::isEmptyValue(...) 36 | // 37 | // Purpose: Is the value of the passed ValueObject and its id "empty"? 38 | // 39 | //----------------------------------------------------------------------------- 40 | 41 | bool AIFFMetadata::isEmptyValue( XMP_Uns32 id, ValueObject& valueObj ) 42 | { 43 | TValueObject* strObj = dynamic_cast*>(&valueObj); 44 | 45 | return ( strObj == NULL || ( strObj != NULL && strObj->getValue().empty() ) ); 46 | } 47 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/AIFF/AIFFMetadata.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2010 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #ifndef _AIFFMetadata_h_ 11 | #define _AIFFMetadata_h_ 12 | 13 | #include "public/include/XMP_Environment.h" // ! XMP_Environment.h must be the first included header. 14 | 15 | #include "public/include/XMP_Const.h" 16 | #include "public/include/XMP_IO.hpp" 17 | 18 | #include "XMPFiles/source/XMPFiles_Impl.hpp" 19 | #include "source/XMPFiles_IO.hpp" 20 | 21 | #include "source/XMP_LibUtils.hpp" 22 | 23 | #include "XMPFiles/source/FormatSupport/IFF/IChunkData.h" 24 | #include "XMPFiles/source/NativeMetadataSupport/IMetadata.h" 25 | 26 | 27 | namespace IFF_RIFF 28 | { 29 | 30 | /** 31 | * AIFF Metadata model. 32 | * Implements the IMetadata interface 33 | */ 34 | class AIFFMetadata : public IMetadata 35 | { 36 | public: 37 | enum 38 | { 39 | kName, // std::string 40 | kAuthor, // std::string 41 | kCopyright, // std::string 42 | kAnnotation // std::string 43 | }; 44 | 45 | public: 46 | AIFFMetadata(); 47 | ~AIFFMetadata(); 48 | 49 | protected: 50 | /** 51 | * @see IMetadata::isEmptyValue 52 | */ 53 | virtual bool isEmptyValue( XMP_Uns32 id, ValueObject& valueObj ); 54 | 55 | private: 56 | // Operators hidden on purpose 57 | AIFFMetadata( const AIFFMetadata& ) {}; 58 | AIFFMetadata& operator=( const AIFFMetadata& ) { return *this; }; 59 | }; 60 | 61 | } // namespace 62 | 63 | #endif 64 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/AIFF/AIFFReconcile.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2010 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #ifndef _AIFFReconcile_h_ 11 | #define _AIFFReconcile_h_ 12 | 13 | #include "XMPFiles/source/NativeMetadataSupport/IReconcile.h" 14 | 15 | namespace IFF_RIFF 16 | { 17 | 18 | class AIFFReconcile : public IReconcile 19 | { 20 | public: 21 | ~AIFFReconcile() {}; 22 | 23 | /** 24 | * @see IReconcile::importToXMP 25 | * Legacy values are always imported. 26 | * If the values are not UTF-8 they will be converted to UTF-8 except in ServerMode 27 | */ 28 | XMP_Bool importToXMP( SXMPMeta& outXMP, const MetadataSet& inMetaData ); 29 | 30 | /** 31 | * @see IReconcile::exportFromXMP 32 | * XMP values are always exported to Legacy as UTF-8 encoded 33 | */ 34 | XMP_Bool exportFromXMP( MetadataSet& outMetaData, SXMPMeta& inXMP ); 35 | 36 | }; 37 | 38 | } 39 | 40 | #endif 41 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/PackageFormat_Support.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __PackageFormat_Support_hpp__ 2 | #define __PackageFormat_Support_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright Adobe 6 | // Copyright 2013 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 "public/include/XMP_Environment.h" // ! This must be the first include. 14 | 15 | #include "source/XMP_LibUtils.hpp" 16 | 17 | // ================================================================================================= 18 | /// \file PackageFormat_Support.hpp 19 | /// \brief XMPFiles support for folder based formats. 20 | /// 21 | // ================================================================================================= 22 | 23 | namespace PackageFormat_Support 24 | { 25 | 26 | // Checks if the file at path "file" exists. 27 | // If it exists then it adds to "resourceList" and returns true. 28 | bool AddResourceIfExists ( XMP_StringVector * resourceList, const XMP_VarString & file ); 29 | 30 | // This function adds all the existing files in the specified folder whose name starts with prefix and ends with postfix. 31 | bool AddResourceIfExists ( XMP_StringVector * resourceList, const XMP_VarString & folderPath, 32 | XMP_StringPtr prefix, XMP_StringPtr postfix); 33 | 34 | 35 | } // namespace PackageFormat_Support 36 | 37 | // ================================================================================================= 38 | 39 | #endif // __PackageFormat_Support_hpp__ 40 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/RIFF_Support.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __RIFF_Support_hpp__ 2 | #define __RIFF_Support_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright Adobe 6 | // Copyright 2009 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 "public/include/XMP_Environment.h" // ! This must be the first include. 14 | #include 15 | #include "XMPFiles/source/XMPFiles_Impl.hpp" 16 | 17 | // ahead declaration: 18 | class RIFF_MetaHandler; 19 | 20 | namespace RIFF { 21 | 22 | // declare ahead 23 | class Chunk; 24 | class ContainerChunk; 25 | class ValueChunk; 26 | class XMPChunk; 27 | 28 | /* This rountines imports the properties found into the 29 | xmp packet. Use after parsing. */ 30 | void importProperties( RIFF_MetaHandler* handler ); 31 | 32 | /* This rountines exports XMP properties to the respective Chunks, 33 | creating those if needed. No writing to file here. */ 34 | void exportAndRemoveProperties( RIFF_MetaHandler* handler ); 35 | 36 | /* will relocated a wrongly placed chunk (one of XMP, LIST:Info, LIST:Tdat= 37 | from RIFF::avix back to main chunk. Chunk itself not touched. */ 38 | void relocateWronglyPlacedXMPChunk( RIFF_MetaHandler* handler ); 39 | 40 | } // namespace RIFF 41 | 42 | #endif // __RIFF_Support_hpp__ 43 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/TimeConversionUtils.hpp: -------------------------------------------------------------------------------- 1 | #ifndef TimeConversionUtils_h__ 2 | #define TimeConversionUtils_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 "public/include/XMP_Environment.h" // ! XMP_Environment.h must be the first included header. 14 | #include "public/include/XMP_Const.h" 15 | #include 16 | #include 17 | #include 18 | #include 19 | #include "XMPFiles/source/XMPFiles_Impl.hpp" 20 | 21 | namespace TimeConversionUtils { 22 | bool ConvertSamplesToSMPTETimecode( 23 | std::string & outTimecode, 24 | XMP_Int64 inSamples, 25 | XMP_Uns64 inSampleRate, 26 | const std::string & inTimecodeFormat ); 27 | 28 | bool ConvertSMPTETimecodeToSamples( 29 | XMP_Int64 & outSamples, 30 | const std::string & inTimecode, 31 | XMP_Uns64 inSampleRate, 32 | const std::string & inTimecodeFormat 33 | ); 34 | 35 | }; 36 | 37 | #endif // TimeConversionUtils_h__ 38 | -------------------------------------------------------------------------------- /XMPFiles/source/FormatSupport/XDCAM_Support.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __XDCAM_Support_hpp__ 2 | #define __XDCAM_Support_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright Adobe 6 | // Copyright 2008 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 "public/include/XMP_Environment.h" // ! This must be the first include. 14 | #include "public/include/XMP_Const.h" 15 | #include "XMPFiles/source/XMPFiles_Impl.hpp" 16 | #include "source/ExpatAdapter.hpp" 17 | 18 | // ================================================================================================= 19 | /// \file XDCAM_Support.hpp 20 | /// \brief XMPFiles support for XDCAM streams. 21 | /// 22 | // ================================================================================================= 23 | 24 | namespace XDCAM_Support 25 | { 26 | 27 | // Read XDCAM XML metadata from MEDIAPRO.XML and translate to appropriate XMP. 28 | bool GetMediaProLegacyMetadata ( SXMPMeta * xmpObjPtr, 29 | const std::string& umid, 30 | const std::string& mediaProPath, 31 | bool digestFound); 32 | 33 | // Read XDCAM XML metadata and translate to appropriate XMP. 34 | bool GetLegacyMetadata ( SXMPMeta * xmpObjPtr, 35 | XML_NodePtr rootElem, 36 | XMP_StringPtr legacyNS, 37 | bool digestFound, 38 | std::string& umid ); 39 | 40 | // Write XMP metadata back to XDCAM XML. 41 | bool SetLegacyMetadata ( XML_Node * clipMetadata, 42 | SXMPMeta * xmpObj, 43 | XMP_StringPtr legacyNS ); 44 | 45 | 46 | } // namespace XDCAM_Support 47 | 48 | // ================================================================================================= 49 | 50 | #endif // __XDCAM_Support_hpp__ 51 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/MODULE_IDENTIFIER.txt: -------------------------------------------------------------------------------- 1 | com.adobe.XMP.plugins.MiniPDFL -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.resources/XMPPLUGINUIDS.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/PDF_Handler.xpi -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux/libMiniPDFL.so -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/MODULE_IDENTIFIER.txt: -------------------------------------------------------------------------------- 1 | com.adobe.XMP.plugins.MiniPDFL -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.resources/XMPPLUGINUIDS.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/PDF_Handler.xpi -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/i80386linux/i80386linux_x64/libMiniPDFL.so -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/PDF_Handler: -------------------------------------------------------------------------------- 1 | Versions/Current/PDF_Handler -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/PDF_Handler -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | BuildMachineOSBuild 6 | 22G313 7 | CFBundleExecutable 8 | PDF_Handler 9 | CFBundleGetInfoString 10 | PDF Handler 1.0, Copyright (c) 2022 11 | CFBundleIdentifier 12 | com.xmp.PDF_Handler 13 | CFBundleName 14 | PDF_Handler 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleShortVersionString 18 | PDF Handler 1.0 19 | CFBundleSignature 20 | XMP 21 | CFBundleSupportedPlatforms 22 | 23 | MacOSX 24 | 25 | Configuration 26 | Release 27 | DTCompiler 28 | com.apple.compilers.llvm.clang.1_0 29 | DTPlatformBuild 30 | 14C18 31 | DTPlatformName 32 | macosx 33 | DTPlatformVersion 34 | 13.1 35 | DTSDKBuild 36 | 22C55 37 | DTSDKName 38 | macosx13.1 39 | DTXcode 40 | 1420 41 | DTXcodeBuild 42 | 14C18 43 | FileVersion 44 | 1.0 45 | LSMinimumSystemVersion 46 | 10.15 47 | ProductName 48 | PDF Handler 49 | ProductVersion 50 | 1.0 51 | 52 | 53 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MODULE_IDENTIFIER.txt: -------------------------------------------------------------------------------- 1 | com.adobe.XMP.plugins.MiniPDFL -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/MiniPDFL: -------------------------------------------------------------------------------- 1 | Versions/Current/MiniPDFL -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Resources: -------------------------------------------------------------------------------- 1 | Versions/Current/Resources -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/MiniPDFL -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/English.lproj/InfoPlist.strings -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/A/Resources/Info.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | AcrobatCL 6 | 448391 7 | BuildDate 8 | 2023/11/08-09:35:53 9 | BuildID 10 | 53914 11 | BuildVersion 12 | 79.5aaec82 13 | CFBundleExecutable 14 | MiniPDFL 15 | CFBundleGetInfoString 16 | AdobePDFL 1.0.0.53914, © 1987-2012 Adobe Systems Incorporated. 17 | All Rights Reserved. 18 | CFBundleIdentifier 19 | com.adobe.PDFL 20 | CFBundleName 21 | MiniPDFL 22 | CFBundlePackageType 23 | FMWK 24 | CFBundleShortVersionString 25 | 1.0.0 26 | CFBundleSignature 27 | ???? 28 | CFBundleVersion 29 | 1.0.0.53914 30 | PDFL_IPID 31 | <AdobeIP#0000583> 32 | ReleaseCL 33 | 0 34 | 35 | 36 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/MiniPDFL.framework/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/A/Resources/XMPPLUGINUIDS.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/macintosh/universal/PDF_Handler.xpi/Versions/Current: -------------------------------------------------------------------------------- 1 | A -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/linux/PDF_Handler.exp: -------------------------------------------------------------------------------- 1 | VERSION { 2 | global: 3 | 4 | InitializePlugin; 5 | InitializePlugin2; 6 | 7 | local: 8 | 9 | *; 10 | 11 | }; 12 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/mac/PDF_Handler.exp: -------------------------------------------------------------------------------- 1 | _InitializePlugin 2 | _InitializePlugin2 3 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/mac/PDF_Handler.plist: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | CFBundleExecutable 6 | PDF_Handler 7 | CFBundleIdentifier 8 | com.xmp.PDF_Handler 9 | CFBundleName 10 | PDF_Handler 11 | CFBundleGetInfoString 12 | PDF Handler kBasicVersion, kXMP_Copyright 13 | CFBundleShortVersionString 14 | PDF Handler kBasicVersion 15 | CFBundlePackageType 16 | FMWK 17 | CFBundleSignature 18 | XMP 19 | Configuration 20 | kConfig 21 | FileVersion 22 | kBasicVersion 23 | ProductName 24 | PDF Handler 25 | ProductVersion 26 | PDF_HANDLER_VERSION 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/mac/PDF_HandlerPList.h: -------------------------------------------------------------------------------- 1 | #include "../../../../build/XMP_BuildInfo.h" 2 | #define PDF_HANDLER_VERSION 1.0 3 | #if NDEBUG // Can't use XMP_Environment.h, it seems to mess up the PList compiler. 4 | #define kConfig Release 5 | #define kDebugSuffix 6 | #define kBasicVersion PDF_HANDLER_VERSION 7 | #else 8 | #define kConfig Debug 9 | #define kDebugSuffix (debug) 10 | #define kBasicVersion PDF_HANDLER_VERSION kDebugSuffix 11 | #endif 12 | 13 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/win/CopyPDFL.bat: -------------------------------------------------------------------------------- 1 | @ECHO OFF 2 | @rem Copy the needed PDFL to the public folder. 3 | @rem Usage: CopyPDFL 4 | @rem is debug or release 5 | @rem is windows or windows_x64. defaults to "windows" (32-bit) 6 | 7 | set workingDir=%~dp0% 8 | set mode=%1 9 | if "%1" == "" set mode=release 10 | set platform=%2 11 | if "%2" == "" set platform=windows 12 | 13 | mkdir %workingDir%\..\..\..\public\%platform%\%mode%\PDF_Handler 14 | xcopy /y /r %workingDir%\..\..\third-party\MiniPDFL\libraries\%platform%\release\MiniPDFL.dll %workingDir%\..\..\..\public\%platform%\%mode%\PDF_Handler 15 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/win/PDF_Handler-32.rc: -------------------------------------------------------------------------------- 1 | 2 | ///////////////////////////////////////////////////////////////////////////// 3 | // 4 | // TXT 5 | // 6 | 7 | XMPPLUGINUIDS TXT "../../../resource/txt/XMPPLUGINUIDS-32.txt" 8 | MODULE_IDENTIFIER TXT "../../../resource/txt/MODULE_IDENTIFIER.txt" 9 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/win/PDF_Handler-64.rc: -------------------------------------------------------------------------------- 1 | 2 | ///////////////////////////////////////////////////////////////////////////// 3 | // 4 | // TXT 5 | // 6 | 7 | XMPPLUGINUIDS TXT "../../../resource/txt/XMPPLUGINUIDS-64.txt" 8 | MODULE_IDENTIFIER TXT "../../../resource/txt/MODULE_IDENTIFIER.txt" 9 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/resource/win/PDF_Handler.def: -------------------------------------------------------------------------------- 1 | ; Declares the entry points for the DLL. 2 | ; Highest index: 2 - InitializePlugin2 3 | 4 | LIBRARY PDF_Handler 5 | 6 | EXPORTS 7 | 8 | InitializePlugin @1 9 | InitializePlugin2 @2 10 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/windows/windows_x64/MiniPDFL.dll -------------------------------------------------------------------------------- /XMPFilesPlugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/XMPFilesPlugins/PDF_Handler/windows/windows_x64/PDF_Handler.xpi -------------------------------------------------------------------------------- /XMPFilesPlugins/PluginTemplate/build/README.txt: -------------------------------------------------------------------------------- 1 | Building Template Plugin Projects: 2 | 3 | Windows: 4 | 5 | 1. Double Click GeneratePluginTemplate_win.bat" or run it through command prompt. 6 | 2. Enter the type of project to create 7 | 3. The project files will be created in vc16\windows or vc16\windows_x64 folder 8 | 9 | Mac: 10 | 11 | 1. Run the shell script GeneratePluginTemplate_mac.sh. 12 | 2. Enter the type of project to create 13 | 3. The project files will be created in xcode\intel_64 folder 14 | 15 | Linux: 16 | 17 | 1. Run the Makefile. This Makefile will call cmake to generate the makefile for all the template plugin projects. Also all the projects will be built automatically. 18 | 2. All the template plugin project makefiles will be created in gcc folder. 19 | 3. The template plugins will be built in ../../public folder. 20 | 4. Make sure the gcc location is added to $PATH and its libraries location to $LD_LIBRARY_PATH. There is a need to add libuuid.so library path to the $LD_LIBRARY_PATH as well. Refer the ReadMe.txt present in /build folder for more information around setting relevant gcc path on linux. 21 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PluginTemplate/build/resource/txt/MODULE_IDENTIFIER.txt: -------------------------------------------------------------------------------- 1 | com.adobe.xmp.plugins.template -------------------------------------------------------------------------------- /XMPFilesPlugins/PluginTemplate/build/resource/txt/XMPPLUGINUIDS-32.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PluginTemplate/build/resource/txt/XMPPLUGINUIDS-64.txt: -------------------------------------------------------------------------------- 1 | 2 | 3 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PluginTemplate/resource/win/PluginTemplate-32.rc: -------------------------------------------------------------------------------- 1 | 2 | ///////////////////////////////////////////////////////////////////////////// 3 | // 4 | // TXT 5 | // 6 | 7 | XMPPLUGINUIDS TXT "../../resource/txt/XMPPLUGINUIDS-32.txt" 8 | MODULE_IDENTIFIER TXT "../../resource/txt/MODULE_IDENTIFIER.txt" 9 | -------------------------------------------------------------------------------- /XMPFilesPlugins/PluginTemplate/resource/win/PluginTemplate-64.rc: -------------------------------------------------------------------------------- 1 | 2 | ///////////////////////////////////////////////////////////////////////////// 3 | // 4 | // TXT 5 | // 6 | 7 | XMPPLUGINUIDS TXT "../../resource/txt/XMPPLUGINUIDS-64.txt" 8 | MODULE_IDENTIFIER TXT "../../resource/txt/MODULE_IDENTIFIER.txt" 9 | -------------------------------------------------------------------------------- /XMPFilesPlugins/api/source/PluginConst.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2011 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #ifndef __PLUGIN_CONST_H__ 11 | #define __PLUGIN_CONST_H__ 12 | 13 | #include "XMP_Const.h" 14 | 15 | typedef void * StringVectorRef; 16 | typedef void (* SetStringVectorProc) ( StringVectorRef vectorRef, XMP_StringPtr * arrayPtr, XMP_Uns32 stringCount ); 17 | 18 | enum 19 | { 20 | /// Plugin-internal failures 21 | kXMPErr_PluginInternal = 500, 22 | /// 23 | kXMPErr_PluginInitialized = 501, 24 | /// 25 | kXMPErr_PluginTerminate = 502, 26 | /// 27 | kXMPErr_PluginSessionInit = 503, 28 | /// 29 | kXMPErr_PluginSessionTerm = 504, 30 | /// 31 | kXMPErr_PluginCacheFileData = 505, 32 | /// 33 | kXMPErr_PluginUpdateFile = 506, 34 | /// 35 | kXMPErr_PluginWriteTempFile = 507, 36 | /// 37 | kXMPErr_PluginImportToXMP = 508, 38 | /// 39 | kXMPErr_PluginExportFromXMP = 509, 40 | /// 41 | kXMPErr_PluginCheckFileFormat = 510, 42 | /// 43 | kXMPErr_PluginCheckFolderFormat = 511, 44 | /// 45 | kXMPErr_SetHostAPI = 512, 46 | /// 47 | kXMPErr_PluginGetFileModDate = 513, 48 | /// 49 | kXMPErr_PluginFillMetadataFiles = 514, 50 | /// 51 | kXMPErr_PluginFillAssociatedResources = 515, 52 | /// 53 | kXMPErr_PluginIsMetadataWritable = 516, 54 | 55 | /// last plugin error, please add new errors before this one 56 | kXMPErr_PluginLastError 57 | }; 58 | 59 | #endif // __PLUGIN_CONST_H__ 60 | -------------------------------------------------------------------------------- /XMPFilesPlugins/api/source/PluginUtils.h: -------------------------------------------------------------------------------- 1 | #ifndef __PLUGIN_UTILS_H__ 2 | #define __PLUGIN_UTILS_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 "XMP_Const.h" 14 | #include "source/XMP_LibUtils.hpp" 15 | 16 | namespace XMP_PLUGIN 17 | { 18 | class ErrorCallbackInfo : public GenericErrorCallback { 19 | public: 20 | XMPFiles_ErrorCallbackWrapper wrapperProc; 21 | XMPFiles_ErrorCallbackProc clientProc; 22 | void * context; 23 | std::string filePath; 24 | 25 | ErrorCallbackInfo(): wrapperProc(0), clientProc(0), context(0) {}; 26 | 27 | void Clear() { 28 | this->wrapperProc = 0; this->clientProc = 0; this->context = 0; 29 | GenericErrorCallback::Clear(); 30 | }; 31 | 32 | bool CanNotify() const; 33 | 34 | bool ClientCallbackWrapper( 35 | XMP_StringPtr filePath, 36 | XMP_ErrorSeverity severity, 37 | XMP_Int32 cause, 38 | XMP_StringPtr messsage) const; 39 | }; 40 | 41 | void ErrorNotifyClient( GenericErrorCallback * errCBptr, XMP_ErrorSeverity severity, XMP_Error & error); 42 | } 43 | 44 | #endif // __PLUGIN_UTILS_H__ 45 | -------------------------------------------------------------------------------- /build/XMP_BuildInfo.h: -------------------------------------------------------------------------------- 1 | #ifndef __XMP_BuildInfo_h__ 2 | #define __XMP_BuildInfo_h__ 1 3 | 4 | /* 5 | // ================================================================================================= 6 | // Copyright 2002 Adobe 7 | // All Rights Reserved. 8 | // 9 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 10 | // of the Adobe license agreement accompanying it. 11 | // ================================================================================================= 12 | */ 13 | 14 | #define kXMP_Copyright Copyright (c) 2022 15 | #define kXMP_CopyrightStr "Copyright (c) 2022" 16 | 17 | #endif /* __XMP_BuildInfo_h__ */ 18 | -------------------------------------------------------------------------------- /build/XMP_Config.cmake: -------------------------------------------------------------------------------- 1 | # ================================================================================================= 2 | # ADOBE SYSTEMS INCORPORATED 3 | # Copyright 2013 Adobe Systems Incorporated 4 | # All Rights Reserved 5 | # 6 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | # of the Adobe license agreement accompanying it. 8 | # ================================================================================================= 9 | 10 | # ============================================================================== 11 | # define minimum cmake version 12 | # For Android always build with make 3.6 13 | if(ANDROID) 14 | cmake_minimum_required(VERSION 3.5.2) 15 | else(ANDROID) 16 | cmake_minimum_required(VERSION 3.15.5) 17 | endif(ANDROID) 18 | 19 | # ============================================================================== 20 | # XMP config for XMPTOOLKIT and TestRunner 21 | # ============================================================================== 22 | if(NOT DEFINED XMP_ROOT) 23 | set(XMP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/${XMP_THIS_PROJECT_RELATIVEPATH}) 24 | endif() 25 | if(NOT DEFINED COMMON_BUILD_SHARED_DIR) 26 | set(COMMON_BUILD_SHARED_DIR ${XMP_ROOT}/build/shared) 27 | endif() 28 | 29 | if(NOT DEFINED INCLUDE_CPP_DOM_SOURCE) 30 | set(INCLUDE_CPP_DOM_SOURCE TRUE) 31 | endif() 32 | 33 | if (INCLUDE_CPP_DOM_SOURCE) 34 | add_definitions(-DENABLE_CPP_DOM_MODEL=1) 35 | else (INCLUDE_CPP_DOM_SOURCE) 36 | add_definitions(-DENABLE_CPP_DOM_MODEL=0) 37 | endif(INCLUDE_CPP_DOM_SOURCE) 38 | 39 | include(${XMP_ROOT}/build/XMP_ConfigCommon.cmake) 40 | 41 | -------------------------------------------------------------------------------- /build/cmake.bat: -------------------------------------------------------------------------------- 1 | :: ================================================================================================= 2 | :: Copyright 2013 Adobe Systems Incorporated 3 | :: All Rights Reserved. 4 | :: 5 | :: NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 6 | :: of the Adobe license agreement accompanying it. 7 | :: ================================================================================================= 8 | 9 | echo OFF 10 | 11 | rem Change relPath to point to the folder with the shared configs, 12 | set relPath=.. 13 | 14 | set workingDir=%~dp0% 15 | set buildSharedLoc=%workingDir%%relPath%/build/shared 16 | call "%buildSharedLoc%/CMakeUtils.bat" %* 17 | if errorlevel 1 goto error 18 | goto ok 19 | 20 | :error 21 | echo Failed %PROJECT% build cmake. 22 | echo "Exiting cmake.bat" 23 | exit /B 1 24 | 25 | :ok 26 | echo Success %PROJECT% build cmake. 27 | echo "Exiting cmake.bat" 28 | exit /B 0 29 | 30 | -------------------------------------------------------------------------------- /build/cmake.command: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | # ================================================================================================= 3 | # ADOBE SYSTEMS INCORPORATED 4 | # Copyright 2013 Adobe Systems Incorporated 5 | # All Rights Reserved 6 | # 7 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 8 | # of the Adobe license agreement accompanying it. 9 | # ================================================================================================= 10 | # Get the absolut path of the script 11 | abspath=$(cd ${0%/*} && echo $PWD/${0##*/}) 12 | 13 | # to get the path only - not the script name 14 | path_only=$(dirname "$abspath") 15 | 16 | #Set XMPROOT for further reference 17 | XMPROOT=$path_only/.. 18 | 19 | # defines some handy function used over in several scripts 20 | source "$XMPROOT/build/shared/CMakeUtils.sh" 21 | 22 | # generate projects in above file defined function 23 | GenerateBuildProjects "$@" 24 | if [ $? -ne 0 ]; then 25 | echo "cmake.command failed"; 26 | exit 1; 27 | else 28 | echo "cmake.command Success"; 29 | exit 0; 30 | fi -------------------------------------------------------------------------------- /build/cmake_all.bat: -------------------------------------------------------------------------------- 1 | :: ================================================================================================= 2 | :: Copyright 2013 Adobe Systems Incorporated 3 | :: All Rights Reserved. 4 | :: 5 | :: NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 6 | :: of the Adobe license agreement accompanying it. 7 | :: ================================================================================================= 8 | 9 | echo ON 10 | cls 11 | 12 | REM list of all projects to build 13 | 14 | echo "Update path environment that cmake can be found" 15 | REM set PATH=%PATH%;%CD%\..\..\resources\tools\CMakeApp\win\bin 16 | set PATH=%PATH%;%CD%\..\tools\cmake\bin 17 | 18 | 19 | echo "================= Generate project for XMP build =================" 20 | call cmake.bat %1 %2 %3 %4 %5 21 | if errorlevel 1 goto error 22 | 23 | 24 | goto ok 25 | 26 | 27 | :error 28 | echo Failed. 29 | echo "Exiting cmake_all.bat" 30 | exit /B 1 31 | 32 | :ok 33 | echo Success. 34 | echo "Exiting cmake_all.bat" 35 | exit /B 0 36 | -------------------------------------------------------------------------------- /build/shared/ToolchainGCC.cmake: -------------------------------------------------------------------------------- 1 | # ================================================================================================= 2 | # ADOBE SYSTEMS INCORPORATED 3 | # Copyright 2013 Adobe Systems Incorporated 4 | # All Rights Reserved 5 | # 6 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | # of the Adobe license agreement accompanying it. 8 | # ================================================================================================= 9 | 10 | # Toolchain 11 | include(CMakeForceCompiler) 12 | 13 | # this one is important 14 | set(CMAKE_SYSTEM_NAME Linux) 15 | 16 | # 17 | if(CMAKE_CL_64) 18 | # where is the target environment 19 | set(CMAKE_FIND_ROOT_PATH "/usr/") 20 | set(CMAKE_SYSTEM_LIBRARY_PATH "${CMAKE_FIND_ROOT_PATH}/") 21 | set(CMAKE_SYSTEM_PROCESSOR "x86_64") 22 | 23 | else() 24 | # where is the target environment 25 | set(CMAKE_FIND_ROOT_PATH "/usr/") 26 | set(CMAKE_SYSTEM_LIBRARY_PATH "${CMAKE_FIND_ROOT_PATH}/") 27 | set(CMAKE_SYSTEM_PROCESSOR "i386") 28 | endif() 29 | 30 | # specify the cross compiler 31 | CMAKE_FORCE_C_COMPILER("${CMAKE_SYSTEM_LIBRARY_PATH}/bin/gcc" GNU) 32 | CMAKE_FORCE_CXX_COMPILER("${CMAKE_SYSTEM_LIBRARY_PATH}/bin/g++" GNU) 33 | 34 | set(CMAKE_MAKE_PROGRAMM "${CMAKE_SYSTEM_LIBRARY_PATH}/bin/make") 35 | 36 | # specify to use secure settings 37 | set(XMP_ENABLE_SECURE_SETTINGS "ON") 38 | 39 | # search for programs in the build host directories 40 | set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) 41 | 42 | # for libraries and headers in the target directories 43 | set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) 44 | set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) 45 | 46 | # extra preprocessor defines 47 | # make Ubuntu cruise happy (read http://old.nabble.com/g%2B%2B-cross-distro-compilation-problem-td30705910.html) 48 | #set(CIT_TOOLCHAIN_COMPILE_FLAGS "-D__USE_XOPEN2K8") 49 | 50 | # 51 | message("+++ Toolchain setup:") 52 | message("+++ ${CMAKE_SYSTEM_LIBRARY_PATH}") 53 | message("+++ ${CMAKE_ASM_COMPILER}") 54 | message("+++ ${CMAKE_AR}") 55 | message("+++ ${CMAKE_LINKER}") 56 | message("+++ ${CMAKE_BUILD_TOOL}") 57 | 58 | -------------------------------------------------------------------------------- /build/shared/ToolchainLLVM.cmake: -------------------------------------------------------------------------------- 1 | # ================================================================================================= 2 | # ADOBE SYSTEMS INCORPORATED 3 | # Copyright 2013 Adobe Systems Incorporated 4 | # All Rights Reserved 5 | # 6 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | # of the Adobe license agreement accompanying it. 8 | # ================================================================================================= 9 | 10 | # Toolchain 11 | 12 | # Force XCode to use specific compiler 13 | # options are "4.0", "4.2", "com.apple.compilers.llvmgcc42", "com.intel.compilers.icc.12_1_0", "com.apple.compilers.llvm.clang.1_0" 14 | set(CMAKE_XCODE_ATTRIBUTE_GCC_VERSION "com.apple.compilers.llvm.clang.1_0") 15 | set(CMAKE_C_COMPILER xcrun -find clang) 16 | set(CMAKE_CXX_COMPILER xcrun -find clang++) 17 | set(CMAKE_XCODE_BUILD_SYSTEM 12) 18 | 19 | # SDK and deployment 20 | set(XMP_OSX_SDK 13.1) 21 | set(XMP_OSX_TARGET 10.15) 22 | set(APPLE_UNIVERSAL True) 23 | -------------------------------------------------------------------------------- /docs/API/IError_8h.js: -------------------------------------------------------------------------------- 1 | var IError_8h = 2 | [ 3 | [ "IError_v1", "classAdobeXMPCommon_1_1IError__v1.html", "classAdobeXMPCommon_1_1IError__v1" ], 4 | [ "ReportErrorAndContinueFunctor", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.html", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor" ], 5 | [ "ReportErrorAndContinueABISafeProc", "IError_8h.html#a8dc9ba4ce78a957c0843998c2468241a", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/API/IMetadataConverterUtils_8h.js: -------------------------------------------------------------------------------- 1 | var IMetadataConverterUtils_8h = 2 | [ 3 | [ "IMetadataConverterUtils_v1", "classAdobeXMPCore_1_1IMetadataConverterUtils__v1.html", "classAdobeXMPCore_1_1IMetadataConverterUtils__v1" ], 4 | [ "TXMP_STRING_TYPE", "IMetadataConverterUtils_8h.html#aa52530350b76daa85d309beede2d3e2b", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/API/WXMPIterator_8hpp.js: -------------------------------------------------------------------------------- 1 | var WXMPIterator_8hpp = 2 | [ 3 | [ "__WXMPIterator_hpp__", "WXMPIterator_8hpp.html#a6beaeb3189c8f5675a7ad399a3d443c7", null ], 4 | [ "zXMPIterator_Next_1", "WXMPIterator_8hpp.html#ac5cfa7bd53753408e8e6b20225429fa0", null ], 5 | [ "zXMPIterator_PropCTor_1", "WXMPIterator_8hpp.html#a490d04bf7641a1fa38dc1d4a4c106de9", null ], 6 | [ "zXMPIterator_Skip_1", "WXMPIterator_8hpp.html#aa79ff88d5629b5161a4cef06f1c9d121", null ], 7 | [ "zXMPIterator_TableCTor_1", "WXMPIterator_8hpp.html#aa53f3af28fb173ee0f6d01b9f1196d6d", null ], 8 | [ "WXMPIterator_DecrementRefCount_1", "WXMPIterator_8hpp.html#a6edb320022815734935207c5d81453c1", null ], 9 | [ "WXMPIterator_IncrementRefCount_1", "WXMPIterator_8hpp.html#aaad6b1b5368943be9cb4ce3285c3f5f3", null ], 10 | [ "WXMPIterator_Next_1", "WXMPIterator_8hpp.html#a3d19f210969f98668bb9a80281722d5b", null ], 11 | [ "WXMPIterator_PropCTor_1", "WXMPIterator_8hpp.html#a6835fb3f1b44169a838466f23f197f4d", null ], 12 | [ "WXMPIterator_Skip_1", "WXMPIterator_8hpp.html#ae6bb05117662013a9a5873f9d8ce4f2c", null ], 13 | [ "WXMPIterator_TableCTor_1", "WXMPIterator_8hpp.html#a4bcacc41e340e5c12ece3814d2a76d9e", null ] 14 | ]; -------------------------------------------------------------------------------- /docs/API/XMPCommonLatestInterfaceVersions_8h.js: -------------------------------------------------------------------------------- 1 | var XMPCommonLatestInterfaceVersions_8h = 2 | [ 3 | [ "ICONFIGURABLE_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#a829031e337c57225307b0be2d229a8b4", null ], 4 | [ "ICONFIGURATIONMANAGER_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#a21492cbe0c77bbbad967232b377855c1", null ], 5 | [ "IERROR_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#a4d8312c0c69be3f57e5f14b7b2d1224d", null ], 6 | [ "IERRORNOTIFIER_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#ad84704e1c2910ca9d71d41183c3a378c", null ], 7 | [ "IMEMORYALLOCATOR_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#a5c5712b51cebbbdbf40cc691b4123209", null ], 8 | [ "IOBJECTFACTORY_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#a6844f2fb727f99e352e61045154eba8b", null ], 9 | [ "IUTF8STRING_VERSION", "XMPCommonLatestInterfaceVersions_8h.html#a884c112243a29a7b0388b1954efc317b", null ] 10 | ]; -------------------------------------------------------------------------------- /docs/API/XMPCoreDefines_8h.js: -------------------------------------------------------------------------------- 1 | var XMPCoreDefines_8h = 2 | [ 3 | [ "ENABLE_CPP_DOM_MODEL", "XMPCoreDefines_8h.html#a6919ea0ee288c12c640a170d34d35cbe", null ] 4 | ]; -------------------------------------------------------------------------------- /docs/API/XMP__Environment_8h.js: -------------------------------------------------------------------------------- 1 | var XMP__Environment_8h = 2 | [ 3 | [ "DISABLE_SERIALIZED_IMPORT_EXPORT", "XMP__Environment_8h.html#a6bdd4740fca953d5f1722643d9295634", null ], 4 | [ "XMP_64", "XMP__Environment_8h.html#a69ebf613b248c1e76ae5dbdeee505881", null ], 5 | [ "XMP_DebugBuild", "XMP__Environment_8h.html#abeb16d5e16e7b2120731acb63ad88e9f", null ], 6 | [ "XMP_PRIVATE", "XMP__Environment_8h.html#a917e8e3f02685ec390fa3aee270f7747", null ], 7 | [ "XMP_PUBLIC", "XMP__Environment_8h.html#aac6a4810b1f485f147ab833be63f4d7b", null ] 8 | ]; -------------------------------------------------------------------------------- /docs/API/XMP__Version_8h.js: -------------------------------------------------------------------------------- 1 | var XMP__Version_8h = 2 | [ 3 | [ "XMPCORE_API_VERSION", "XMP__Version_8h.html#ac041954a884c9a67412ce45fd8b93ba8", null ], 4 | [ "XMPCORE_API_VERSION_MAJOR", "XMP__Version_8h.html#aac716764f5886d3aa2cae548de31914d", null ], 5 | [ "XMPCORE_API_VERSION_MICRO", "XMP__Version_8h.html#a23b73225c458457027b81af90253a36d", null ], 6 | [ "XMPCORE_API_VERSION_MINOR", "XMP__Version_8h.html#a9c0c98c086845899204c31cd7e40ee66", null ], 7 | [ "XMPCORE_API_VERSION_STRING", "XMP__Version_8h.html#a980a28c05c998865f032cda8057530dd", null ], 8 | [ "XMPFILES_API_VERSION", "XMP__Version_8h.html#ad887c030e319e8ec87b2bb219b411eba", null ], 9 | [ "XMPFILES_API_VERSION_MAJOR", "XMP__Version_8h.html#a2d20bc110f01b87d6456f9db1169d0f2", null ], 10 | [ "XMPFILES_API_VERSION_MICRO", "XMP__Version_8h.html#ab50f056612c375f3f3ec2c2bd4b15c20", null ], 11 | [ "XMPFILES_API_VERSION_MINOR", "XMP__Version_8h.html#a824cb65b80a8e7a2a434e3c7e90e34c1", null ], 12 | [ "XMPFILES_API_VERSION_STRING", "XMP__Version_8h.html#a76ec48e8c62eb491e18c98b620d83826", null ] 13 | ]; -------------------------------------------------------------------------------- /docs/API/annotated_dup.js: -------------------------------------------------------------------------------- 1 | var annotated_dup = 2 | [ 3 | [ "AdobeXMPCommon", "namespaceAdobeXMPCommon.html", "namespaceAdobeXMPCommon" ], 4 | [ "AdobeXMPCore", "namespaceAdobeXMPCore.html", "namespaceAdobeXMPCore" ], 5 | [ "TXMPFiles", "classTXMPFiles.html", "classTXMPFiles" ], 6 | [ "TXMPIterator", "classTXMPIterator.html", "classTXMPIterator" ], 7 | [ "TXMPMeta", "classTXMPMeta.html", "classTXMPMeta" ], 8 | [ "TXMPUtils", "classTXMPUtils.html", "classTXMPUtils" ], 9 | [ "WXMP_Result", "structWXMP__Result.html", "structWXMP__Result" ], 10 | [ "XMP_DateTime", "structXMP__DateTime.html", "structXMP__DateTime" ], 11 | [ "XMP_Error", "classXMP__Error.html", "classXMP__Error" ], 12 | [ "XMP_IO", "classXMP__IO.html", "classXMP__IO" ], 13 | [ "XMP_PacketInfo", "structXMP__PacketInfo.html", "structXMP__PacketInfo" ], 14 | [ "XMP_VersionInfo", "structXMP__VersionInfo.html", "structXMP__VersionInfo" ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/bc_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/bc_s.png -------------------------------------------------------------------------------- /docs/API/bdwn.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/bdwn.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IConfigurable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IConfigurable.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IConfigurationManagerProxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IConfigurationManagerProxy.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IConfigurationManager__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1IConfigurationManager__v1 = 2 | [ 3 | [ "~IConfigurationManager_v1", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html#aab2f368cf6883a6cd92fe688a95516b5", null ], 4 | [ "DisableMultiThreading", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html#acf69fdd4ec5c1eb47b6a41b052372504", null ], 5 | [ "IsMultiThreaded", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html#acbdb00613df7f5498a7fe264f8cd950d", null ], 6 | [ "RegisterErrorNotifier", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html#af078935e322f611a884061977d015d1d", null ], 7 | [ "RegisterMemoryAllocator", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html#a4886e0ac409969583acccbe344489a85", null ], 8 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html#ad857109e294bdff85685fa0974020645", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IConfigurationManager__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IConfigurationManager__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IErrorNotifier__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1IErrorNotifier__v1 = 2 | [ 3 | [ "~IErrorNotifier_v1", "classAdobeXMPCommon_1_1IErrorNotifier__v1.html#afc06a757c78bc5e3049048839801949d", null ], 4 | [ "Notify", "classAdobeXMPCommon_1_1IErrorNotifier__v1.html#ace4799050050f28ac3706b1de8940769", null ], 5 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1IErrorNotifier__v1.html#a6b08a4aa1295fae50fe52c60787b3037", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IError__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IError__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IMemoryAllocator__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1IMemoryAllocator__v1 = 2 | [ 3 | [ "~IMemoryAllocator_v1", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html#a3557c223280972c7a4e0219d9d4181c3", null ], 4 | [ "allocate", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html#a2942e9d8f0d685ae6ebe58c18a11b999", null ], 5 | [ "deallocate", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html#a607755ef64bf552482c4a330fcc79120", null ], 6 | [ "reallocate", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html#a89ea55ddb2e5a544a93525b227b042f9", null ], 7 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html#aee52f392f1548bffc01b2be3fd9fab28", null ] 8 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IObjectFactory__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1IObjectFactory__v1 = 2 | [ 3 | [ "~IObjectFactory_v1", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#a95fcbab435329d052ab42028da563c02", null ], 4 | [ "CreateError", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#ae86e711336af91dca23f4611b1f03724", null ], 5 | [ "CreateUTF8String", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#ae3e9eb977c305e48425654bec514f405", null ], 6 | [ "GetInterfaceID", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#ab61b0ddca88dc76f0499d317f189b918", null ], 7 | [ "GetInterfaceVersion", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#a81c25d76569a9249ab3c8a3e4490c73d", null ], 8 | [ "MakeObjectFactory", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#aa906cf2b9efb958e49fd8c5122b8db96", null ], 9 | [ "MakeObjectFactory", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#a2dc282621cdfef44b424ac91efb965a1", null ], 10 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1IObjectFactory__v1.html#a2f02bcd4eafa4d318197c39dd55d0957", null ] 11 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IObjectFactory__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IObjectFactory__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1ISharedObject.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1ISharedObject = 2 | [ 3 | [ "~ISharedObject", "classAdobeXMPCommon_1_1ISharedObject.html#a5869ff89d0b7dd0a7b525401a1d57b31", null ], 4 | [ "Acquire", "classAdobeXMPCommon_1_1ISharedObject.html#ab90d4ec1fcd975a7ac62dcb866335cdc", null ], 5 | [ "Release", "classAdobeXMPCommon_1_1ISharedObject.html#abf5a54e09f87366170ea19c618f68bc3", null ], 6 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1ISharedObject.html#afcb42109aed83c3b0c133bc413388037", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1ISharedObject.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1ISharedObject.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IThreadSafe.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1IThreadSafe = 2 | [ 3 | [ "DisableThreadSafety", "classAdobeXMPCommon_1_1IThreadSafe.html#a214bb1b5840dbd5576e764dd2220b261", null ], 4 | [ "EnableThreadSafety", "classAdobeXMPCommon_1_1IThreadSafe.html#afe35614cb88e2bdb32996cf4ac15b211", null ], 5 | [ "IsThreadSafe", "classAdobeXMPCommon_1_1IThreadSafe.html#a30d666826eba6dfed60c0760e145bee3", null ], 6 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1IThreadSafe.html#a0f31eb9677c4af06288319e363c21ebc", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IThreadSafe.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IThreadSafe.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IUTF8String__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IUTF8String__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IVersionable.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1IVersionable = 2 | [ 3 | [ "~IVersionable", "classAdobeXMPCommon_1_1IVersionable.html#a3ccd9a1bdf7008906e094fb4e7f69826", null ], 4 | [ "GetInterfacePointer", "classAdobeXMPCommon_1_1IVersionable.html#ad6539461695decfaea8a44798db51e54", null ], 5 | [ "GetInterfacePointer", "classAdobeXMPCommon_1_1IVersionable.html#a1827fc276dd3beb0df9aaab4ad1626d0", null ], 6 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCommon_1_1IVersionable.html#ac619a81b428c88cfce50feaa91a2479f", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1IVersionable.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCommon_1_1IVersionable.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor = 2 | [ 3 | [ "ReportErrorAndContinueFunctor", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.html#a40e6fedd9a880d70095b9468b5cf05db", null ], 4 | [ "operator()", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.html#a5dd060eac19acba07ce701dc9ebaa09d", null ], 5 | [ "mSafeProc", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.html#a3b28d2e68ebbcd5d20781d8b7a48f879", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IArrayNode__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IArrayNode__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IClientDOMParser__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IClientDOMParser__v1 = 2 | [ 3 | [ "~IClientDOMParser_v1", "classAdobeXMPCore_1_1IClientDOMParser__v1.html#ac9890eb0a1635872a2ed2f86544b0057", null ], 4 | [ "AreKeysCaseSensitive", "classAdobeXMPCore_1_1IClientDOMParser__v1.html#a519b5b2a57192b91cee0653ea928fddd", null ], 5 | [ "Initialize", "classAdobeXMPCore_1_1IClientDOMParser__v1.html#a5df18f349ed7db99a4bb96660b0008b5", null ], 6 | [ "Parse", "classAdobeXMPCore_1_1IClientDOMParser__v1.html#a210d5b0bf473045c7f76d856f956d932", null ], 7 | [ "Release", "classAdobeXMPCore_1_1IClientDOMParser__v1.html#a1860e905db03346c3c83f5a026008d03", null ], 8 | [ "Validate", "classAdobeXMPCore_1_1IClientDOMParser__v1.html#a7d40872cc3ce6ac3b298709232399984", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IClientDOMSerializer__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IClientDOMSerializer__v1 = 2 | [ 3 | [ "~IClientDOMSerializer_v1", "classAdobeXMPCore_1_1IClientDOMSerializer__v1.html#a58ff533c49dcfcf3374097aea70c1107", null ], 4 | [ "AreKeysCaseSensitive", "classAdobeXMPCore_1_1IClientDOMSerializer__v1.html#abf7260c3b0cf061e56af667bf489bcfe", null ], 5 | [ "Initialize", "classAdobeXMPCore_1_1IClientDOMSerializer__v1.html#a370646890f776a587f0faff20d590059", null ], 6 | [ "Release", "classAdobeXMPCore_1_1IClientDOMSerializer__v1.html#a513bdaeb37f453787f46a5e855ac08ef", null ], 7 | [ "Serialize", "classAdobeXMPCore_1_1IClientDOMSerializer__v1.html#a604822b9cacd9b1ebaba08e49513f778", null ], 8 | [ "Validate", "classAdobeXMPCore_1_1IClientDOMSerializer__v1.html#a5bcaa25de727ee1e8e9399dd963aa5c3", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ICompositeNode__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1ICompositeNode__v1 = 2 | [ 3 | [ "~ICompositeNode_v1", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a51af220e29b40e8520ae5765f28515bf", null ], 4 | [ "AppendNode", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a6795e662d9daea5b88de08261488964b", null ], 5 | [ "ChildCount", "classAdobeXMPCore_1_1ICompositeNode__v1.html#abf3323ce933f5336bc0f64955c0bdd11", null ], 6 | [ "GetArrayNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#aba3fc78fab746460b1e7e01fe2e004b6", null ], 7 | [ "GetArrayNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a7d3850887dcf5c1f3e43b373dd157e85", null ], 8 | [ "GetNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#ac896915e34b7570fe62d27fbc848def7", null ], 9 | [ "GetNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a0dd2a64d53b361b96bdfb597c5e35579", null ], 10 | [ "GetNodeTypeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#ae73e70a7e6188604f8254c1a1f70cdad", null ], 11 | [ "GetSimpleNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a42c91ca3eeded6302163a96903927445", null ], 12 | [ "GetSimpleNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a1886c4db1bc03f07e9a10391c65b73c2", null ], 13 | [ "GetStructureNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a2abb6cdf40e6d4c91e30b736586e89dc", null ], 14 | [ "GetStructureNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a5858c2e6428f671b62d637b46ec8c1fe", null ], 15 | [ "InsertNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a39f5d9b31976e7a243d11152cd57260b", null ], 16 | [ "Iterator", "classAdobeXMPCore_1_1ICompositeNode__v1.html#aad09d43a7a22e26ba759f6dc49d3b381", null ], 17 | [ "Iterator", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a313df9421df168266a32592732c25d9f", null ], 18 | [ "RemoveNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a1c713f2e29d6d0e9d4a1ee800a679f06", null ], 19 | [ "ReplaceNodeAtPath", "classAdobeXMPCore_1_1ICompositeNode__v1.html#a2c51c5296da4abb8fa5d5999f686602b", null ] 20 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ICompositeNode__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1ICompositeNode__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ICoreConfigurationManager__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1ICoreConfigurationManager__v1 = 2 | [ 3 | [ "~ICoreConfigurationManager_v1", "classAdobeXMPCore_1_1ICoreConfigurationManager__v1.html#a16df3adfe25d46e47db70e02c1b8afd3", null ], 4 | [ "GetCoreConfigurationManager", "classAdobeXMPCore_1_1ICoreConfigurationManager__v1.html#a867de0412ef1c6baf40a35714edd3f9e", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ICoreConfigurationManager__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1ICoreConfigurationManager__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ICoreObjectFactory__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1ICoreObjectFactory__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IDOMImplementationRegistry__v1 = 2 | [ 3 | [ "~IDOMImplementationRegistry_v1", "classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a8fab4e8f7a4b6b652c623f58d7e3432b", null ], 4 | [ "GetDOMImplementationRegistry", "classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a6b12abfcc01cea39851ac51977cb1562", null ], 5 | [ "GetParser", "classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a2d0e89a55e59f6bd40d864465f373b13", null ], 6 | [ "GetSerializer", "classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a135840fcf9e5247f56c712cdc566375a", null ], 7 | [ "RegisterParser", "classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a986a5bee0a91be4d115e6b7dd5a8974b", null ], 8 | [ "RegisterSerializer", "classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.html#a9301ef751ffa40af95bbb95e19fb6c5f", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IDOMImplementationRegistry__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IDOMParser__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IDOMParser__v1 = 2 | [ 3 | [ "eActionType", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345", [ 4 | [ "kATAppendAsChildren", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345a6ce0fb64b1a284951f50aacdf76e28b9", null ], 5 | [ "kATReplaceChildren", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345ac19566553b38e9bf6c5361a8aa9bb181", null ], 6 | [ "kATAppendOrReplaceChildren", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345a720d171caeb649caf22e27ed4a39bd15", null ], 7 | [ "kATInsertBefore", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345aabbc604d77794e6cecedf1bdd947d252", null ], 8 | [ "kATInsertAfter", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345a8fca6913cbd9d4f787e53fdcfb54f2bf", null ], 9 | [ "kATReplace", "classAdobeXMPCore_1_1IDOMParser__v1.html#a9f311215532a5fa1d15a491fc7e71345a2adb910039a572f5e73dbb94f680ed18", null ] 10 | ] ], 11 | [ "~IDOMParser_v1", "classAdobeXMPCore_1_1IDOMParser__v1.html#a8cbde9bf86ebb4ef4a6968e39b601670", null ], 12 | [ "Clone", "classAdobeXMPCore_1_1IDOMParser__v1.html#aaaf363c4973c2ee1d86a019837bf1cb3", null ], 13 | [ "Parse", "classAdobeXMPCore_1_1IDOMParser__v1.html#adc690f22fbc146bebb91366de7a8739e", null ], 14 | [ "ParseWithSpecificAction", "classAdobeXMPCore_1_1IDOMParser__v1.html#ad57596496a555684497ea918569df7d2", null ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IDOMParser__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IDOMParser__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IDOMSerializer__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IDOMSerializer__v1 = 2 | [ 3 | [ "~IDOMSerializer_v1", "classAdobeXMPCore_1_1IDOMSerializer__v1.html#a3631ef4b5bf7814d37f9582463d7d453", null ], 4 | [ "Clone", "classAdobeXMPCore_1_1IDOMSerializer__v1.html#a8ea9735550cc27b7613d6f91fc8a350e", null ], 5 | [ "Serialize", "classAdobeXMPCore_1_1IDOMSerializer__v1.html#ac8e65d9aed0a6afc951e075178d81338", null ] 6 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IDOMSerializer__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IDOMSerializer__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IMetadataConverterUtils__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IMetadataConverterUtils__v1 = 2 | [ 3 | [ "~IMetadataConverterUtils_v1", "classAdobeXMPCore_1_1IMetadataConverterUtils__v1.html#afa8598ade45ab681fceb9c432b56f38b", null ], 4 | [ "ConvertIMetadatatoXMPMeta", "classAdobeXMPCore_1_1IMetadataConverterUtils__v1.html#a0b2fcdb6beaf23786cc6f9d01ce08735", null ], 5 | [ "ConvertXMPMetatoIMetadata", "classAdobeXMPCore_1_1IMetadataConverterUtils__v1.html#aba0c6e93944d6114f20939cbde803e75", null ], 6 | [ "REQ_FRIEND_CLASS_DECLARATION", "classAdobeXMPCore_1_1IMetadataConverterUtils__v1.html#a4f02279e4186bfee3317e41e66eefa3c", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IMetadataConverterUtils__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IMetadataConverterUtils__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IMetadata__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IMetadata__v1 = 2 | [ 3 | [ "~IMetadata_v1", "classAdobeXMPCore_1_1IMetadata__v1.html#ada50f9f0415ce96ac1df948f510a3f75", null ], 4 | [ "CreateMetadata", "classAdobeXMPCore_1_1IMetadata__v1.html#a114ea75cdd7e1101455af000e01ab17d", null ], 5 | [ "DisableFeature", "classAdobeXMPCore_1_1IMetadata__v1.html#a451bb5293ea38730bee99853b1d3237b", null ], 6 | [ "EnableFeature", "classAdobeXMPCore_1_1IMetadata__v1.html#a179a82bd3f38996331e9ee0bdee997b9", null ], 7 | [ "GetAboutURI", "classAdobeXMPCore_1_1IMetadata__v1.html#a150b35e0936134f90e6ed67e1974c275", null ], 8 | [ "GetName", "classAdobeXMPCore_1_1IMetadata__v1.html#a0ecfe5679a5d81f20146258b04cc137b", null ], 9 | [ "GetNameSpace", "classAdobeXMPCore_1_1IMetadata__v1.html#aeb7329a7f3cfa543b9d54e0b1a7775ac", null ], 10 | [ "GetParent", "classAdobeXMPCore_1_1IMetadata__v1.html#af85effa94b6697f30fb24ffe5251058d", null ], 11 | [ "GetParent", "classAdobeXMPCore_1_1IMetadata__v1.html#a4533c1d11fc2d32c166c9ce05fe01b3c", null ], 12 | [ "SetAboutURI", "classAdobeXMPCore_1_1IMetadata__v1.html#a275726ca1831735fff14119b224f1028", null ], 13 | [ "SetName", "classAdobeXMPCore_1_1IMetadata__v1.html#aa087d2f94e42fdd5ece1bd22dfea66d5", null ], 14 | [ "SetNameSpace", "classAdobeXMPCore_1_1IMetadata__v1.html#a55c6097b36412f9facc8a4cf7e898186", null ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IMetadata__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IMetadata__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1INameSpacePrefixMap__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1INameSpacePrefixMap__v1 = 2 | [ 3 | [ "~INameSpacePrefixMap_v1", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#aabfdffd2a782e83a627bbe1c687a922b", null ], 4 | [ "Clear", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a6ed5fd946dfad6406539562178b3caeb", null ], 5 | [ "Clone", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a6725ac872683fbd424963a209b000aaa", null ], 6 | [ "CreateNameSpacePrefixMap", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a722b12c77879087c26990650d99d3339", null ], 7 | [ "GetDefaultNameSpacePrefixMap", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a16669cda8f88d9af18a248919103df22", null ], 8 | [ "GetNameSpace", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#ada5e3d052f27267a59913a655b4cea37", null ], 9 | [ "GetPrefix", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a87959a63a5d2c787ddb608ebc37c1a72", null ], 10 | [ "Insert", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a1cff14bbc35fabd9fff60706ebfe23e8", null ], 11 | [ "IsEmpty", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a4ba4127d58b778c0148f853d7a60b8fe", null ], 12 | [ "IsNameSpacePresent", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a25167fe5bb6a08d3ed01b416b6abdf6f", null ], 13 | [ "IsPrefixPresent", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#aa5d8da96d065a0f67e762e85fb9fe19a", null ], 14 | [ "RemoveNameSpace", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#ab030c648e112799541eb3433967207c7", null ], 15 | [ "RemovePrefix", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#aa4575950788bfa70dee5fad2d851230e", null ], 16 | [ "Size", "classAdobeXMPCore_1_1INameSpacePrefixMap__v1.html#a3dfd0d265952656c9b6641d8ce523e40", null ] 17 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1INameSpacePrefixMap__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1INameSpacePrefixMap__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1INodeIterator__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1INodeIterator__v1 = 2 | [ 3 | [ "~INodeIterator_v1", "classAdobeXMPCore_1_1INodeIterator__v1.html#aebc78681e60a09759ce7ab820716a0a2", null ], 4 | [ "GetArrayNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#ad9a22d79ead6cc79fb5bd4da858e99ce", null ], 5 | [ "GetArrayNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#ac28c72477109d12e244886f68ebc819f", null ], 6 | [ "GetNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#a3f6a091996a317d92cfb395206d866fb", null ], 7 | [ "GetNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#a14aecd54a26e8a4a87f8ec0a347f1757", null ], 8 | [ "GetNodeType", "classAdobeXMPCore_1_1INodeIterator__v1.html#a935e3acf5ce61aedabb3aebeb0957b81", null ], 9 | [ "GetSimpleNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#a7a99393cbe890dd34062e969fe57d704", null ], 10 | [ "GetSimpleNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#ac190ee197fb995c70e19ec8d9517b5d0", null ], 11 | [ "GetStructureNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#aeb5758def29eb45d016205f8c2f3349f", null ], 12 | [ "GetStructureNode", "classAdobeXMPCore_1_1INodeIterator__v1.html#ad63513356a713c2dde4b17b53e584bfc", null ], 13 | [ "Next", "classAdobeXMPCore_1_1INodeIterator__v1.html#a3b9571c0c4747e502f126f7e35cbb305", null ], 14 | [ "Next", "classAdobeXMPCore_1_1INodeIterator__v1.html#a6aac63804dfbdbd0a85440da48eb8bb3", null ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1INodeIterator__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1INodeIterator__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1INode__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1INode__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IPathSegment__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IPathSegment__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IPath__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IPath__v1 = 2 | [ 3 | [ "~IPath_v1", "classAdobeXMPCore_1_1IPath__v1.html#ad2d1a79e6c8e270c1cb9acee09e7881e", null ], 4 | [ "AppendPathSegment", "classAdobeXMPCore_1_1IPath__v1.html#ad11a65bed658401f8cfcd41387e2b8a6", null ], 5 | [ "Clear", "classAdobeXMPCore_1_1IPath__v1.html#af056942f9dba913762b258cb5b422300", null ], 6 | [ "Clone", "classAdobeXMPCore_1_1IPath__v1.html#a5098acec4a6a3e65865d84efaac0ebe7", null ], 7 | [ "CreatePath", "classAdobeXMPCore_1_1IPath__v1.html#a0da106657f48b1c8859e31de357015d4", null ], 8 | [ "GetPathSegment", "classAdobeXMPCore_1_1IPath__v1.html#a5e56d6856c8419a5e86f3815b38b482c", null ], 9 | [ "IsEmpty", "classAdobeXMPCore_1_1IPath__v1.html#af408b138336128d5854fcae8a2b6dba6", null ], 10 | [ "ParsePath", "classAdobeXMPCore_1_1IPath__v1.html#a64165b6024ea00ea1cc1c13bd6708a44", null ], 11 | [ "RegisterNameSpacePrefixMap", "classAdobeXMPCore_1_1IPath__v1.html#a75c08c101e11f3059d7bff2fde6e6817", null ], 12 | [ "RemovePathSegment", "classAdobeXMPCore_1_1IPath__v1.html#a7de20abb4af96e274ef5476a1e718d77", null ], 13 | [ "Serialize", "classAdobeXMPCore_1_1IPath__v1.html#af8f9ae0d0751a387f434ef604364f0e8", null ], 14 | [ "Size", "classAdobeXMPCore_1_1IPath__v1.html#a6a0bc65d535aabdfd52608b29270c558", null ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IPath__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IPath__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ISimpleNode__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1ISimpleNode__v1 = 2 | [ 3 | [ "~ISimpleNode_v1", "classAdobeXMPCore_1_1ISimpleNode__v1.html#a12de1bae1dcb7c8302044df2b4fddb02", null ], 4 | [ "CreateSimpleNode", "classAdobeXMPCore_1_1ISimpleNode__v1.html#a9221d195ce7d207b65652008666e04d6", null ], 5 | [ "GetValue", "classAdobeXMPCore_1_1ISimpleNode__v1.html#a84cf199d38ae9d0c70476fca2f4ea0c9", null ], 6 | [ "IsURIType", "classAdobeXMPCore_1_1ISimpleNode__v1.html#a1cd8c8f9cece3396f45adb895a69844e", null ], 7 | [ "SetURIType", "classAdobeXMPCore_1_1ISimpleNode__v1.html#a8781cf6bb583b419cf5fcaf6cf311bd2", null ], 8 | [ "SetValue", "classAdobeXMPCore_1_1ISimpleNode__v1.html#a0391485cf8c432ba03874d4329c5510e", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1ISimpleNode__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1ISimpleNode__v1.png -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IStructureNode__v1.js: -------------------------------------------------------------------------------- 1 | var classAdobeXMPCore_1_1IStructureNode__v1 = 2 | [ 3 | [ "~IStructureNode_v1", "classAdobeXMPCore_1_1IStructureNode__v1.html#a0cdcce18c6ebbb1764286e3e2456c694", null ], 4 | [ "CreateStructureNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#ab39f8d743ba67fc4e6a21b08b03fdde2", null ], 5 | [ "GetArrayNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#af8fe4c8e7c9a5262b1125aea6606fe2e", null ], 6 | [ "GetArrayNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#ab8bb3988d7adafd09b13233dc1ad4960", null ], 7 | [ "GetChildNodeType", "classAdobeXMPCore_1_1IStructureNode__v1.html#acbe83d8ffb64912b07dac670ede9a5d5", null ], 8 | [ "GetNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#a6b7fe39d01843fc9b192c794b7875829", null ], 9 | [ "GetNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#af5ce2401c3613c06ccb8b8fa69af4a1c", null ], 10 | [ "GetSimpleNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#a23ea406052e9201f3b35e59cc2b206a5", null ], 11 | [ "GetSimpleNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#af37e2ad657482bebc469f0dcb26dab73", null ], 12 | [ "GetStructureNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#a9b380e96dca941b5f9c3143931f7f633", null ], 13 | [ "GetStructureNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#add4e9ce7d881404631fc18a2b3280a89", null ], 14 | [ "InsertNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#a22d61015856c67f05237af9513e98ff7", null ], 15 | [ "RemoveNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#a25d8ec1ee8031cb693bb8c8a8102c8f8", null ], 16 | [ "ReplaceNode", "classAdobeXMPCore_1_1IStructureNode__v1.html#a5764457c137c97a42af6ca156563e455", null ] 17 | ]; -------------------------------------------------------------------------------- /docs/API/classAdobeXMPCore_1_1IStructureNode__v1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/classAdobeXMPCore_1_1IStructureNode__v1.png -------------------------------------------------------------------------------- /docs/API/classTXMPIterator.js: -------------------------------------------------------------------------------- 1 | var classTXMPIterator = 2 | [ 3 | [ "TXMPIterator", "classTXMPIterator.html#a88e855c18b2b15f7b8a5ccf3b9398352", null ], 4 | [ "TXMPIterator", "classTXMPIterator.html#a5c1bd03e776a91cbb6fd02991fe08e1b", null ], 5 | [ "TXMPIterator", "classTXMPIterator.html#a3aab7b2ddd84f25e024d7c3e66161cac", null ], 6 | [ "TXMPIterator", "classTXMPIterator.html#ab0965286a8cabeafc92fdc52f643003f", null ], 7 | [ "TXMPIterator", "classTXMPIterator.html#a6b2b7a3d6359aec216adf32bdf7fb140", null ], 8 | [ "~TXMPIterator", "classTXMPIterator.html#a911554533e8a3f09ab8870bd54462196", null ], 9 | [ "TXMPIterator", "classTXMPIterator.html#af96460ad80e55b76214c48375fda05d7", null ], 10 | [ "Next", "classTXMPIterator.html#a124a1dd1ab3ff0d236e4d4b967dafcd9", null ], 11 | [ "operator=", "classTXMPIterator.html#ad767d731320d3f4c997c6ce9f7f8fa63", null ], 12 | [ "SetClientString", "classTXMPIterator.html#a9a59621f2961ee11b164d82c8c3c0295", null ], 13 | [ "Skip", "classTXMPIterator.html#a30b4d78974b347e4fcd275f1f65a61b2", null ], 14 | [ "iterRef", "classTXMPIterator.html#aeecf240d827e33c8b1d7040a99dc7600", null ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/classXMP__Error.js: -------------------------------------------------------------------------------- 1 | var classXMP__Error = 2 | [ 3 | [ "XMP_Error", "classXMP__Error.html#aa8b3b859899759d679b00237254e30aa", null ], 4 | [ "GetErrMsg", "classXMP__Error.html#ac9340015a6fcb1603720b489ff4d3c15", null ], 5 | [ "GetID", "classXMP__Error.html#a35f028d5d0b7679e69675b33614b4f92", null ], 6 | [ "IsNotified", "classXMP__Error.html#a235a8ab59ccaef1db1d44e572f6f319a", null ], 7 | [ "SetNotified", "classXMP__Error.html#a9c368db94ca63ad7b9b118051d1f8897", null ], 8 | [ "errMsg", "classXMP__Error.html#a31fd80098e50026985e05abd16f3e045", null ], 9 | [ "id", "classXMP__Error.html#aad714bd7c428e10eff07a8ab6a4f3125", null ], 10 | [ "notified", "classXMP__Error.html#a2b884dfb0b39689d1cf95105eadc4571", null ] 11 | ]; -------------------------------------------------------------------------------- /docs/API/classXMP__IO.js: -------------------------------------------------------------------------------- 1 | var classXMP__IO = 2 | [ 3 | [ "kReadAll", "classXMP__IO.html#af77f9218892471ffad4586413ecd0dcaa148a2bca28df5b2d143590aae5153b55", null ], 4 | [ "XMP_IO", "classXMP__IO.html#a38ca896e79705a0e4228eb67d3426c65", null ], 5 | [ "~XMP_IO", "classXMP__IO.html#a52825d62e1a93ae1ee157d68860b6815", null ], 6 | [ "XMP_IO", "classXMP__IO.html#a4d2db45adc8f5bbe761434d4a8506d07", null ], 7 | [ "AbsorbTemp", "classXMP__IO.html#aad4cf42485e9d8319a07f4ecdde4ee34", null ], 8 | [ "DeleteTemp", "classXMP__IO.html#a337ddf3f954d2b4e8dce1d70d8c33ddb", null ], 9 | [ "DeriveTemp", "classXMP__IO.html#ac989de23f8fed2efcca71f5a3aa35695", null ], 10 | [ "Length", "classXMP__IO.html#af4fe442d5f7ea3d062bb5dfeadfa2335", null ], 11 | [ "Offset", "classXMP__IO.html#aa14274c6ed95da83a95e8786b7b1a91e", null ], 12 | [ "operator=", "classXMP__IO.html#a3a1c16d56b845392cef6fa1e2cd75635", null ], 13 | [ "Read", "classXMP__IO.html#a0a0db95509e567f29f34570d5042aa54", null ], 14 | [ "ReadAll", "classXMP__IO.html#a0d0b45799793c5fa3dc567556f93cceb", null ], 15 | [ "Rewind", "classXMP__IO.html#a456f92ca90a83095dbd90786a26b64e1", null ], 16 | [ "Seek", "classXMP__IO.html#a9c05bb22ecc75e71ecc546bcb756d628", null ], 17 | [ "ToEOF", "classXMP__IO.html#a51b53ca05c5627da08cd934a9ed8b281", null ], 18 | [ "Truncate", "classXMP__IO.html#af7dc2bd067498a651597a6b128f02dbb", null ], 19 | [ "Write", "classXMP__IO.html#ab48d705ca0e3fb22d84c7a323951f8e4", null ] 20 | ]; -------------------------------------------------------------------------------- /docs/API/closed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/closed.png -------------------------------------------------------------------------------- /docs/API/dir_0e5f10c8914b73a2f667b010a9332417.js: -------------------------------------------------------------------------------- 1 | var dir_0e5f10c8914b73a2f667b010a9332417 = 2 | [ 3 | [ "WXMP_Common.hpp", "WXMP__Common_8hpp.html", "WXMP__Common_8hpp" ], 4 | [ "WXMPFiles.hpp", "WXMPFiles_8hpp.html", "WXMPFiles_8hpp" ], 5 | [ "WXMPIterator.hpp", "WXMPIterator_8hpp.html", "WXMPIterator_8hpp" ], 6 | [ "WXMPMeta.hpp", "WXMPMeta_8hpp.html", "WXMPMeta_8hpp" ], 7 | [ "WXMPUtils.hpp", "WXMPUtils_8hpp.html", "WXMPUtils_8hpp" ] 8 | ]; -------------------------------------------------------------------------------- /docs/API/dir_0fb2101ba02d68f078970216a1fe0334.js: -------------------------------------------------------------------------------- 1 | var dir_0fb2101ba02d68f078970216a1fe0334 = 2 | [ 3 | [ "client-glue", "dir_0e5f10c8914b73a2f667b010a9332417.html", "dir_0e5f10c8914b73a2f667b010a9332417" ], 4 | [ "XMPCommon", "dir_13a16c6fe91841c884a316194c73d6c1.html", "dir_13a16c6fe91841c884a316194c73d6c1" ], 5 | [ "XMPCore", "dir_d9f2167f9fcfc7d7593f67aa31e893fd.html", "dir_d9f2167f9fcfc7d7593f67aa31e893fd" ], 6 | [ "TXMPFiles.hpp", "TXMPFiles_8hpp.html", [ 7 | [ "TXMPFiles", "classTXMPFiles.html", "classTXMPFiles" ] 8 | ] ], 9 | [ "TXMPIterator.hpp", "TXMPIterator_8hpp.html", [ 10 | [ "TXMPIterator", "classTXMPIterator.html", "classTXMPIterator" ] 11 | ] ], 12 | [ "TXMPMeta.hpp", "TXMPMeta_8hpp.html", [ 13 | [ "TXMPIterator", "classTXMPIterator.html", "classTXMPIterator" ], 14 | [ "TXMPUtils", "classTXMPUtils.html", "classTXMPUtils" ], 15 | [ "TXMPMeta", "classTXMPMeta.html", "classTXMPMeta" ] 16 | ] ], 17 | [ "TXMPUtils.hpp", "TXMPUtils_8hpp.html", [ 18 | [ "TXMPUtils", "classTXMPUtils.html", "classTXMPUtils" ] 19 | ] ], 20 | [ "XMP.hpp", "XMP_8hpp.html", null ], 21 | [ "XMP_Const.h", "XMP__Const_8h.html", "XMP__Const_8h" ], 22 | [ "XMP_Environment.h", "XMP__Environment_8h.html", "XMP__Environment_8h" ], 23 | [ "XMP_IO.hpp", "XMP__IO_8hpp.html", [ 24 | [ "XMP_IO", "classXMP__IO.html", "classXMP__IO" ] 25 | ] ], 26 | [ "XMP_Version.h", "XMP__Version_8h.html", "XMP__Version_8h" ] 27 | ]; -------------------------------------------------------------------------------- /docs/API/dir_13a16c6fe91841c884a316194c73d6c1.js: -------------------------------------------------------------------------------- 1 | var dir_13a16c6fe91841c884a316194c73d6c1 = 2 | [ 3 | [ "Interfaces", "dir_a2aafb81ccb63bf25660f5baa8263a1b.html", "dir_a2aafb81ccb63bf25660f5baa8263a1b" ], 4 | [ "Utilities", "dir_47a03e1ff379e16c0ff8dae8eab507ef.html", "dir_47a03e1ff379e16c0ff8dae8eab507ef" ], 5 | [ "XMPCommonDefines.h", "XMPCommonDefines_8h.html", "XMPCommonDefines_8h" ], 6 | [ "XMPCommonErrorCodes.h", "XMPCommonErrorCodes_8h.html", "XMPCommonErrorCodes_8h" ], 7 | [ "XMPCommonFwdDeclarations.h", "XMPCommonFwdDeclarations_8h.html", "XMPCommonFwdDeclarations_8h" ], 8 | [ "XMPCommonLatestInterfaceVersions.h", "XMPCommonLatestInterfaceVersions_8h.html", "XMPCommonLatestInterfaceVersions_8h" ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/dir_3ce2d6caf42dd158441e2c69545b6561.js: -------------------------------------------------------------------------------- 1 | var dir_3ce2d6caf42dd158441e2c69545b6561 = 2 | [ 3 | [ "IConfigurable.h", "IConfigurable_8h.html", [ 4 | [ "IConfigurable", "classAdobeXMPCommon_1_1IConfigurable.html", "classAdobeXMPCommon_1_1IConfigurable" ], 5 | [ "CombinedDataValue", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue" ] 6 | ] ], 7 | [ "ISharedObject.h", "ISharedObject_8h.html", [ 8 | [ "ISharedObject", "classAdobeXMPCommon_1_1ISharedObject.html", "classAdobeXMPCommon_1_1ISharedObject" ] 9 | ] ], 10 | [ "IThreadSafe.h", "IThreadSafe_8h.html", [ 11 | [ "IThreadSafe", "classAdobeXMPCommon_1_1IThreadSafe.html", "classAdobeXMPCommon_1_1IThreadSafe" ] 12 | ] ], 13 | [ "IVersionable.h", "IVersionable_8h.html", [ 14 | [ "IVersionable", "classAdobeXMPCommon_1_1IVersionable.html", "classAdobeXMPCommon_1_1IVersionable" ] 15 | ] ] 16 | ]; -------------------------------------------------------------------------------- /docs/API/dir_47a03e1ff379e16c0ff8dae8eab507ef.js: -------------------------------------------------------------------------------- 1 | var dir_47a03e1ff379e16c0ff8dae8eab507ef = 2 | [ 3 | [ "TWrapperFunctions.h", "TWrapperFunctions_8h.html", null ], 4 | [ "TWrapperFunctions2.h", "TWrapperFunctions2_8h.html", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/API/dir_a2aafb81ccb63bf25660f5baa8263a1b.js: -------------------------------------------------------------------------------- 1 | var dir_a2aafb81ccb63bf25660f5baa8263a1b = 2 | [ 3 | [ "BaseInterfaces", "dir_3ce2d6caf42dd158441e2c69545b6561.html", "dir_3ce2d6caf42dd158441e2c69545b6561" ], 4 | [ "IConfigurationManager.h", "IConfigurationManager_8h.html", [ 5 | [ "IConfigurationManager_v1", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html", "classAdobeXMPCommon_1_1IConfigurationManager__v1" ], 6 | [ "IConfigurationManagerProxy", "classAdobeXMPCommon_1_1IConfigurationManagerProxy.html", "classAdobeXMPCommon_1_1IConfigurationManagerProxy" ] 7 | ] ], 8 | [ "IError.h", "IError_8h.html", "IError_8h" ], 9 | [ "IErrorNotifier.h", "IErrorNotifier_8h.html", [ 10 | [ "IErrorNotifier_v1", "classAdobeXMPCommon_1_1IErrorNotifier__v1.html", "classAdobeXMPCommon_1_1IErrorNotifier__v1" ] 11 | ] ], 12 | [ "IMemoryAllocator.h", "IMemoryAllocator_8h.html", [ 13 | [ "IMemoryAllocator_v1", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html", "classAdobeXMPCommon_1_1IMemoryAllocator__v1" ] 14 | ] ], 15 | [ "IObjectFactory.h", "IObjectFactory_8h.html", [ 16 | [ "IObjectFactory_v1", "classAdobeXMPCommon_1_1IObjectFactory__v1.html", "classAdobeXMPCommon_1_1IObjectFactory__v1" ] 17 | ] ], 18 | [ "IUTF8String.h", "IUTF8String_8h.html", [ 19 | [ "IUTF8String_v1", "classAdobeXMPCommon_1_1IUTF8String__v1.html", "classAdobeXMPCommon_1_1IUTF8String__v1" ] 20 | ] ] 21 | ]; -------------------------------------------------------------------------------- /docs/API/dir_d9f2167f9fcfc7d7593f67aa31e893fd.js: -------------------------------------------------------------------------------- 1 | var dir_d9f2167f9fcfc7d7593f67aa31e893fd = 2 | [ 3 | [ "Interfaces", "dir_8223d5ea7844a33492dce354418ea45e.html", "dir_8223d5ea7844a33492dce354418ea45e" ], 4 | [ "XMPCoreDefines.h", "XMPCoreDefines_8h.html", "XMPCoreDefines_8h" ], 5 | [ "XMPCoreErrorCodes.h", "XMPCoreErrorCodes_8h.html", "XMPCoreErrorCodes_8h" ], 6 | [ "XMPCoreFwdDeclarations.h", "XMPCoreFwdDeclarations_8h.html", "XMPCoreFwdDeclarations_8h" ], 7 | [ "XMPCoreLatestInterfaceVersions.h", "XMPCoreLatestInterfaceVersions_8h.html", "XMPCoreLatestInterfaceVersions_8h" ] 8 | ]; -------------------------------------------------------------------------------- /docs/API/dir_f832923ad3cb060bc87ad85e68b8a1c3.js: -------------------------------------------------------------------------------- 1 | var dir_f832923ad3cb060bc87ad85e68b8a1c3 = 2 | [ 3 | [ "include", "dir_0fb2101ba02d68f078970216a1fe0334.html", "dir_0fb2101ba02d68f078970216a1fe0334" ] 4 | ]; -------------------------------------------------------------------------------- /docs/API/doc.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/doc.png -------------------------------------------------------------------------------- /docs/API/doxygen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/doxygen.png -------------------------------------------------------------------------------- /docs/API/files_dup.js: -------------------------------------------------------------------------------- 1 | var files_dup = 2 | [ 3 | [ "public", "dir_f832923ad3cb060bc87ad85e68b8a1c3.html", "dir_f832923ad3cb060bc87ad85e68b8a1c3" ] 4 | ]; -------------------------------------------------------------------------------- /docs/API/folderclosed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/folderclosed.png -------------------------------------------------------------------------------- /docs/API/folderopen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/folderopen.png -------------------------------------------------------------------------------- /docs/API/functions_dup.js: -------------------------------------------------------------------------------- 1 | var functions_dup = 2 | [ 3 | [ "a", "functions.html", null ], 4 | [ "b", "functions_b.html", null ], 5 | [ "c", "functions_c.html", null ], 6 | [ "d", "functions_d.html", null ], 7 | [ "e", "functions_e.html", null ], 8 | [ "f", "functions_f.html", null ], 9 | [ "g", "functions_g.html", null ], 10 | [ "h", "functions_h.html", null ], 11 | [ "i", "functions_i.html", null ], 12 | [ "k", "functions_k.html", null ], 13 | [ "l", "functions_l.html", null ], 14 | [ "m", "functions_m.html", null ], 15 | [ "n", "functions_n.html", null ], 16 | [ "o", "functions_o.html", null ], 17 | [ "p", "functions_p.html", null ], 18 | [ "q", "functions_q.html", null ], 19 | [ "r", "functions_r.html", null ], 20 | [ "s", "functions_s.html", null ], 21 | [ "t", "functions_t.html", null ], 22 | [ "u", "functions_u.html", null ], 23 | [ "v", "functions_v.html", null ], 24 | [ "w", "functions_w.html", null ], 25 | [ "x", "functions_x.html", null ], 26 | [ "y", "functions_y.html", null ], 27 | [ "~", "functions_~.html", null ] 28 | ]; -------------------------------------------------------------------------------- /docs/API/functions_func.js: -------------------------------------------------------------------------------- 1 | var functions_func = 2 | [ 3 | [ "a", "functions_func.html", null ], 4 | [ "c", "functions_func_c.html", null ], 5 | [ "d", "functions_func_d.html", null ], 6 | [ "e", "functions_func_e.html", null ], 7 | [ "f", "functions_func_f.html", null ], 8 | [ "g", "functions_func_g.html", null ], 9 | [ "h", "functions_func_h.html", null ], 10 | [ "i", "functions_func_i.html", null ], 11 | [ "l", "functions_func_l.html", null ], 12 | [ "m", "functions_func_m.html", null ], 13 | [ "n", "functions_func_n.html", null ], 14 | [ "o", "functions_func_o.html", null ], 15 | [ "p", "functions_func_p.html", null ], 16 | [ "q", "functions_func_q.html", null ], 17 | [ "r", "functions_func_r.html", null ], 18 | [ "s", "functions_func_s.html", null ], 19 | [ "t", "functions_func_t.html", null ], 20 | [ "v", "functions_func_v.html", null ], 21 | [ "w", "functions_func_w.html", null ], 22 | [ "x", "functions_func_x.html", null ], 23 | [ "~", "functions_func_~.html", null ] 24 | ]; -------------------------------------------------------------------------------- /docs/API/globals_defs.js: -------------------------------------------------------------------------------- 1 | var globals_defs = 2 | [ 3 | [ "_", "globals_defs.html", null ], 4 | [ "b", "globals_defs_b.html", null ], 5 | [ "c", "globals_defs_c.html", null ], 6 | [ "d", "globals_defs_d.html", null ], 7 | [ "e", "globals_defs_e.html", null ], 8 | [ "i", "globals_defs_i.html", null ], 9 | [ "j", "globals_defs_j.html", null ], 10 | [ "k", "globals_defs_k.html", null ], 11 | [ "p", "globals_defs_p.html", null ], 12 | [ "q", "globals_defs_q.html", null ], 13 | [ "r", "globals_defs_r.html", null ], 14 | [ "s", "globals_defs_s.html", null ], 15 | [ "t", "globals_defs_t.html", null ], 16 | [ "w", "globals_defs_w.html", null ], 17 | [ "x", "globals_defs_x.html", null ], 18 | [ "z", "globals_defs_z.html", null ] 19 | ]; -------------------------------------------------------------------------------- /docs/API/globals_dup.js: -------------------------------------------------------------------------------- 1 | var globals_dup = 2 | [ 3 | [ "_", "globals.html", null ], 4 | [ "b", "globals_b.html", null ], 5 | [ "c", "globals_c.html", null ], 6 | [ "d", "globals_d.html", null ], 7 | [ "e", "globals_e.html", null ], 8 | [ "i", "globals_i.html", null ], 9 | [ "j", "globals_j.html", null ], 10 | [ "k", "globals_k.html", null ], 11 | [ "m", "globals_m.html", null ], 12 | [ "p", "globals_p.html", null ], 13 | [ "q", "globals_q.html", null ], 14 | [ "r", "globals_r.html", null ], 15 | [ "s", "globals_s.html", null ], 16 | [ "t", "globals_t.html", null ], 17 | [ "w", "globals_w.html", null ], 18 | [ "x", "globals_x.html", null ], 19 | [ "z", "globals_z.html", null ] 20 | ]; -------------------------------------------------------------------------------- /docs/API/globals_eval.js: -------------------------------------------------------------------------------- 1 | var globals_eval = 2 | [ 3 | [ "_", "globals_eval.html", null ], 4 | [ "k", "globals_eval_k.html", null ] 5 | ]; -------------------------------------------------------------------------------- /docs/API/namespaceAdobeXMPCommon.js: -------------------------------------------------------------------------------- 1 | var namespaceAdobeXMPCommon = 2 | [ 3 | [ "IConfigurable", "classAdobeXMPCommon_1_1IConfigurable.html", "classAdobeXMPCommon_1_1IConfigurable" ], 4 | [ "IConfigurationManager_v1", "classAdobeXMPCommon_1_1IConfigurationManager__v1.html", "classAdobeXMPCommon_1_1IConfigurationManager__v1" ], 5 | [ "IConfigurationManagerProxy", "classAdobeXMPCommon_1_1IConfigurationManagerProxy.html", "classAdobeXMPCommon_1_1IConfigurationManagerProxy" ], 6 | [ "IError_v1", "classAdobeXMPCommon_1_1IError__v1.html", "classAdobeXMPCommon_1_1IError__v1" ], 7 | [ "IErrorNotifier_v1", "classAdobeXMPCommon_1_1IErrorNotifier__v1.html", "classAdobeXMPCommon_1_1IErrorNotifier__v1" ], 8 | [ "IMemoryAllocator_v1", "classAdobeXMPCommon_1_1IMemoryAllocator__v1.html", "classAdobeXMPCommon_1_1IMemoryAllocator__v1" ], 9 | [ "IObjectFactory_v1", "classAdobeXMPCommon_1_1IObjectFactory__v1.html", "classAdobeXMPCommon_1_1IObjectFactory__v1" ], 10 | [ "ISharedObject", "classAdobeXMPCommon_1_1ISharedObject.html", "classAdobeXMPCommon_1_1ISharedObject" ], 11 | [ "IThreadSafe", "classAdobeXMPCommon_1_1IThreadSafe.html", "classAdobeXMPCommon_1_1IThreadSafe" ], 12 | [ "IUTF8String_v1", "classAdobeXMPCommon_1_1IUTF8String__v1.html", "classAdobeXMPCommon_1_1IUTF8String__v1" ], 13 | [ "IVersionable", "classAdobeXMPCommon_1_1IVersionable.html", "classAdobeXMPCommon_1_1IVersionable" ], 14 | [ "ReportErrorAndContinueFunctor", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor.html", "classAdobeXMPCommon_1_1ReportErrorAndContinueFunctor" ] 15 | ]; -------------------------------------------------------------------------------- /docs/API/namespacemembers_dup.js: -------------------------------------------------------------------------------- 1 | var namespacemembers_dup = 2 | [ 3 | [ "b", "namespacemembers.html", null ], 4 | [ "c", "namespacemembers_c.html", null ], 5 | [ "e", "namespacemembers_e.html", null ], 6 | [ "i", "namespacemembers_i.html", null ], 7 | [ "k", "namespacemembers_k.html", null ], 8 | [ "m", "namespacemembers_m.html", null ], 9 | [ "n", "namespacemembers_n.html", null ], 10 | [ "p", "namespacemembers_p.html", null ], 11 | [ "r", "namespacemembers_r.html", null ], 12 | [ "s", "namespacemembers_s.html", null ], 13 | [ "u", "namespacemembers_u.html", null ] 14 | ]; -------------------------------------------------------------------------------- /docs/API/namespaces_dup.js: -------------------------------------------------------------------------------- 1 | var namespaces_dup = 2 | [ 3 | [ "AdobeXMPCommon", "namespaceAdobeXMPCommon.html", null ], 4 | [ "AdobeXMPCommon_Int", "namespaceAdobeXMPCommon__Int.html", null ], 5 | [ "AdobeXMPCore", "namespaceAdobeXMPCore.html", null ], 6 | [ "AdobeXMPCore_Int", "namespaceAdobeXMPCore__Int.html", null ] 7 | ]; -------------------------------------------------------------------------------- /docs/API/nav_f.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/nav_f.png -------------------------------------------------------------------------------- /docs/API/nav_g.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/nav_g.png -------------------------------------------------------------------------------- /docs/API/nav_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/nav_h.png -------------------------------------------------------------------------------- /docs/API/open.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/open.png -------------------------------------------------------------------------------- /docs/API/splitbar.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/splitbar.png -------------------------------------------------------------------------------- /docs/API/structWXMP__Result.js: -------------------------------------------------------------------------------- 1 | var structWXMP__Result = 2 | [ 3 | [ "WXMP_Result", "structWXMP__Result.html#ad1046c86e2b3eba3109e6ae3f7063352", null ], 4 | [ "errMessage", "structWXMP__Result.html#ae329adc6d31243687d8bd85987ad6999", null ], 5 | [ "floatResult", "structWXMP__Result.html#a872bf8583413190b991beda67f017fb5", null ], 6 | [ "int32Result", "structWXMP__Result.html#a0bef8219ee23d2869ae6701330820794", null ], 7 | [ "int64Result", "structWXMP__Result.html#af515f52630be278a2334d7d9db587f13", null ], 8 | [ "ptrResult", "structWXMP__Result.html#ae1b91c50cee342a87f7708dd92a3d538", null ] 9 | ]; -------------------------------------------------------------------------------- /docs/API/structXMP__DateTime.js: -------------------------------------------------------------------------------- 1 | var structXMP__DateTime = 2 | [ 3 | [ "day", "structXMP__DateTime.html#a58496718277eea9dc5e3e19d80a69094", null ], 4 | [ "hasDate", "structXMP__DateTime.html#a62e0f39edef2a82749feed46b16572e8", null ], 5 | [ "hasTime", "structXMP__DateTime.html#a2c7f3d493a78f6b3fc7978992308d268", null ], 6 | [ "hasTimeZone", "structXMP__DateTime.html#a1dd34cdab96f55c120b3289db32bdd1e", null ], 7 | [ "hour", "structXMP__DateTime.html#abc79cdca8cfa5df6583279e3f3e70e9f", null ], 8 | [ "minute", "structXMP__DateTime.html#ae84965f3296a9c106d1f6c88aa6a7bdf", null ], 9 | [ "month", "structXMP__DateTime.html#ab4b71c1a54879d7da1b4135e23d5446f", null ], 10 | [ "nanoSecond", "structXMP__DateTime.html#a190c2a19f01e90997ec2973aec37712c", null ], 11 | [ "second", "structXMP__DateTime.html#a675313c70a7e05b7ca50d21300b7d81b", null ], 12 | [ "tzHour", "structXMP__DateTime.html#a6045133feeef41ac1f78c4664ab13db4", null ], 13 | [ "tzMinute", "structXMP__DateTime.html#a45baa70f30a3dc9f88819886cfb91aa1", null ], 14 | [ "tzSign", "structXMP__DateTime.html#a2b26282b9f1ab9920a8f05008c776ddb", null ], 15 | [ "year", "structXMP__DateTime.html#a2db713deacfd5a5cb2deea660ca2ccad", null ] 16 | ]; -------------------------------------------------------------------------------- /docs/API/structXMP__PacketInfo.js: -------------------------------------------------------------------------------- 1 | var structXMP__PacketInfo = 2 | [ 3 | [ "XMP_PacketInfo", "structXMP__PacketInfo.html#a2ae03a1b3d03fa9ebc829105037155a8", null ], 4 | [ "charForm", "structXMP__PacketInfo.html#a039ce6665fe8e08d922a46f266799f75", null ], 5 | [ "hasWrapper", "structXMP__PacketInfo.html#a6725d8ab8b4eedddaac950d2b1b00a7f", null ], 6 | [ "length", "structXMP__PacketInfo.html#af526c582b66e24553f2d4b11eb714a44", null ], 7 | [ "offset", "structXMP__PacketInfo.html#a20f65fcfd0f3658ab93ff441a9d61d2c", null ], 8 | [ "pad", "structXMP__PacketInfo.html#a83ec12161a36451fef05d88cc754104e", null ], 9 | [ "padSize", "structXMP__PacketInfo.html#af4f99e6a5b36b05fdf4a519421875256", null ], 10 | [ "writeable", "structXMP__PacketInfo.html#a66845c1d5f3f9f36a1543a7322bd7bd1", null ] 11 | ]; -------------------------------------------------------------------------------- /docs/API/structXMP__VersionInfo.js: -------------------------------------------------------------------------------- 1 | var structXMP__VersionInfo = 2 | [ 3 | [ "build", "structXMP__VersionInfo.html#a0e20a6bf10da4c17bdfc8027f1586ffc", null ], 4 | [ "flags", "structXMP__VersionInfo.html#ad018f35b382046ca77b1252bafa93f74", null ], 5 | [ "isDebug", "structXMP__VersionInfo.html#af1643d86f32f5a5a275dc9c5ba843018", null ], 6 | [ "major", "structXMP__VersionInfo.html#a7edfa1613a58a248fd15267008bd8afb", null ], 7 | [ "message", "structXMP__VersionInfo.html#a19654242b92bffd7517e92882850e834", null ], 8 | [ "micro", "structXMP__VersionInfo.html#a4b448a8253e26a37d2df35e04ac25d28", null ], 9 | [ "minor", "structXMP__VersionInfo.html#af5b56598e15febd742b431dadae7c317", null ] 10 | ]; -------------------------------------------------------------------------------- /docs/API/sync_off.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/sync_off.png -------------------------------------------------------------------------------- /docs/API/sync_on.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/sync_on.png -------------------------------------------------------------------------------- /docs/API/tab_a.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/tab_a.png -------------------------------------------------------------------------------- /docs/API/tab_b.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/tab_b.png -------------------------------------------------------------------------------- /docs/API/tab_h.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/tab_h.png -------------------------------------------------------------------------------- /docs/API/tab_s.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/tab_s.png -------------------------------------------------------------------------------- /docs/API/unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.js: -------------------------------------------------------------------------------- 1 | var unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue = 2 | [ 3 | [ "boolValue", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#a5cf9ec10ad5942fe67759a8c442817da", null ], 4 | [ "charValue", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#acf5eba644510b302a7d351ab06174880", null ], 5 | [ "constCharPtrValue", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#a8b483f56604dfd719c6cc0cbd883d9f7", null ], 6 | [ "constVoidPtrValue", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#a8f1fc5e55c1cac4aba0b23d9e2f25a5a", null ], 7 | [ "doubleValue", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#a0c9f75a96d53c5d03516f233937d6dca", null ], 8 | [ "int64Value", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#ad65f4aa42944655754cdabc56befe34c", null ], 9 | [ "uint32Value", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#a6ed591451d1db9b4fd0dac884bfe489e", null ], 10 | [ "uint64Value", "unionAdobeXMPCommon_1_1IConfigurable_1_1CombinedDataValue.html#a65e7b5a9f09ea6b684e5e0aaa5f63ee1", null ] 11 | ]; -------------------------------------------------------------------------------- /docs/API/xmp_tagline_small.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/API/xmp_tagline_small.jpg -------------------------------------------------------------------------------- /docs/ActionScriptAccessToXMP.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/ActionScriptAccessToXMP.pdf -------------------------------------------------------------------------------- /docs/DynamicMediaXMPPartnerGuide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/DynamicMediaXMPPartnerGuide.pdf -------------------------------------------------------------------------------- /docs/XMP-Technote-Delete-Internal-Props.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMP-Technote-Delete-Internal-Props.pdf -------------------------------------------------------------------------------- /docs/XMPAddendumProgrammersGuide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMPAddendumProgrammersGuide.pdf -------------------------------------------------------------------------------- /docs/XMPFilesPluginSDK.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMPFilesPluginSDK.pdf -------------------------------------------------------------------------------- /docs/XMPProgrammersGuide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMPProgrammersGuide.pdf -------------------------------------------------------------------------------- /docs/XMPSpecificationPart1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMPSpecificationPart1.pdf -------------------------------------------------------------------------------- /docs/XMPSpecificationPart2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMPSpecificationPart2.pdf -------------------------------------------------------------------------------- /docs/XMPSpecificationPart3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/XMPSpecificationPart3.pdf -------------------------------------------------------------------------------- /docs/xmp_public_patent_license.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/docs/xmp_public_patent_license.pdf -------------------------------------------------------------------------------- /public/include/XMPCommon/XMPCommonLatestInterfaceVersions.h: -------------------------------------------------------------------------------- 1 | #ifndef XMPCommonLatestInterfaceVersions_h__ 2 | #define XMPCommonLatestInterfaceVersions_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 | //! 14 | //!@brief Macro to include a client file through with client can control the interface versions he wants to stick with 15 | //!if not the latest ones. 16 | //! 17 | #if !SOURCE_COMPILING_XMPCOMMON_LIB 18 | #ifdef XMPCOMMON_CLIENT_VERSION_NUMBER_FILE 19 | #include QUOTEME(XMPCOMMON_CLIENT_VERSION_NUMBER_FILE) 20 | #endif 21 | #endif 22 | 23 | #ifndef IOBJECTFACTORY_VERSION 24 | #define IOBJECTFACTORY_VERSION 1 25 | #endif 26 | 27 | #ifndef IERROR_VERSION 28 | #define IERROR_VERSION 1 29 | #endif 30 | 31 | #ifndef IUTF8STRING_VERSION 32 | #define IUTF8STRING_VERSION 1 33 | #endif 34 | 35 | #ifndef IMEMORYALLOCATOR_VERSION 36 | #define IMEMORYALLOCATOR_VERSION 1 37 | #endif 38 | 39 | #ifndef IERRORNOTIFIER_VERSION 40 | #define IERRORNOTIFIER_VERSION 1 41 | #endif 42 | 43 | #ifndef ICONFIGURATIONMANAGER_VERSION 44 | #define ICONFIGURATIONMANAGER_VERSION 1 45 | #endif 46 | 47 | #ifndef ICONFIGURABLE_VERSION 48 | #define ICONFIGURABLE_VERSION 1 49 | #endif 50 | 51 | #endif // XMPCommonLatestInterfaceVersions_h__ 52 | -------------------------------------------------------------------------------- /public/include/XMPCommon/source/IErrorNotifier.cpp: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright Adobe 3 | // Copyright 2015 Adobe 4 | // All Rights Reserved 5 | // 6 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | // of the Adobe license agreement accompanying it. 8 | // ================================================================================================= 9 | 10 | #include "XMPCommon/Interfaces/IErrorNotifier.h" 11 | #include "XMPCommon/Interfaces/IError.h" 12 | 13 | namespace AdobeXMPCommon { 14 | uint32 APICALL IErrorNotifier_v1::notify( pcIError_base error, uint32 & exceptionThrown ) __NOTHROW__ { 15 | exceptionThrown = 0; 16 | bool retValue( false ); 17 | try { 18 | retValue = Notify( IError::MakeShared( error ) ); 19 | } catch ( ... ) { 20 | exceptionThrown = 1; 21 | } 22 | return retValue ? 1 : 0; 23 | } 24 | 25 | } 26 | 27 | -------------------------------------------------------------------------------- /samples/build/cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ================================================================================================= 2 | # ADOBE SYSTEMS INCORPORATED 3 | # Copyright 2013 Adobe Systems Incorporated 4 | # All Rights Reserved 5 | # 6 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | # of the Adobe license agreement accompanying it. 8 | # ================================================================================================= 9 | 10 | # define minimum cmake version 11 | # For Android always build with make 3.6 12 | if(ANDROID) 13 | cmake_minimum_required(VERSION 3.5.2) 14 | else(ANDROID) 15 | cmake_minimum_required(VERSION 3.15.5) 16 | endif(ANDROID) 17 | 18 | project(${PROJECT_NAME}64) 19 | 20 | #This projects relative path to XMP Root 21 | set ( XMP_THIS_PROJECT_RELATIVEPATH "../../../") 22 | #setting the root for XMP SDK 23 | if(NOT DEFINED XMP_ROOT) 24 | set(XMP_ROOT ${CMAKE_CURRENT_SOURCE_DIR}/${XMP_THIS_PROJECT_RELATIVEPATH}) 25 | endif() 26 | 27 | if(NOT DEFINED COMMON_BUILD_SHARED_DIR) 28 | set(COMMON_BUILD_SHARED_DIR ${XMP_ROOT}/build/shared) 29 | endif() 30 | 31 | set(USE_BUILDMODE_LIBNAME 0) 32 | 33 | include(CMakeListsCommonSDK.txt) -------------------------------------------------------------------------------- /samples/build/cmake/DumpFile/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ================================================================================================= 2 | # ADOBE SYSTEMS INCORPORATED 3 | # Copyright 2013 Adobe Systems Incorporated 4 | # All Rights Reserved 5 | # 6 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | # of the Adobe license agreement accompanying it. 8 | # ================================================================================================= 9 | 10 | # define minimum cmake version 11 | # For Android always build with make 3.6 12 | if(ANDROID) 13 | cmake_minimum_required(VERSION 3.5.2) 14 | else(ANDROID) 15 | cmake_minimum_required(VERSION 3.15.5) 16 | endif(ANDROID) 17 | 18 | # ============================================================================== 19 | # Adding Project Name 20 | # ============================================================================== 21 | project (DumpFile) 22 | 23 | # ============================================================================== 24 | file (GLOB SOURCE_FILES ${SAMPLE_SOURCE_ROOT}/common/DumpFile.cpp ${SAMPLE_SOURCE_ROOT}/dumpfile/main.cpp ) 25 | file (GLOB COMMON_FILES ${SAMPLE_SOURCE_ROOT}/common/*.cpp ) 26 | list(REMOVE_ITEM COMMON_FILES ${SAMPLE_SOURCE_ROOT}/common/DumpFile.cpp ) 27 | 28 | 29 | include(CMakeListsCommon.txt) 30 | 31 | 32 | 33 | -------------------------------------------------------------------------------- /samples/build/cmake/XMPCommand/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | # ================================================================================================= 2 | # ADOBE SYSTEMS INCORPORATED 3 | # Copyright 2013 Adobe Systems Incorporated 4 | # All Rights Reserved 5 | # 6 | # NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 7 | # of the Adobe license agreement accompanying it. 8 | # ================================================================================================= 9 | 10 | # define minimum cmake version 11 | # For Android always build with make 3.6 12 | if(ANDROID) 13 | cmake_minimum_required(VERSION 3.5.2) 14 | else(ANDROID) 15 | cmake_minimum_required(VERSION 3.15.5) 16 | endif(ANDROID) 17 | 18 | 19 | # ============================================================================== 20 | file (GLOB SOURCE_FILES ${SAMPLE_SOURCE_ROOT}/xmpcommand/*.cpp ) 21 | file (GLOB COMMON_FILES ${SAMPLE_SOURCE_ROOT}/common/Log.cpp ${SAMPLE_SOURCE_ROOT}/common/LargeFileAccess.cpp ${XMP_ROOT}/source/UnicodeConversions.cpp) 22 | 23 | include(CMakeListsCommon.txt) 24 | -------------------------------------------------------------------------------- /samples/build/readme.txt: -------------------------------------------------------------------------------- 1 | Building Sample Projects: 2 | 3 | Windows: 4 | 5 | 1. Double Click "GenerateSamples_win.bat" or run it through command prompt. 6 | 2. Enter the type of project to create 7 | 3. The project files will be created in vc14\windows or vc14\windows_x64 folder 8 | 9 | Mac: 10 | 11 | 1. Run the shell script GenerateSamples_mac.sh. 12 | 2. Enter the type of project to create 13 | 3. The project files will be created in xcode\intel_64 folder 14 | 15 | Linux: 16 | 17 | 1. Run the Makefile. This Makefile will call cmake to generate the makefile for all the samples. Also all the sample will be build automatically. 18 | 2. All the sample projects makefiles will be created in gcc folder. 19 | 3. All the sample will be built in ../target folder. 20 | 4. Make sure the gcc location is added to $PATH and its libraries location to $LD_LIBRARY_PATH. There is a need to add libuuid.so library path to the $LD_LIBRARY_PATH as well. 21 | -------------------------------------------------------------------------------- /samples/source/common/DumpFile.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright 2002-2008 Adobe Systems Incorporated 3 | // All Rights Reserved. 4 | // 5 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 6 | // of the Adobe license agreement accompanying it. 7 | // 8 | // ================================================================================================= 9 | 10 | #ifndef XMPQE_DUMPFILE_H 11 | #define XMPQE_DUMPFILE_H 12 | 13 | #include "samples/source/common/TagTree.h" 14 | #define IsNumeric( ch ) (ch >='0' && ch<='9' ) 15 | 16 | class DumpFile { 17 | public: 18 | static void Scan( std::string filename, TagTree &tagTree, bool resetTree = true ); 19 | 20 | /* dumps file to output, no strings attached Log::info() */ 21 | static void dumpFile( std::string filename ); 22 | }; 23 | 24 | #endif 25 | 26 | -------------------------------------------------------------------------------- /samples/source/xmpcommand/Actions.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright 2006 Adobe 3 | // All Rights Reserved. 4 | // 5 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 6 | // of the Adobe license agreement accompanying it. 7 | // ================================================================================================= 8 | 9 | #ifndef __ACTIONS_h__ 10 | #define __ACTIONS_h__ 1 11 | 12 | class Actions { 13 | public: 14 | enum ACTION_TYPE { NONE, VERSION, INFO, PUT, GET, DUMP }; 15 | 16 | //the params to be set: 17 | bool switch_safe; //asking for closing file with kXMPFiles_UpdateSafely (safe+rename that is) 18 | 19 | //these two mututally exclusive: 20 | bool switch_smart; /* Require the use of a smart handler. (kXMPFiles_OpenUseSmartHandler) */ 21 | bool switch_scan; /* Force packet scanning, don't use a smart handler. kXMPFiles_OpenUsePacketScanning */ 22 | 23 | bool switch_nocheck; /* no "sanity checks" on xmp-side i.e. for read/writeability, only usefull for testing "proper failure" */ 24 | bool switch_compact; /* ask extract to extract xmp in the compact (non-pretty) RDF-style (attributes rather than content of tags) */ 25 | 26 | std::string outfile;//output goes (besides stdout) to an output file... 27 | std::string mediafile; //relative path to XMP snippet (null if none) 28 | 29 | ACTION_TYPE actiontype; //inits with NONE 30 | 31 | std::string xmpsnippet; //relative path to XMP snippet (null if none) 32 | 33 | //distributes the actions to the different routines... 34 | void doAction(); 35 | 36 | private: 37 | void version(void); 38 | void info(void); 39 | void put(); 40 | void get(void); 41 | void dump(void); 42 | 43 | XMP_OptionBits generalOpenFlags; 44 | XMP_OptionBits generalCloseFlags; 45 | 46 | }; 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /samples/source/xmpcommand/PrintUsage.h: -------------------------------------------------------------------------------- 1 | // ================================================================================================= 2 | // Copyright 2006 Adobe 3 | // All Rights Reserved. 4 | // 5 | // NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms 6 | // of the Adobe license agreement accompanying it. 7 | // ================================================================================================= 8 | 9 | #ifndef __XMPQE_PRINT_USAGE_h__ 10 | #define __XMPQE_PRINT_USAGE_h__ 1 11 | 12 | namespace XMPQE { 13 | void PrintUsageShort(char* exename); 14 | void PrintUsageLong(char* exename); 15 | } 16 | 17 | #endif 18 | -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.ai: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.ai -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.avi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.avi -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.indd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.indd -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.jpg -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.mov: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.mov -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.mp3 -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.pdf -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.png -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.psd -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.tif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.tif -------------------------------------------------------------------------------- /samples/testfiles/BlueSquare.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/BlueSquare.wav -------------------------------------------------------------------------------- /samples/testfiles/Image1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/Image1.jpg -------------------------------------------------------------------------------- /samples/testfiles/Image2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/adobe/XMP-Toolkit-SDK/581c41213ddcee1fbc72cbb532531102a6617a25/samples/testfiles/Image2.jpg -------------------------------------------------------------------------------- /source/ExpatAdapter.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __ExpatAdapter_hpp__ 2 | #define __ExpatAdapter_hpp__ 3 | 4 | // ================================================================================================= 5 | // Copyright 2005 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 "public/include/XMP_Environment.h" // ! Must be the first #include! 13 | #include "source/XMLParserAdapter.hpp" 14 | 15 | // ================================================================================================= 16 | // Derived XML parser adapter for Expat. 17 | // ================================================================================================= 18 | 19 | #ifndef BanAllEntityUsage 20 | #define BanAllEntityUsage 0 21 | #endif 22 | 23 | struct XML_ParserStruct; // ! Hack to avoid exposing expat.h to all clients. 24 | typedef struct XML_ParserStruct *XML_Parser; 25 | 26 | class ExpatAdapter : public XMLParserAdapter { 27 | public: 28 | 29 | XML_Parser parser; 30 | XMP_NamespaceTable * registeredNamespaces; 31 | 32 | #if BanAllEntityUsage 33 | bool isAborted; 34 | #endif 35 | 36 | #if XMP_DebugBuild 37 | size_t elemNesting; 38 | #endif 39 | 40 | static const bool kUseGlobalNamespaces = true; 41 | static const bool kUseLocalNamespaces = false; 42 | 43 | ExpatAdapter ( bool useGlobalNamespaces ); 44 | virtual ~ExpatAdapter(); 45 | 46 | void ParseBuffer ( const void * buffer, size_t length, bool last = true ); 47 | 48 | private: 49 | 50 | ExpatAdapter() : registeredNamespaces(0) {}; // ! Force use of constructor with namespace parameter. 51 | 52 | }; 53 | 54 | extern "C" ExpatAdapter * 55 | XMP_PUBLIC XMP_NewExpatAdapter ( bool useGlobalNamespaces ); 56 | 57 | // ================================================================================================= 58 | 59 | #endif // __ExpatAdapter_hpp__ 60 | -------------------------------------------------------------------------------- /source/IOUtils.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __IOUtils_hpp__ 2 | #define __IOUtils_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright 2013 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 | #include "public/include/XMP_Environment.h" 14 | #include "public/include/XMP_Const.h" 15 | 16 | #include "source/XMP_LibUtils.hpp" 17 | 18 | //Helper class for common IO function 19 | class IOUtils 20 | { 21 | public: 22 | // Returns the list of folders or files matching particular string format in the given Directory 23 | static void GetMatchingChildren ( XMP_StringVector & matchingChildList, const XMP_VarString & rootPath, 24 | const XMP_StringVector & regExStringVec, XMP_Bool includeFolders, XMP_Bool includeFiles, XMP_Bool prefixRootPath ); 25 | 26 | // Returns the list of folders or files matching particular string format in the given Directory 27 | static void GetMatchingChildren ( XMP_StringVector & matchingChildList, const XMP_VarString & rootPath, 28 | const XMP_VarString & regExpStr, XMP_Bool includeFolders, XMP_Bool includeFiles, XMP_Bool prefixRootPath ); 29 | }; 30 | 31 | #endif // __IOUtils_hpp__ 32 | -------------------------------------------------------------------------------- /source/PerfUtils.hpp: -------------------------------------------------------------------------------- 1 | #ifndef __PerfUtils_hpp__ 2 | #define __PerfUtils_hpp__ 1 3 | 4 | // ================================================================================================= 5 | // Copyright 2006 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 "public/include/XMP_Environment.h" 13 | 14 | #if XMP_MacBuild 15 | #include 16 | #elif XMP_WinBuild 17 | #include 18 | #elif XMP_UNIXBuild | XMP_iOSBuild | XMP_AndroidBuild 19 | #include 20 | #endif 21 | 22 | namespace PerfUtils { 23 | 24 | #if XMP_WinBuild 25 | // typedef LARGE_INTEGER MomentValue; 26 | typedef LONGLONG MomentValue; 27 | static const MomentValue kZeroMoment = 0; 28 | #elif XMP_UNIXBuild | XMP_AndroidBuild 29 | typedef struct timespec MomentValue; 30 | static const MomentValue kZeroMoment = {0, 0}; 31 | #elif XMP_iOSBuild | XMP_MacBuild 32 | typedef uint64_t MomentValue; 33 | static const MomentValue kZeroMoment = 0; 34 | #endif 35 | 36 | const char * GetTimerInfo(); 37 | 38 | MomentValue NoteThisMoment(); 39 | 40 | double GetElapsedSeconds ( MomentValue start, MomentValue finish ); 41 | 42 | }; // PerfUtils 43 | 44 | #endif // __PerfUtils_hpp__ 45 | -------------------------------------------------------------------------------- /third-party/expat/ReadMe.txt: -------------------------------------------------------------------------------- 1 | The XMP Toolkit needs an external XML parser. The source from Adobe is written to use Expat, 2 | 3 | although adapters for other parsers can easily be written. The most recent version of Expat used 4 | 5 | with XMP is 2.5.0. To use Expat: 6 | 7 | 8 | 9 | 1. Obtain a copy of the Expat distribution. One good place is SourceForge: 10 | 11 | http://sourceforge.net/projects/expat/files/expat/2.5.0/ 12 | 13 | 14 | 15 | 2. Place Expat's lib directory within .../third-party/expat. I.e. as a sibling of this file. 16 | 17 | 18 | 19 | For Expat version 2.4.7 the contents of .../third-party/expat/lib are: 20 | 21 | 22 | 23 | amigaconfig.h 24 | 25 | ascii.h 26 | 27 | asciitab.h 28 | 29 | expat.dsp 30 | 31 | expat.h 32 | 33 | expatw.dsp 34 | 35 | expatw_static.dsp 36 | 37 | expat_external.h 38 | 39 | expat_static.dsp 40 | 41 | iasciitab.h 42 | 43 | internal.h 44 | 45 | latin1tab.h 46 | 47 | libexpat.def 48 | 49 | libexpatw.def 50 | 51 | macconfig.h 52 | 53 | Makefile.MPW 54 | 55 | nametab.h 56 | 57 | utf8tab.h 58 | 59 | winconfig.h 60 | 61 | xmlparse.c 62 | 63 | xmlrole.c 64 | 65 | xmlrole.h 66 | 67 | xmltok.c 68 | 69 | xmltok.h 70 | 71 | xmltok_impl.c 72 | 73 | xmltok_impl.h 74 | 75 | xmltok_ns.c 76 | 77 | -------------------------------------------------------------------------------- /third-party/zlib/ReadMe.txt: -------------------------------------------------------------------------------- 1 | The XMP Toolkit SDK needs zlib. 2 | This release uses zlib Version 1.2.13 3 | 4 | 5 | 6 | 7 | 8 | 9 | To get zlib: 10 | 11 | 12 | 13 | 14 | 15 | 1. Obtain a copy of the zlib source code (not the compiled dll) 16 | 17 | 18 | from http://www.zlib.net/ 19 | 20 | 21 | (download links at the time of writing were at the bottom) 22 | 23 | 24 | 25 | 26 | 27 | 28 | 2. Place all top-level .c and .h files of the tar/zip you downloaded 29 | 30 | 31 | directly in .../third-party/zlib 32 | 33 | 34 | 35 | 36 | 37 | 38 | -------------------------------------------------------------------------------- /third-party/zuid/interfaces/MD5.h: -------------------------------------------------------------------------------- 1 | #ifndef __MD5_h__ 2 | #define __MD5_h__ 3 | 4 | /******************************************************************************/ 5 | 6 | /* 7 | MD5C.C - RSA Data Security, Inc., MD5 message-digest algorithm 8 | 9 | Copyright (C) 1991-2, RSA Data Security, Inc. Created 1991. All rights 10 | reserved. 11 | 12 | License to copy and use this software is granted provided that it is 13 | identified as the "RSA Data Security, Inc. MD5 Message-Digest Algorithm" in 14 | all material mentioning or referencing this software or this function. 15 | 16 | License is also granted to make and use derivative works provided that such 17 | works are identified as "derived from the RSA Data Security, Inc. MD5 18 | Message-Digest Algorithm" in all material mentioning or referencing the 19 | derived work. 20 | 21 | RSA Data Security, Inc. makes no representations concerning either the 22 | merchantability of this software or the suitability of this software for 23 | any particular purpose. It is provided "as is" without express or implied 24 | warranty of any kind. 25 | 26 | These notices must be retained in any copies of any part of this 27 | documentation and/or software. 28 | */ 29 | 30 | /******************************************************************************/ 31 | 32 | #include "public/include/XMP_Const.h" // For safe fixed integer sizes. 33 | 34 | /* MD5 context. */ 35 | struct MD5_CTX 36 | { 37 | XMP_Uns32 state[4]; /* state (ABCD) */ 38 | XMP_Uns32 count[2]; /* number of bits, modulo 2^64 (lsb first) */ 39 | XMP_Uns8 buffer[64]; /* input buffer */ 40 | }; 41 | 42 | extern void MD5Init (MD5_CTX *); 43 | extern void MD5Update (MD5_CTX *, XMP_Uns8 *, XMP_Uns32); 44 | extern void MD5Final(XMP_Uns8 [16], MD5_CTX *); 45 | 46 | /******************************************************************************/ 47 | 48 | #endif 49 | -------------------------------------------------------------------------------- /tools/android/ReadMe.txt: -------------------------------------------------------------------------------- 1 | The XMP Toolkit uses an open-source system to manage the build process. 2 | You must obtain and install Android tools that are required for the build process for Android binaries of the XMP toolkit SDK. 3 | 4 | 1. CMake distribution can be installed from the Android Studio SDK Manager. Alternatively, obtain a copy of the CMake distribution for your platform (version 3.6.4111459) from: 5 | https://dl.google.com/android/repository/cmake-3.6.4111459-darwin-x86_64.zip 6 | 7 | 2. Ninja executable comes with the CMake distribution - /bin/ninja. 8 | 9 | 10 | 3. Install NDK (version 19c) from the Android Studio SDK Manager. Another option is to download directly from: 11 | https://dl.google.com/android/repository/android-ndk-r19c-darwin-x86_64.zip 12 | 13 | 14 | XMP Toolkit places Ndk-bundle , ninja, and cmake of android in this folder or a symbolic link can be created for the same in this folder 15 | 16 | sudo ln -s /Users/..../Library/Android/sdk/cmake/3.6.4111459/bin/cmake ../tools/android/ 17 | sudo ln -s /Users/..../Library/Android/sdk/ndk-bundle ../tools/android/ 18 | sudo ln -s /Users/..../Library/Android/sdk/cmake/3.6.4111459/bin/ninja ../tools/android/ 19 | 20 | Note : In case you are not using symbolic links to cmake, CMake binary needs cmake share folder parallel to its parent folder i.e. at tools/⁩ -------------------------------------------------------------------------------- /tools/cmake/ReadMe.txt: -------------------------------------------------------------------------------- 1 | The XMP Toolkit uses an open-source system to manage the build process. XMP Toolkit places cmake configuration files (CMakeLists.txt) in the source directories which is used to generate the standard build files.These generated build files can then be used to build the Toolkit. 2 | 3 | To use CMake: 4 | 5 | 1. The minimum version of CMake required for this release is 3.15.5 6 | 7 | Download the following recommended CMake distribution zipped package from the following links corresponding to the current platform (Windows, Mac, or Linux) 8 | Windows ---- https://cmake.org/files/v3.15/cmake-3.15.5-win32-x86.zip 9 | Mac OSX ---- https://cmake.org/files/v3.15/cmake-3.15.5-Darwin-x86_64.tar.gz 10 | Linux ---- https://cmake.org/files/v3.15/cmake-3.15.5-Linux-x86_64.tar.gz 11 | 12 | 2. For Windows and Linux copy the folders /bin and /share into /tools/cmake/ 13 | For Mac: 14 | a) Create the folder /tools/cmake/bin 15 | b) Rename and copy the app to this location /tools/cmake/bin/cmake.app 16 | --------------------------------------------------------------------------------