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 
19 
20 namespace AdobeXMPCore {
21 
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:
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
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