| 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
15 #include "XMPCore/XMPCoreFwdDeclarations.h"
16 #include "XMPCommon/Interfaces/BaseInterfaces/ISharedObject.h"
17 #include "XMPCommon/Interfaces/BaseInterfaces/IVersionable.h"
18 #include "XMPCommon/Interfaces/BaseInterfaces/IThreadSafe.h"
19
20 namespace AdobeXMPCore {
21
28 class XMP_PUBLIC INode_v1
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
75 XMP_PRIVATE spcINode GetParent() const {
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
352 XMP_PRIVATE spcIStructureNode ConvertToStructureNode() const {
353 return const_cast< INode_v1 * >( this )->ConvertToStructureNode();
354 }
355 virtual spIStructureNode APICALL ConvertToStructureNode() = 0;
357
363 XMP_PRIVATE spcIArrayNode ConvertToArrayNode() const {
364 return const_cast< INode_v1 * >( this )->ConvertToArrayNode();
365 }
366 virtual spIArrayNode APICALL ConvertToArrayNode() = 0;
368
374 XMP_PRIVATE spcIMetadata ConvertToMetadata() const {
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
485 REQ_FRIEND_CLASS_DECLARATION();
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