| XMP Toolkit SDK 6.0.0

IMetadataConverterUtils.h
Go to the documentation of this file.
1 #ifndef __IMetadataConverterUtils_h__
2 #define __IMetadataConverterUtils_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. If you have received this file from a source other
11 // than Adobe, then your use, modification, or distribution of it requires the prior written permission
12 // of Adobe.
13 // =================================================================================================
14 #include <string>
15 #define TXMP_STRING_TYPE std::string
16 #include "XMP.hpp"
17
18 #include "XMPCore/XMPCoreFwdDeclarations.h"
19 #include "XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h"
20 #include "XMPCommon/Interfaces/BaseInterfaces/IVersionable.h"
21 #include "XMPCommon/Interfaces/BaseInterfaces/IConfigurable.h"
22
23
24
25 namespace AdobeXMPCore {
26
30
31 class XMP_PUBLIC IMetadataConverterUtils_v1
32 : public virtual ISharedObject
33 , public virtual IVersionable
34 {
35 public:
36
41 static spIMetadata ConvertXMPMetatoIMetadata(const SXMPMeta* inOldXMP);
42
47 static SXMPMeta ConvertIMetadatatoXMPMeta(AdobeXMPCore::spIMetadata inNewXMP);
48
50
56 virtual pIMetadataConverterUtils APICALL GetActualIMetadataConverterUtils() __NOTHROW__ = 0;
57 XMP_PRIVATE pcIMetadataConverterUtils GetActualIMetadataConverterUtils() const __NOTHROW__ {
58 return const_cast< IMetadataConverterUtils_v1 * >( this )->GetActualIMetadataConverterUtils();}
61
67 virtual AdobeXMPCore_Int::pIMetadataConverterUtils_I APICALL GetIMetadataConverterUtils_I() __NOTHROW__ = 0;
68
69 XMP_PRIVATE AdobeXMPCore_Int::pcIMetadataConverterUtils_I GetIMetadataConverterUtils_I() const __NOTHROW__ {
70 return const_cast< IMetadataConverterUtils_v1 * >( this )->GetIMetadataConverterUtils_I();}
73
80 XMP_PRIVATE static spIMetadataConverterUtils MakeShared( pIMetadataConverterUtils_base ptr );
81 XMP_PRIVATE static spcIMetadataConverterUtils MakeShared( pcIMetadataConverterUtils_base ptr ) {
82 return MakeShared( const_cast< pIMetadataConverterUtils_base >( ptr ) );
83 }
86
91 XMP_PRIVATE static uint64 GetInterfaceID() { return kIMetadataConverterUtilsID; }
92
97 XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
99
100
101
102 protected:
106 virtual ~IMetadataConverterUtils_v1() __NOTHROW__ {}
107
108 #ifdef FRIEND_CLASS_DECLARATION
109 FRIEND_CLASS_DECLARATION();
110 #endif
111 REQ_FRIEND_CLASS_DECLARATION();
113
114 };
115 }
116
117
118 #endif /*__IMetadataConverterUtils_h__*/
AdobeXMPCore::pcIMetadataConverterUtils_base
const typedef IMetadataConverterUtils_v1 * pcIMetadataConverterUtils_base
Definition: XMPCoreFwdDeclarations.h:223
XMP_PRIVATE
#define XMP_PRIVATE
Definition: XMP_Environment.h:222
__NOTHROW__
#define __NOTHROW__
Definition: XMPCommonDefines.h:147
AdobeXMPCore::IMetadataConverterUtils_v1::~IMetadataConverterUtils_v1
virtual ~IMetadataConverterUtils_v1() __NOTHROW__
Definition: IMetadataConverterUtils.h:106
AdobeXMPCore::kIMetadataConverterUtilsID
static const uint64 kIMetadataConverterUtilsID(0x63436F6E5574696C)
XMP_PUBLIC
#define XMP_PUBLIC
Definition: XMP_Environment.h:221
AdobeXMPCore::spIMetadata
shared_ptr< IMetadata > spIMetadata
Definition: XMPCoreFwdDeclarations.h:139
AdobeXMPCore::IMetadataConverterUtils_v1
Version1 of the interface that represents an utility functions that can convert old xmp object(SXMPMe...
Definition: IMetadataConverterUtils.h:31
ISharedObject.h
AdobeXMPCore
Definition: IArrayNode.h:18
AdobeXMPCommon::uint32
XMP_Uns32 uint32
Definition: XMPCommonDefines.h:174
XMPCoreFwdDeclarations.h
AdobeXMPCommon::IVersionable
Interface that serves as the base interface for all the externally exposed interfaces which needs to ...
Definition: IVersionable.h:30
REQ_FRIEND_CLASS_DECLARATION
#define REQ_FRIEND_CLASS_DECLARATION()
Definition: XMPCommonDefines.h:137
AdobeXMPCore::pcIMetadataConverterUtils
const typedef IMetadataConverterUtils * pcIMetadataConverterUtils
Definition: XMPCoreFwdDeclarations.h:226
IVersionable.h
AdobeXMPCore::spcIMetadataConverterUtils
shared_ptr< const IMetadataConverterUtils > spcIMetadataConverterUtils
Definition: XMPCoreFwdDeclarations.h:228
AdobeXMPCore::spIMetadataConverterUtils
shared_ptr< IMetadataConverterUtils > spIMetadataConverterUtils
Definition: XMPCoreFwdDeclarations.h:227
AdobeXMPCore_Int::pcIMetadataConverterUtils_I
const typedef IMetadataConverterUtils_I * pcIMetadataConverterUtils_I
Definition: XMPCoreFwdDeclarations.h:323
AdobeXMPCore::pIMetadataConverterUtils
IMetadataConverterUtils * pIMetadataConverterUtils
Definition: XMPCoreFwdDeclarations.h:225
XMP.hpp
Overall header file for the XMP Toolkit.
AdobeXMPCommon::uint64
XMP_Uns64 uint64
Definition: XMPCommonDefines.h:172
IConfigurable.h
AdobeXMPCore_Int::pIMetadataConverterUtils_I
IMetadataConverterUtils_I * pIMetadataConverterUtils_I
Definition: XMPCoreFwdDeclarations.h:321
AdobeXMPCommon::ISharedObject
Interface that serves as the base interface of all the externally exposed interfaces.
Definition: ISharedObject.h:29