XMP Toolkit SDK  6.0.0
INode.h
Go to the documentation of this file.
1 #ifndef __INode_h__
2 #define __INode_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 
19 
20 namespace AdobeXMPCore {
21 
29  : public virtual ISharedObject
30  , public virtual IVersionable
31  , public virtual IThreadSafe
32  {
33  public:
34 
38  typedef enum {
40  kNTNone = 0,
41 
43  kNTSimple = 1,
44 
46  kNTArray = 1 << 1,
47 
49  kNTStructure = 1 << 2,
50 
52  kNTAll = kAllBits
53  } eNodeType;
54 
59  virtual eNodeType APICALL GetNodeType() const = 0;
60 
66  virtual eNodeType APICALL GetParentNodeType() const = 0;
67 
76  return const_cast< INode_v1 * >( this )->GetParent();
77  }
78  virtual spINode APICALL GetParent() = 0;
81 
91  virtual void APICALL SetName( const char * name, sizet nameLength ) = 0;
92 
97  virtual spcIUTF8String APICALL GetName() const = 0;
98 
107  virtual void APICALL SetNameSpace( const char * nameSpace, sizet nameSpaceLength ) = 0;
108 
113  virtual spcIUTF8String APICALL GetNameSpace() const = 0;
114 
119  virtual spIPath APICALL GetPath() const = 0;
120 
125  virtual sizet APICALL QualifiersCount() const __NOTHROW__ = 0;
126 
132  XMP_PRIVATE spcINodeIterator QualifiersIterator() const {
133  return const_cast< INode_v1 * >( this )->QualifiersIterator();
134  }
135  virtual spINodeIterator APICALL QualifiersIterator() = 0;
137 
147  virtual eNodeType APICALL GetQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const = 0;
148 
160  XMP_PRIVATE spcINode GetQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
161  return const_cast< INode_v1 * >( this )->GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
162  }
163  virtual spINode APICALL GetQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) = 0;
165 
179  XMP_PRIVATE spcISimpleNode GetSimpleQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
180  auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
181  if ( node ) return node->ConvertToSimpleNode();
182  return spcISimpleNode();
183  }
184 
185  XMP_PRIVATE spISimpleNode GetSimpleQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
186  auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
187  if ( node ) return node->ConvertToSimpleNode();
188  return spISimpleNode();
189  }
191 
205  XMP_PRIVATE spcIStructureNode GetStructureQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
206  auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
207  if ( node ) return node->ConvertToStructureNode();
208  return spcIStructureNode();
209  }
210 
211  XMP_PRIVATE spIStructureNode GetStructureQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
212  auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
213  if ( node ) return node->ConvertToStructureNode();
214  return spIStructureNode();
215  }
217 
231  XMP_PRIVATE spcIArrayNode GetArrayQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const {
232  auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
233  if ( node ) return node->ConvertToArrayNode();
234  return spcIArrayNode();
235  }
236 
237  XMP_PRIVATE spIArrayNode GetArrayQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) {
238  auto node = GetQualifier( nameSpace, nameSpaceLength, name, nameLength );
239  if ( node ) return node->ConvertToArrayNode();
240  return spIArrayNode();
241  }
243 
253  virtual void APICALL InsertQualifier( const spINode & node ) = 0;
254 
265  virtual spINode APICALL ReplaceQualifier( const spINode & node ) = 0;
266 
276  virtual spINode APICALL RemoveQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) = 0;
277 
282  virtual bool APICALL IsArrayItem() const = 0;
283 
288  virtual bool APICALL IsQualifierNode() const = 0;
289 
294  virtual sizet APICALL GetIndex() const = 0;
295 
300  virtual bool APICALL HasQualifiers() const = 0;
301 
306  virtual bool APICALL HasContent() const = 0;
307 
312  virtual bool APICALL IsEmpty() const = 0;
313 
320  virtual bool APICALL HasChanged() const = 0;
321 
327  virtual void APICALL AcknowledgeChanges() const __NOTHROW__ = 0;
328 
334  virtual void APICALL Clear( bool contents = true, bool qualifiers = true ) = 0;
335 
341  XMP_PRIVATE spcISimpleNode ConvertToSimpleNode() const {
342  return const_cast< INode_v1 * >( this )->ConvertToSimpleNode();
343  }
344  virtual spISimpleNode APICALL ConvertToSimpleNode() = 0;
346 
353  return const_cast< INode_v1 * >( this )->ConvertToStructureNode();
354  }
355  virtual spIStructureNode APICALL ConvertToStructureNode() = 0;
357 
364  return const_cast< INode_v1 * >( this )->ConvertToArrayNode();
365  }
366  virtual spIArrayNode APICALL ConvertToArrayNode() = 0;
368 
375  return const_cast< INode_v1 * >( this )->ConvertToMetadata();
376  }
377  virtual spIMetadata APICALL ConvertToMetadata() = 0;
379 
388  virtual spINode APICALL Clone( bool ignoreEmptyNodes = false, bool ignoreNodesWithOnlyQualifiers = false ) const = 0;
389 
392 
398  virtual pINode APICALL GetActualINode() __NOTHROW__ = 0;
399 
400  XMP_PRIVATE pcINode GetActualINode() const __NOTHROW__ {
401  return const_cast< INode_v1 * >( this )->GetActualINode();
402  }
405 
411  virtual AdobeXMPCore_Int::pINode_I APICALL GetINode_I() __NOTHROW__ = 0;
412 
413  XMP_PRIVATE AdobeXMPCore_Int::pcINode_I GetINode_I() const __NOTHROW__ {
414  return const_cast< INode_v1 * >( this )->GetINode_I();
415  }
418 
425  XMP_PRIVATE static spINode MakeShared( pINode_base ptr );
426  XMP_PRIVATE static spcINode MakeShared( pcINode_base ptr ) {
427  return MakeShared( const_cast< pINode_base >( ptr ) );
428  }
431 
436  XMP_PRIVATE static uint64 GetInterfaceID() { return kINodeID; }
437 
442  XMP_PRIVATE static uint32 GetInterfaceVersion() { return 1; }
444 
445  protected:
449  virtual ~INode_v1() __NOTHROW__ {}
450 
452  virtual uint32 APICALL getParentNodeType( pcIError_base & error ) const __NOTHROW__ = 0;
453  virtual pINode_base APICALL getParent( pcIError_base & error ) __NOTHROW__ = 0;
454  virtual void APICALL setName( const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
455  virtual pcIUTF8String_base APICALL getName( pcIError_base & error ) const __NOTHROW__ = 0;
456  virtual void APICALL setNameSpace( const char * nameSpace, sizet nameSpaceLength, pcIError_base & error ) __NOTHROW__ = 0;
457  virtual pcIUTF8String_base APICALL getNameSpace( pcIError_base & error ) const __NOTHROW__ = 0;
458  virtual pIPath_base APICALL getPath( pcIError_base & error ) const __NOTHROW__ = 0;
459  virtual pINodeIterator_base APICALL qualifiersIterator( pcIError_base & error ) __NOTHROW__ = 0;
460  virtual uint32 APICALL getQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) const __NOTHROW__ = 0;
461  virtual pINode_base APICALL getQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
462  virtual void APICALL insertQualifier( pINode_base base, pcIError_base & error ) __NOTHROW__ = 0;
463  virtual pINode_base APICALL replaceQualifier( pINode_base node, pcIError_base & error ) __NOTHROW__ = 0;
464  virtual pINode_base APICALL removeQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__ = 0;
465  virtual uint32 APICALL getNodeType( pcIError_base & error ) const __NOTHROW__ = 0;
466  virtual uint32 APICALL isArrayItem( pcIError_base & error ) const __NOTHROW__ = 0;
467  virtual uint32 APICALL isQualifierNode( pcIError_base & error ) const __NOTHROW__ = 0;
468  virtual sizet APICALL getIndex( pcIError_base & error ) const __NOTHROW__ = 0;
469  virtual uint32 APICALL hasQualifiers( pcIError_base & error ) const __NOTHROW__ = 0;
470  virtual uint32 APICALL hasContent( pcIError_base & error ) const __NOTHROW__ = 0;
471  virtual uint32 APICALL isEmpty( pcIError_base & error ) const __NOTHROW__ = 0;
472  virtual uint32 APICALL hasChanged( pcIError_base & error ) const __NOTHROW__ = 0;
473  virtual void APICALL clear( uint32 contents, uint32 qualifiers, pcIError_base & error ) __NOTHROW__ = 0;
474  virtual pINode_base APICALL clone( uint32 igoreEmptyNodes, uint32 ignoreNodesWithOnlyQualifiers, pcIError_base & error ) const __NOTHROW__ = 0;
475  virtual pISimpleNode_base APICALL convertToSimpleNode( pcIError_base & error ) __NOTHROW__ = 0;
476  virtual pIStructureNode_base APICALL convertToStructureNode( pcIError_base & error ) __NOTHROW__ = 0;
477  virtual pIArrayNode_base APICALL convertToArrayNode( pcIError_base & error ) __NOTHROW__ = 0;
478  virtual pIMetadata_base APICALL convertToMetadata( pcIError_base & error ) __NOTHROW__ = 0;
479 
481 
482  #ifdef FRIEND_CLASS_DECLARATION
483  FRIEND_CLASS_DECLARATION();
484  #endif
487 
488  };
489 }
490 
492 #if !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
493  namespace AdobeXMPCore {
494 
495  class INodeProxy
496  : public virtual INode
497  {
498  private:
499  pINode mRawPtr;
500 
501  public:
502  INodeProxy( pINode ptr );
503  ~INodeProxy() __NOTHROW__ ;
504 
505  pINode APICALL GetActualINode() __NOTHROW__;
506  void APICALL Acquire() const __NOTHROW__;
507  void APICALL Release() const __NOTHROW__;
508 
509  AdobeXMPCommon_Int::pISharedObject_I APICALL GetISharedObject_I() __NOTHROW__;
510  AdobeXMPCore_Int::pINode_I APICALL GetINode_I() __NOTHROW__;
511 
512  pvoid APICALL GetInterfacePointer( uint64 interfaceID, uint32 interfaceVersion );
513 
514  virtual eNodeType APICALL GetParentNodeType() const;
515  virtual spINode APICALL GetParent();
516  virtual void APICALL SetName( const char * name, sizet nameLength );
517  virtual spcIUTF8String APICALL GetName() const;
518  virtual void APICALL SetNameSpace( const char * nameSpace, sizet nameSpaceLength );
519  virtual spcIUTF8String APICALL GetNameSpace() const;
520  virtual spIPath APICALL GetPath() const;
521  virtual sizet APICALL QualifiersCount() const __NOTHROW__;
522  virtual spINodeIterator APICALL QualifiersIterator();
523  virtual eNodeType APICALL GetQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength ) const;
524  virtual spINode APICALL GetQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
525  virtual void APICALL InsertQualifier( const spINode & node );
526  virtual spINode APICALL ReplaceQualifier( const spINode & node );
527  virtual spINode APICALL RemoveQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength );
528  virtual eNodeType APICALL GetNodeType() const;
529  virtual bool APICALL IsArrayItem() const;
530  virtual bool APICALL IsQualifierNode() const;
531  virtual sizet APICALL GetIndex() const;
532  virtual bool APICALL HasQualifiers() const;
533  virtual bool APICALL HasContent() const;
534  virtual bool APICALL IsEmpty() const;
535  virtual bool APICALL HasChanged() const;
536  virtual void APICALL AcknowledgeChanges() const __NOTHROW__;
537  virtual void APICALL Clear( bool contents, bool qualifiers );
538  virtual spINode APICALL Clone( bool ignoreEmptyNodes, bool ignoreNodesWithOnlyQualifiers ) const;
539  virtual void APICALL EnableThreadSafety() const __NOTHROW__;
540  virtual void APICALL DisableThreadSafety() const __NOTHROW__;
541  virtual bool APICALL IsThreadSafe() const;
542  virtual AdobeXMPCommon_Int::pIThreadSafe_I APICALL GetIThreadSafe_I() __NOTHROW__;
543  virtual spISimpleNode APICALL ConvertToSimpleNode();
544  virtual spIStructureNode APICALL ConvertToStructureNode();
545  virtual spIArrayNode APICALL ConvertToArrayNode();
546  virtual spIMetadata APICALL ConvertToMetadata();
547 
548  protected:
549  virtual pINode_base APICALL getParent( pcIError_base & error ) __NOTHROW__;
550  virtual void APICALL setName( const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
551  virtual pcIUTF8String_base APICALL getName( pcIError_base & error ) const __NOTHROW__;
552  virtual void APICALL setNameSpace( const char * nameSpace, sizet nameSpaceLength, pcIError_base & error ) __NOTHROW__;
553  virtual pcIUTF8String_base APICALL getNameSpace( pcIError_base & error ) const __NOTHROW__;
554  virtual pIPath_base APICALL getPath( pcIError_base & error ) const __NOTHROW__;
555  virtual pINodeIterator_base APICALL qualifiersIterator( pcIError_base & error ) __NOTHROW__;
556  virtual pINode_base APICALL getQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
557  virtual void APICALL insertQualifier( pINode_base base, pcIError_base & error ) __NOTHROW__;
558  virtual pINode_base APICALL replaceQualifier( pINode_base node, pcIError_base & error ) __NOTHROW__;
559  virtual pINode_base APICALL removeQualifier( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) __NOTHROW__;
560  virtual uint32 APICALL getNodeType( pcIError_base & error ) const __NOTHROW__;
561  virtual uint32 APICALL isArrayItem( pcIError_base & error ) const __NOTHROW__;
562  virtual uint32 APICALL isQualifierNode( pcIError_base & error ) const __NOTHROW__;
563  virtual sizet APICALL getIndex( pcIError_base & error ) const __NOTHROW__;
564  virtual uint32 APICALL hasQualifiers( pcIError_base & error ) const __NOTHROW__;
565  virtual uint32 APICALL hasContent( pcIError_base & error ) const __NOTHROW__;
566  virtual uint32 APICALL isEmpty( pcIError_base & error ) const __NOTHROW__;
567  virtual uint32 APICALL hasChanged( pcIError_base & error ) const __NOTHROW__;
568  virtual void APICALL clear( uint32 contents, uint32 qualifiers, pcIError_base & error ) __NOTHROW__;
569  virtual pINode_base APICALL clone( uint32 igoreEmptyNodes, uint32 ignoreNodesWithOnlyQualifiers, pcIError_base & error ) const __NOTHROW__;
570  virtual uint32 APICALL isThreadSafe() const __NOTHROW__;
571  virtual pISimpleNode_base APICALL convertToSimpleNode( pcIError_base & error ) __NOTHROW__;
572  virtual pIStructureNode_base APICALL convertToStructureNode( pcIError_base & error ) __NOTHROW__;
573  virtual pIArrayNode_base APICALL convertToArrayNode( pcIError_base & error ) __NOTHROW__;
574  virtual pIMetadata_base APICALL convertToMetadata( pcIError_base & error ) __NOTHROW__;
575  virtual uint32 APICALL getParentNodeType( pcIError_base & error ) const __NOTHROW__;
576  virtual uint32 APICALL getQualifierNodeType( const char * nameSpace, sizet nameSpaceLength, const char * name, sizet nameLength, pcIError_base & error ) const __NOTHROW__;
577  pvoid APICALL getInterfacePointer( uint64 interfaceID, uint32 interfaceVersion, pcIError_base & error ) __NOTHROW__;
578  };
579 
580 }
581 #endif // !BUILDING_XMPCORE_LIB && !SOURCE_COMPILING_XMPCORE_LIB
582 
584 #endif // __INode_h__
AdobeXMPCore::kINodeID
static const uint64 kINodeID(0x634e6f6465202020)
AdobeXMPCore::pIStructureNode_base
IStructureNode_v1 * pIStructureNode_base
Definition: XMPCoreFwdDeclarations.h:98
AdobeXMPCore::INode_v1::GetQualifier
XMP_PRIVATE spcINode GetQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
Gets the qualifier of the node having specified namespace and name.
Definition: INode.h:160
AdobeXMPCore::pISimpleNode_base
ISimpleNode_v1 * pISimpleNode_base
Definition: XMPCoreFwdDeclarations.h:74
AdobeXMPCommon_Int::pISharedObject_I
ISharedObject_I * pISharedObject_I
Definition: XMPCommonFwdDeclarations.h:149
AdobeXMPCore::IPath_v1
Version1 of the interface that provides an easy iterative description of a specific path into the XMP...
Definition: IPath.h:28
XMP_PRIVATE
#define XMP_PRIVATE
Definition: XMP_Environment.h:222
AdobeXMPCore::pINode_base
INode_v1 * pINode_base
Definition: XMPCoreFwdDeclarations.h:62
AdobeXMPCore::pINode
INode * pINode
Definition: XMPCoreFwdDeclarations.h:65
AdobeXMPCore::INode_v1::GetStructureQualifier
XMP_PRIVATE spIStructureNode GetStructureQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
Definition: INode.h:211
__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
AdobeXMPCore::spcINodeIterator
shared_ptr< const INodeIterator > spcINodeIterator
Definition: XMPCoreFwdDeclarations.h:128
AdobeXMPCommon_Int
Definition: XMPCommonFwdDeclarations.h:146
AdobeXMPCore::spIStructureNode
shared_ptr< IStructureNode > spIStructureNode
Definition: XMPCoreFwdDeclarations.h:103
XMP_PUBLIC
#define XMP_PUBLIC
Definition: XMP_Environment.h:221
AdobeXMPCore::spIMetadata
shared_ptr< IMetadata > spIMetadata
Definition: XMPCoreFwdDeclarations.h:139
AdobeXMPCore::spcIMetadata
shared_ptr< const IMetadata > spcIMetadata
Definition: XMPCoreFwdDeclarations.h:140
AdobeXMPCommon::pcIUTF8String_base
const typedef IUTF8String_v1 * pcIUTF8String_base
Definition: XMPCommonFwdDeclarations.h:75
AdobeXMPCore::spISimpleNode
shared_ptr< ISimpleNode > spISimpleNode
Definition: XMPCoreFwdDeclarations.h:79
AdobeXMPCore::spINodeIterator
shared_ptr< INodeIterator > spINodeIterator
Definition: XMPCoreFwdDeclarations.h:127
ISharedObject.h
AdobeXMPCommon::spcIUTF8String
shared_ptr< const IUTF8String > spcIUTF8String
Definition: XMPCommonFwdDeclarations.h:80
AdobeXMPCore::INode_v1::ConvertToMetadata
XMP_PRIVATE spcIMetadata ConvertToMetadata() const
Converts Node to a metadata node type, if possible.
Definition: INode.h:374
AdobeXMPCore::IStructureNode_v1
Version1 of the interface that represents a structure Node of XMP DOM.
Definition: IStructureNode.h:25
AdobeXMPCore::pcINode_base
const typedef INode_v1 * pcINode_base
Definition: XMPCoreFwdDeclarations.h:63
AdobeXMPCommon::IThreadSafe
Interface that serves as the base interface for all the externally exposed interfaces which needs to ...
Definition: IThreadSafe.h:29
AdobeXMPCore::pIMetadata_base
IMetadata_v1 * pIMetadata_base
Definition: XMPCoreFwdDeclarations.h:134
AdobeXMPCore_Int::pcINode_I
const typedef INode_I * pcINode_I
Definition: XMPCoreFwdDeclarations.h:253
AdobeXMPCore
Definition: IArrayNode.h:18
AdobeXMPCore::INode_v1::GetParent
XMP_PRIVATE spcINode GetParent() const
Gets the parent node of the node.
Definition: INode.h:75
IThreadSafe.h
AdobeXMPCommon::pvoid
void * pvoid
Definition: XMPCommonFwdDeclarations.h:46
AdobeXMPCommon::uint32
XMP_Uns32 uint32
Definition: XMPCommonDefines.h:174
XMPCoreFwdDeclarations.h
AdobeXMPCore::INodeIterator_v1
Interface that represents an iterator over the mutable children of a XMP DOM Node.
Definition: INodeIterator.h:28
AdobeXMPCore::spIPath
shared_ptr< IPath > spIPath
Definition: XMPCoreFwdDeclarations.h:55
AdobeXMPCommon::sizet
uint32 sizet
Definition: XMPCommonDefines.h:176
AdobeXMPCore::INode_v1::GetArrayQualifier
XMP_PRIVATE spcIArrayNode GetArrayQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
Get the node's qualifier having specified name space and name as an array node.
Definition: INode.h:231
AdobeXMPCore::pIPath_base
IPath_v1 * pIPath_base
Definition: XMPCoreFwdDeclarations.h:50
AdobeXMPCommon::IVersionable
Interface that serves as the base interface for all the externally exposed interfaces which needs to ...
Definition: IVersionable.h:30
AdobeXMPCore::IArrayNode_v1
Version1 of the interface that represents an Array Node of XMP DOM.
Definition: IArrayNode.h:27
AdobeXMPCore::spIArrayNode
shared_ptr< IArrayNode > spIArrayNode
Definition: XMPCoreFwdDeclarations.h:115
AdobeXMPCore::INode_v1::~INode_v1
virtual ~INode_v1() __NOTHROW__
Definition: INode.h:449
AdobeXMPCore::spcISimpleNode
shared_ptr< const ISimpleNode > spcISimpleNode
Definition: XMPCoreFwdDeclarations.h:80
REQ_FRIEND_CLASS_DECLARATION
#define REQ_FRIEND_CLASS_DECLARATION()
Definition: XMPCommonDefines.h:137
AdobeXMPCore::spINode
shared_ptr< INode > spINode
Definition: XMPCoreFwdDeclarations.h:67
AdobeXMPCore::ISimpleNode_v1
Version1 of the interface that represents a Simple Property Node of XMP DOM.
Definition: ISimpleNode.h:25
AdobeXMPCore::pIArrayNode_base
IArrayNode_v1 * pIArrayNode_base
Definition: XMPCoreFwdDeclarations.h:110
AdobeXMPCore::spcIArrayNode
shared_ptr< const IArrayNode > spcIArrayNode
Definition: XMPCoreFwdDeclarations.h:116
IVersionable.h
AdobeXMPCore::IMetadata_v1
Version1 of the interface that represents the whole xmp metadata for an asset.
Definition: IMetadata.h:26
AdobeXMPCore::pcINode
const typedef INode * pcINode
Definition: XMPCoreFwdDeclarations.h:66
AdobeXMPCore::INode_v1::ConvertToArrayNode
XMP_PRIVATE spcIArrayNode ConvertToArrayNode() const
Converts Node to an array node type, if possible.
Definition: INode.h:363
AdobeXMPCore::spcIStructureNode
shared_ptr< const IStructureNode > spcIStructureNode
Definition: XMPCoreFwdDeclarations.h:104
AdobeXMPCore_Int
Definition: XMPCoreFwdDeclarations.h:233
AdobeXMPCore::INode_v1::GetArrayQualifier
XMP_PRIVATE spIArrayNode GetArrayQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
Definition: INode.h:237
AdobeXMPCore::INode_v1::GetStructureQualifier
XMP_PRIVATE spcIStructureNode GetStructureQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
Get the node's qualifier having specified name space and name as structure node.
Definition: INode.h:205
AdobeXMPCore_Int::pINode_I
INode_I * pINode_I
Definition: XMPCoreFwdDeclarations.h:251
AdobeXMPCore::INode_v1::ConvertToStructureNode
XMP_PRIVATE spcIStructureNode ConvertToStructureNode() const
Converts Node to a structure node type, if possible.
Definition: INode.h:352
AdobeXMPCore::INode_v1::GetSimpleQualifier
XMP_PRIVATE spcISimpleNode GetSimpleQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const
Get the node's qualifier having specified name space and name as simple node.
Definition: INode.h:179
AdobeXMPCommon_Int::pIThreadSafe_I
IThreadSafe_I * pIThreadSafe_I
Definition: XMPCommonFwdDeclarations.h:154
AdobeXMPCommon::pcIError_base
const typedef IError_v1 * pcIError_base
Definition: XMPCommonFwdDeclarations.h:64
AdobeXMPCore::INode_v1::GetSimpleQualifier
XMP_PRIVATE spISimpleNode GetSimpleQualifier(const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
Definition: INode.h:185
AdobeXMPCommon::uint64
XMP_Uns64 uint64
Definition: XMPCommonDefines.h:172
AdobeXMPCore::pINodeIterator_base
INodeIterator_v1 * pINodeIterator_base
Definition: XMPCoreFwdDeclarations.h:122
AdobeXMPCommon::kAllBits
static const uint32 kAllBits(0xFFFFFFFF)
AdobeXMPCore::spcINode
shared_ptr< const INode > spcINode
Definition: XMPCoreFwdDeclarations.h:68
AdobeXMPCommon::ISharedObject
Interface that serves as the base interface of all the externally exposed interfaces.
Definition: ISharedObject.h:29