| XMP Toolkit SDK 6.0.0

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
AdobeXMPCore::ISimpleNode_v1 Class Referenceabstract

Version1 of the interface that represents a Simple Property Node of XMP DOM. More...

`#include <ISimpleNode.h>`

Inheritance diagram for AdobeXMPCore::ISimpleNode_v1:

## Public Member Functions
virtual spcIUTF8String APICALL | GetValue () const =0
| Gets the value of the simple property node. More...
virtual void APICALL | SetValue (const char *value, sizet valueLength)=0
| Changes the value string of the simple property node. More...
virtual bool APICALL | IsURIType () const =0
| Indicates whether the simple property node is of URI type. More...
virtual void APICALL | SetURIType (bool isURI)=0
| Controls whether the type of simple property node should be of IsURI type or not. More...
Public Member Functions inherited from AdobeXMPCore::INode_v1
virtual eNodeType APICALL | GetNodeType () const =0
| Gets the node type of the node. More...
virtual eNodeType APICALL | GetParentNodeType () const =0
| Gets the node type of the node's parent. More...
virtual void APICALL | SetName (const char *name, sizet nameLength)=0
| Changes the local name of the node. More...
virtual spcIUTF8String APICALL | GetName () const =0
| Gets the local name of the node. More...
virtual void APICALL | SetNameSpace (const char *nameSpace, sizet nameSpaceLength)=0
| Changes the name space of the node. More...
virtual spcIUTF8String APICALL | GetNameSpace () const =0
| Gets the name space of the node. More...
virtual spIPath APICALL | GetPath () const =0
| Gets the path of the node from the root of the metadata. More...
virtual sizet APICALL | QualifiersCount () const __NOTHROW__=0
| Gets the count of the qualifiers attached with the node. More...
virtual eNodeType APICALL | GetQualifierNodeType (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength) const =0
| Gets the type of the node's qualifier having specified namespace and name. More...
virtual void APICALL | InsertQualifier (const spINode &node)=0
| Inserts a given qualifier node. More...
virtual spINode APICALL | ReplaceQualifier (const spINode &node)=0
| Replaces a given qualifier node. More...
virtual spINode APICALL | RemoveQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)=0
| Removes the qualifier node with the specified nameSpace and name. More...
virtual bool APICALL | IsArrayItem () const =0
| Indicates whether the node is a direct child of an array node. More...
virtual bool APICALL | IsQualifierNode () const =0
| Indicates whether the node is a qualifier node. More...
virtual sizet APICALL | GetIndex () const =0
| Returns the index of the node in case it is an array item. More...
virtual bool APICALL | HasQualifiers () const =0
| Indicates whether the node has any qualifiers associated with it. More...
virtual bool APICALL | HasContent () const =0
| Returns whether the node has any content or not. return A bool value indicating the presence of contents in the node apart from qualifiers. More...
virtual bool APICALL | IsEmpty () const =0
| Returns whether the node is empty. return A bool value indicating whether the contents and qualifiers of a node are empty. More...
virtual bool APICALL | HasChanged () const =0
| Returns the status about any change done to the node or its children or qualifiers. returns a bool value indicating whether some changes have been performed on the node or its children or qualifiers. for a simple node, true will be returned in scenarios like when the node's value or qualifiers are modified. for an array node or a structure node, true will be returned in scenarios like when the node's children or the node's qualifiers are modified. More...
virtual void APICALL | AcknowledgeChanges () const __NOTHROW__=0
| Acknowledges that changes for the node and its children and qualifiers have been taken care of. for a simple node, changes that will be acknowledged in scenarios like when the node's value or node's qualifiers were modified. for an array node or a structure node, changes will be acknowledged in scenarios like when the node's children were or the node's qualifiers were modified. More...
virtual void APICALL | Clear (bool contents=true, bool qualifiers=true)=0
| Clear the contents of the node. More...
virtual spINode APICALL | Clone (bool ignoreEmptyNodes=false, bool ignoreNodesWithOnlyQualifiers=false) const =0
| Virtual copy constructor. More...
XMP_PRIVATE spcINode | GetParent () const
| Gets the parent node of the node. More...
virtual spINode APICALL | GetParent ()=0
XMP_PRIVATE spcINodeIterator | QualifiersIterator () const
virtual spINodeIterator APICALL | QualifiersIterator ()=0
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. More...
virtual spINode APICALL | GetQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)=0
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. More...
XMP_PRIVATE spISimpleNode | GetSimpleQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
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. More...
XMP_PRIVATE spIStructureNode | GetStructureQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
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. More...
XMP_PRIVATE spIArrayNode | GetArrayQualifier (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength)
XMP_PRIVATE spcISimpleNode | ConvertToSimpleNode () const
| Converts Node to a simple node, if possible. More...
virtual spISimpleNode APICALL | ConvertToSimpleNode ()=0
XMP_PRIVATE spcIStructureNode | ConvertToStructureNode () const
| Converts Node to a structure node type, if possible. More...
virtual spIStructureNode APICALL | ConvertToStructureNode ()=0
XMP_PRIVATE spcIArrayNode | ConvertToArrayNode () const
| Converts Node to an array node type, if possible. More...
virtual spIArrayNode APICALL | ConvertToArrayNode ()=0
XMP_PRIVATE spcIMetadata | ConvertToMetadata () const
| Converts Node to a metadata node type, if possible. More...
virtual spIMetadata APICALL | ConvertToMetadata ()=0
Public Member Functions inherited from AdobeXMPCommon::ISharedObject
virtual void APICALL | Acquire () const __NOTHROW__=0
| Called by the clients of the object to indicate that he has acquired the shared ownership of the object. More...
virtual void APICALL | Release () const __NOTHROW__=0
| Called by the clients of the object to indicate he has released his shared ownership of the object. If this being the last client than this function should call Destroy to delete and release the memory. More...
Public Member Functions inherited from AdobeXMPCommon::IVersionable
template<typename requestedInterface >
XMP_PRIVATE requestedInterface * | GetInterfacePointer ()
| Get the raw pointer to an interface object implementing the requested version. More...
template<typename requestedInterface >
const XMP_PRIVATE requestedInterface * | GetInterfacePointer () const
| Get the raw pointer to a const interface object implementing the requested version. More...
Public Member Functions inherited from AdobeXMPCommon::IThreadSafe
virtual void APICALL | EnableThreadSafety () const __NOTHROW__=0
| Enables the thread safety on an object. More...
virtual void APICALL | DisableThreadSafety () const __NOTHROW__=0
| Disables the thread safety on an object. More...
virtual bool APICALL | IsThreadSafe () const =0
| Informs whether object can be used across multiple threads or not. More...

