XMP Toolkit SDK  6.0.0
IClientDOMParser.h
Go to the documentation of this file.
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. If you have received this file from a source other
8 // than Adobe, then your use, modification, or distribution of it requires the prior written permission
9 // of Adobe.
10 // =================================================================================================
11 
16 
17 namespace AdobeXMPCore {
18 
25  {
26  public:
27 
37  virtual spINode APICALL Parse( const char * buffer, sizet bufferLength, pcIConfigurable configurationParameters, ReportErrorAndContinueFunctor proc ) = 0;
38 
44  virtual bool APICALL AreKeysCaseSensitive() const { return false; }
45 
52  virtual void APICALL Initialize( pIConfigurable configurationParameters ) {};
53 
62  virtual eConfigurableErrorCode APICALL Validate( const uint64 & key, IConfigurable::eDataType dataType, const IConfigurable::CombinedDataValue & dataValue ) {
63  return kCECNone;
64  }
65 
69  virtual void APICALL Release() const __NOTHROW__ = 0;
70 
71  protected:
75  virtual ~IClientDOMParser_v1() {}
76 
78  virtual pINode_base APICALL parse( const char * buffer, sizet bufferLength, pcIConfigurable configurationParameters, ReportErrorAndContinueABISafeProc proc, pcIError_base & error, uint32 & unknownExceptionCaught ) __NOTHROW__;
79  virtual uint32 APICALL areKeysCaseSensitive( pcIError_base & error, uint32 & unknownExceptionCaught ) const __NOTHROW__;
80  virtual void APICALL initialize( pIConfigurable configurationParameters, pcIError_base & error, uint32 & unknownExceptionCaught ) __NOTHROW__;
81  virtual uint32 APICALL validate( const uint64 & key, uint32 dataType, const IConfigurable::CombinedDataValue & dataValue, pcIError_base & error, uint32 & unknownExceptionCaught ) __NOTHROW__;
82 
83  #ifdef FRIEND_CLASS_DECLARATION
84  FRIEND_CLASS_DECLARATION();
85  #endif
88 
89  };
90 }
IError.h
AdobeXMPCore::IClientDOMParser_v1::Initialize
virtual void APICALL Initialize(pIConfigurable configurationParameters)
Initialize the default configuration parameters.
Definition: IClientDOMParser.h:52
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::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
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
AdobeXMPCommon::pcIConfigurable
const typedef IConfigurable * pcIConfigurable
Definition: XMPCommonFwdDeclarations.h:118
AdobeXMPCore::IClientDOMParser_v1::AreKeysCaseSensitive
virtual bool APICALL AreKeysCaseSensitive() const
Indicates whether object supports case sensitive keys or not.
Definition: IClientDOMParser.h:44
AdobeXMPCore::IClientDOMParser_v1
Version 1 of the interface that supports parsing by the client supplied parser of the XMP Data Model.
Definition: IClientDOMParser.h:24
AdobeXMPCore
Definition: IArrayNode.h:18
AdobeXMPCommon::uint32
XMP_Uns32 uint32
Definition: XMPCommonDefines.h:174
XMPCoreFwdDeclarations.h
AdobeXMPCommon::sizet
uint32 sizet
Definition: XMPCommonDefines.h:176
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
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
XMPCoreErrorCodes.h
AdobeXMPCore::IClientDOMParser_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: IClientDOMParser.h:62
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