| XMP Toolkit SDK 6.0.0

IClientDOMSerializer.h
Go to the documentation of this file.
1 #ifndef IClientDOMSerializer_h__
2 #define IClientDOMSerializer_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. 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
15 #include "XMPCore/XMPCoreFwdDeclarations.h"
16 #include "XMPCommon/Interfaces/IError.h"
17 #include "XMPCommon/Interfaces/BaseInterfaces/IConfigurable.h"
18 #include "XMPCommon/XMPCommonErrorCodes.h"
19
20 namespace AdobeXMPCore {
21
27 class XMP_PUBLIC IClientDOMSerializer_v1
28 {
29 public:
30
40 virtual void APICALL Serialize( const spINode & node, const spcINameSpacePrefixMap & nameSpacePrefixMap, pcIConfigurable configurationParameters,
41 ReportErrorAndContinueFunctor functor, const spIUTF8String & string ) = 0;
42
48 virtual bool APICALL AreKeysCaseSensitive() const { return false; }
49
56 virtual void APICALL Initialize( pIConfigurable configurationParameters ) {};
57
66 virtual eConfigurableErrorCode APICALL Validate( const uint64 & key, IConfigurable::eDataType dataType, const IConfigurable::CombinedDataValue & dataValue ) {
67 return kCECNone;
68 }
69
73 virtual void APICALL Release() const __NOTHROW__ = 0;
74
75 protected:
79 virtual ~IClientDOMSerializer_v1() {}
80
82 virtual void APICALL serialize( pINode_base node, pcINameSpacePrefixMap_base nameSpacePrefixMap, pcIConfigurable configurationParameters, ReportErrorAndContinueABISafeProc proc, pIUTF8String_base string, pcIError_base & error, uint32 & unknownExceptionCaught ) __NOTHROW__;
83 virtual uint32 APICALL areKeysCaseSensitive( pcIError_base & error, uint32 & unknownExceptionCaught ) const __NOTHROW__;
84 virtual void APICALL initialize( pIConfigurable configurationParameters, pcIError_base & error, uint32 & unknownExceptionCaught ) __NOTHROW__;
85 virtual uint32 APICALL validate( const uint64 & key, uint32 dataType, const IConfigurable::CombinedDataValue & dataValue, pcIError_base & error, uint32 & unknownExceptionCaught ) __NOTHROW__;
86
87 #ifdef FRIEND_CLASS_DECLARATION
88 FRIEND_CLASS_DECLARATION();
89 #endif
90 REQ_FRIEND_CLASS_DECLARATION();
92
93 };
94 }
95
96 #endif // IClientDOMSerializer_h__
IError.h
AdobeXMPCommon::IConfigurable
Interface that allows to attach various key-value parameters to the underlying object.
Definition: IConfigurable.h:32
__NOTHROW__
#define __NOTHROW__
Definition: XMPCommonDefines.h:147
AdobeXMPCore::spcINameSpacePrefixMap
shared_ptr< const INameSpacePrefixMap > spcINameSpacePrefixMap
Definition: XMPCoreFwdDeclarations.h:32
AdobeXMPCore::INode_v1
Version1 of the interface that serves as a base interface to all types of nodes in the XMP DOM.
Definition: INode.h:28
AdobeXMPCore::IClientDOMSerializer_v1::AreKeysCaseSensitive
virtual bool APICALL AreKeysCaseSensitive() const
Indicates whether object supports case sensitive keys or not.
Definition: IClientDOMSerializer.h:48
XMP_PUBLIC
#define XMP_PUBLIC
Definition: XMP_Environment.h:221
AdobeXMPCommon::IConfigurable::CombinedDataValue
A union data type to store all kind of values.
Definition: IConfigurable.h:148
AdobeXMPCore::pcINameSpacePrefixMap_base
const typedef INameSpacePrefixMap_v1 * pcINameSpacePrefixMap_base
Definition: XMPCoreFwdDeclarations.h:27
AdobeXMPCommon::pcIConfigurable
const typedef IConfigurable * pcIConfigurable
Definition: XMPCommonFwdDeclarations.h:118
AdobeXMPCore::IClientDOMSerializer_v1
Version 1 of the interface that supports serializing by the client supplied serializer of the XMP Dat...
Definition: IClientDOMSerializer.h:27
AdobeXMPCore
Definition: IArrayNode.h:18
AdobeXMPCommon::spIUTF8String
shared_ptr< IUTF8String > spIUTF8String
Definition: XMPCommonFwdDeclarations.h:79
AdobeXMPCommon::uint32
XMP_Uns32 uint32
Definition: XMPCommonDefines.h:174
XMPCoreFwdDeclarations.h
AdobeXMPCore::IClientDOMSerializer_v1::Initialize
virtual void APICALL Initialize(pIConfigurable configurationParameters)
Initializes the default configuration parameters. The object needs to fill the default configuration ...
Definition: IClientDOMSerializer.h:56
AdobeXMPCommon::IConfigurable::eDataType
eDataType
Indicates various types of parameter values.
Definition: IConfigurable.h:39
AdobeXMPCommon::kCECNone
@ kCECNone
Indicates no error.
Definition: XMPCommonErrorCodes.h:94
REQ_FRIEND_CLASS_DECLARATION
#define REQ_FRIEND_CLASS_DECLARATION()
Definition: XMPCommonDefines.h:137
AdobeXMPCore::spINode
shared_ptr< INode > spINode
Definition: XMPCoreFwdDeclarations.h:67
XMPCommonErrorCodes.h
AdobeXMPCommon::IUTF8String_v1
Version1 of the interface that represents an UTF8String.
Definition: IUTF8String.h:25
AdobeXMPCommon::eConfigurableErrorCode
eConfigurableErrorCode
Indicates various types of error codes within Configurable domain.
Definition: XMPCommonErrorCodes.h:92
AdobeXMPCommon::ReportErrorAndContinueABISafeProc
uint32(* ReportErrorAndContinueABISafeProc)(uint32 errorDomain, uint32 errorCode, uint32 errorSeverity, const char *message, pcIError_base &error)
A function pointer to report back errors and warnings to the library encountered during the serializa...
Definition: IError.h:345
AdobeXMPCore::IClientDOMSerializer_v1::Validate
virtual eConfigurableErrorCode APICALL Validate(const uint64 &key, IConfigurable::eDataType dataType, const IConfigurable::CombinedDataValue &dataValue)
Validate the data type and value for a parameter.
Definition: IClientDOMSerializer.h:66
AdobeXMPCommon::ReportErrorAndContinueFunctor
A Function object used by the client to report back and warnings to the library encountered during th...
Definition: IError.h:352
AdobeXMPCommon::pcIError_base
const typedef IError_v1 * pcIError_base
Definition: XMPCommonFwdDeclarations.h:64
AdobeXMPCommon::uint64
XMP_Uns64 uint64
Definition: XMPCommonDefines.h:172
IConfigurable.h