![]() |
XMP Toolkit SDK
6.0.0
|
Version1 of the interface that provides an easy iterative description of a specific path into the XMP tree. More...
#include <IPath.h>
Public Member Functions | |
virtual spcINameSpacePrefixMap APICALL | RegisterNameSpacePrefixMap (const spcINameSpacePrefixMap &map)=0 |
Registers a map of namespace and prefix with the object. This map will be used during serialization and parsing. More... | |
virtual spIUTF8String APICALL | Serialize (const spcINameSpacePrefixMap &map=spcINameSpacePrefixMap()) const =0 |
Serializes the IPath object to a utf8 string representation. This will produce either a long form of the path using the full namespace strings or short form of the path using the prefix for the namespace. More... | |
virtual void APICALL | AppendPathSegment (const spcIPathSegment &segment)=0 |
Appends a path segment to the path. More... | |
virtual spcIPathSegment APICALL | RemovePathSegment (sizet index)=0 |
Removes a path segment from the path. More... | |
virtual spcIPathSegment APICALL | GetPathSegment (sizet index) const =0 |
Gets the path segment at a particular index in the path. More... | |
virtual sizet APICALL | Size () const __NOTHROW__=0 |
Gets the number of the path segments in the path. More... | |
XMP_PRIVATE bool | IsEmpty () const |
To check whether path is empty or not. More... | |
virtual void APICALL | Clear () __NOTHROW__=0 |
Clears the path by removing all the path segments from it. More... | |
virtual spIPath APICALL | Clone (sizet startingIndex=1, sizet countOfSegments=kMaxSize) const =0 |
Gets a new path having a selected range of path segments. More... | |
![]() | |
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... | |
![]() | |
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... | |
Static Public Member Functions | |
static XMP_PRIVATE spIPath | CreatePath () |
Creates an empty IPath object. More... | |
static XMP_PRIVATE spIPath | ParsePath (const char *path, sizet pathLength, const spcINameSpacePrefixMap &map) |
Creates a path from a char buffer which contains the serialized path. More... | |
Protected Member Functions | |
virtual | ~IPath_v1 () __NOTHROW__ |
![]() | |
virtual | ~ISharedObject () __NOTHROW__=0 |
REQ_FRIEND_CLASS_DECLARATION () | |
![]() | |
virtual | ~IVersionable () |
REQ_FRIEND_CLASS_DECLARATION () | |
Version1 of the interface that provides an easy iterative description of a specific path into the XMP tree.
Path consists of multiple path segments in an order and each #IPathSegment represents one segment of the path into the XMP tree. Provides all the functions to create path and get the various properties of a path.
|
inlineprotectedvirtual |
|
pure virtual |
Appends a path segment to the path.
[in] | segment | A shared pointer to a const #AdobeXMPCore::IPathSegment object. |
|
pure virtual |
Clears the path by removing all the path segments from it.
|
pure virtual |
Gets a new path having a selected range of path segments.
[in] | startingIndex | Indicates the starting index of the path segment to be part of the returned path object. Default value is 1. |
[in] | countOfSegments | Indicates the count of the path segments to be part of the returned path object starting from startingIndex. Default value is #AdobeXMPCommon::kMaxSize. |
|
static |
Creates an empty IPath object.
|
pure virtual |
Gets the path segment at a particular index in the path.
[in] | index | Indicates the index for the path segment in the path. |
|
inline |
|
static |
Creates a path from a char buffer which contains the serialized path.
[in] | path | Pointer to a const char buffer containing serialized form of the path. |
[in] | pathLength | Number of characters in the path. In case path in null terminated set it to #AdobeXMPCommon::npos. |
[in] | map | A shared pointer to a const #AdobeXMPCore::IXMPNameSpacePrefixMap object which will contain the mapping from nameSpaces to prefixes. |
|
pure virtual |
Registers a map of namespace and prefix with the object. This map will be used during serialization and parsing.
[in] | map | A shared pointer of an object #AdobeXMPCore::INameSpacePrefixMap. |
|
pure virtual |
Removes a path segment from the path.
[in] | index | Indicates the index of the path segment to be removed. |
|
pure virtual |
Serializes the IPath object to a utf8 string representation. This will produce either a long form of the path using the full namespace strings or short form of the path using the prefix for the namespace.
[in] | map | A shared pointer to a const #AdobeXMPCore::INameSpacePrefixMap object which can contain the mapping for nameSpaces to prefixes. They will take precedence over the map registered with the object. |
|
pure virtual |
Gets the number of the path segments in the path.