## Static Public Member Functions
static XMP_PRIVATE spISimpleNode | CreateSimpleNode (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, const char *value=NULL, sizet valueLength=AdobeXMPCommon::npos)
| Creates a simple property node which is not part of any metadata document. More...

## Protected Member Functions
virtual | ~ISimpleNode_v1 () __NOTHROW__
Protected Member Functions inherited from AdobeXMPCore::INode_v1
virtual | ~INode_v1 () __NOTHROW__
Protected Member Functions inherited from AdobeXMPCommon::ISharedObject
virtual | ~ISharedObject () __NOTHROW__=0
| REQ_FRIEND_CLASS_DECLARATION ()
Protected Member Functions inherited from AdobeXMPCommon::IVersionable
virtual | ~IVersionable ()
| REQ_FRIEND_CLASS_DECLARATION ()
Protected Member Functions inherited from AdobeXMPCommon::IThreadSafe
| REQ_FRIEND_CLASS_DECLARATION ()

## Additional Inherited Members
Public Types inherited from AdobeXMPCore::INode_v1
enum | eNodeType { kNTNone = 0, kNTSimple = 1, kNTArray = 1 << 1, kNTStructure = 1 << 2, kNTAll = kAllBits }
| Indicates various types of node available in XMP Data Model like simple, array and structure. More...

## Detailed Description

Version1 of the interface that represents a Simple Property Node of XMP DOM.

Provides all the functions to get and set various properties of the simple node.

Attention
  Support multi threading through locks but can be enabled/disabled by the client. By default every object created does not support multi-threading.

Definition at line 25 of file ISimpleNode.h.

## Constructor & Destructor Documentation

## ◆ ~ISimpleNode_v1()

virtual AdobeXMPCore::ISimpleNode_v1::~ISimpleNode_v1 | ( |  | ) |
| inline protected virtual

Destructor

Definition at line 135 of file ISimpleNode.h.

135 {}

## Member Function Documentation

## ◆ CreateSimpleNode()

static XMP_PRIVATE spISimpleNode AdobeXMPCore::ISimpleNode_v1::CreateSimpleNode | ( | const char * | nameSpace,
|  | sizet | nameSpaceLength,
|  | const char * | name,
|  | sizet | nameLength,
|  | const char * | value = `NULL`,
|  | sizet | valueLength = `AdobeXMPCommon::npos`
| ) |  |
| static

Creates a simple property node which is not part of any metadata document.

Parameters

  [in] | nameSpace | Pointer to a constant char buffer containing name space URI of the simple node.
  [in] | nameSpaceLength | Number of characters in nameSpace. In case nameSpace is null terminated set it to AdobeXMPCommon::npos.
  [in] | name | Pointer to a constant char buffer containing local name of the simple node.
  [in] | nameLength | Number of characters in name. In case name is null terminated set it to AdobeXMPCommon::npos.
  [in] | value | Pointer to a constant char buffer containing value of the simple node.
  [in] | valueLength | Number of characters in value. In case name is null terminated set it to AdobeXMPCommon::npos.

Returns
  A shared pointer to a AdobeXMPCore::ISimpleNode object.

Attention
  Error is thrown in case
  - nameSpace or name are NULL pointers, or
  - their contents are empty.

Note
  In case the value is a null pointer or its contents are empty than the value is set to empty string.

## ◆ GetValue()

virtual spcIUTF8String APICALL AdobeXMPCore::ISimpleNode_v1::GetValue | ( |  | ) | const
| pure virtual

Gets the value of the simple property node.

Returns
  A shared pointer to const AdobeXMPCommon::IUTF8String object containing value string of the simple property node.

## ◆ IsURIType()

virtual bool APICALL AdobeXMPCore::ISimpleNode_v1::IsURIType | ( |  | ) | const
| pure virtual

Indicates whether the simple property node is of URI type.

Returns
  A bool value; true in case the simple node is of URI type, false otherwise.

## ◆ SetURIType()

virtual void APICALL AdobeXMPCore::ISimpleNode_v1::SetURIType | ( | bool | isURI | ) |
| pure virtual

Controls whether the type of simple property node should be of IsURI type or not.

Parameters

  [in] | isURI | A bool value controlling the IsURI type of the simple property node

## ◆ SetValue()

virtual void APICALL AdobeXMPCore::ISimpleNode_v1::SetValue | ( | const char * | value,
|  | sizet | valueLength
| ) |  |
| pure virtual

Changes the value string of the simple property node.

Parameters

  [in] | value | Pointer to a constant char buffer containing value of the simple node.
  [in] | valueLength | Number of characters in value. In case name is null terminated set it to AdobeXMPCommon::npos.

Note
  In case the value is null pointer or its contents are empty than the value is set to empty string.

The documentation for this class was generated from the following file:

- public/include/XMPCore/Interfaces/ISimpleNode.h