XMP Toolkit SDK  6.0.0
AdobeXMPCore::ICoreObjectFactory_v1 Class Referenceabstract

Version1 of a interface that represents a factory to create various artifacts of XMP DOM like array, structure, path etc. More...

#include <ICoreObjectFactory.h>

Inheritance diagram for AdobeXMPCore::ICoreObjectFactory_v1:
AdobeXMPCommon::IObjectFactory_v1 AdobeXMPCommon::IVersionable

Public Member Functions

virtual pINameSpacePrefixMap_base APICALL CreateNameSpacePrefixMap (pcIError_base &error) __NOTHROW__=0
 Creates an empty name space prefix map. More...
 
virtual pcINameSpacePrefixMap_base APICALL GetDefaultNameSpacePrefixMap (pcIError_base &error) __NOTHROW__=0
 Provides the default mapping of prefix string and nameSpace strings used by XMPCore. More...
 
virtual pcIPathSegment_base APICALL CreatePropertyPathSegment (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, pcIError_base &error) __NOTHROW__=0
 Creates a normal property path segment.These are essentially all properties (simple, struct and arrays). More...
 
virtual pcIPathSegment_base APICALL CreateArrayIndexPathSegment (const char *nameSpace, sizet nameSpaceLength, sizet index, pcIError_base &error) __NOTHROW__=0
 Creates an array index path segment that denotes a specific element of an array. More...
 
virtual pcIPathSegment_base APICALL CreateQualifierPathSegment (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, pcIError_base &error) __NOTHROW__=0
 Creates a Qualifier path segment, which behaves like a normal property. More...
 
virtual pcIPathSegment_base APICALL CreateQualifierSelectorPathSegment (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, const char *value, sizet valueLength, pcIError_base &error) __NOTHROW__=0
 Creates a path segment that selects a specific qualifier by its value. For example a specific language in a alternative array of languages. More...
 
virtual pIPath_base APICALL CreatePath (pcIError_base &error) __NOTHROW__=0
 Creates an empty IPath object. More...
 
virtual pIPath_base APICALL ParsePath (const char *path, sizet pathLength, pcINameSpacePrefixMap_base map, pcIError_base &error) __NOTHROW__=0
 Creates a path from a char buffer which contains the serialized path. More...
 
virtual pISimpleNode_base APICALL CreateSimpleNode (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, const char *value, sizet valueLength, pcIError_base &error) __NOTHROW__=0
 Creates a simple property node which is not part of any metadata document. More...
 
virtual pIArrayNode_base APICALL CreateArrayNode (uint32 arrayForm, const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, pcIError_base &error) __NOTHROW__=0
 Creates an array node which is not part of any metadata document. More...
 
virtual pIStructureNode_base APICALL CreateStructureNode (const char *nameSpace, sizet nameSpaceLength, const char *name, sizet nameLength, pcIError_base &error) __NOTHROW__=0
 Creates a structure node which is not part of any metadata document. More...
 
virtual pIMetadata_base APICALL CreateMetadata (pcIError_base &error) __NOTHROW__=0
 Creates an empty IMetadata object. More...
 
virtual pIDOMImplementationRegistry_base APICALL GetDOMImplementationRegistry (pcIError_base &error) __NOTHROW__=0
 Provides the reference to the database of Serializers and Parsers available with the library. More...
 
virtual pICoreConfigurationManager_base APICALL GetCoreConfigurationManager (pcIError_base &error) __NOTHROW__=0
 Provides access to the configuration manager of the library. More...
 
virtual pIMetadata_base APICALL ConvertXMPMetatoIMetadata (XMPMetaRef xmpref, pcIError_base &error) __NOTHROW__=0
 Converts old xmp object to new xmp object. More...
 
virtual XMPMetaRef APICALL ConvertIMetadatatoXMPMeta (pIMetadata iMeta, pcIError_base &error) __NOTHROW__=0
 Converts new xmp object to old xmp object. More...
 
- Public Member Functions inherited from AdobeXMPCommon::IObjectFactory_v1
virtual pIUTF8String_base APICALL CreateUTF8String (const char *buf, sizet count, pcIError_base &error) __NOTHROW__=0
 Creates an IUTF8String object. More...
 
virtual pIError_base APICALL CreateError (uint32 domain, uint32 code, uint32 severity, pcIError_base &error) __NOTHROW__=0
 Creates an IError object. More...
 
virtual ~IObjectFactory_v1 () __NOTHROW__
 
 REQ_FRIEND_CLASS_DECLARATION ()
 
- 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...
 

Static Public Member Functions

static XMP_PRIVATE pICoreObjectFactory GetCoreObjectFactory ()
 Gets an object of ICoreObjectFactory. More...
 
static XMP_PRIVATE void DestroyCoreObjectFactory ()
 Destroy everything related to core object factory. More...
 
static XMP_PRIVATE void SetupCoreObjectFactory (pICoreObjectFactory_base coreObjectFactory)
 Sets up the core object factory. More...
 
- Static Public Member Functions inherited from AdobeXMPCommon::IObjectFactory_v1
static XMP_PRIVATE uint64 GetInterfaceID ()
 Returns the unique ID assigned to the interface. More...
 
static XMP_PRIVATE uint32 GetInterfaceVersion ()
 Returns the version of the interface. More...
 
static XMP_PRIVATE pIObjectFactory MakeObjectFactory (pIObjectFactory_base ptr)
 
static XMP_PRIVATE pcIObjectFactory MakeObjectFactory (pcIObjectFactory_base ptr)
 

Protected Member Functions

virtual ~ICoreObjectFactory_v1 () __NOTHROW__
 
- Protected Member Functions inherited from AdobeXMPCommon::IVersionable
virtual ~IVersionable ()
 
 REQ_FRIEND_CLASS_DECLARATION ()
 

Detailed Description

Version1 of a interface that represents a factory to create various artifacts of XMP DOM like array, structure, path etc.

Provides all the functions to create instances of various artifacts of XMP DOM and return them as shared pointers to the clients. This is the interface through which clients of the library actually get access to all other interfaces.

Definition at line 27 of file ICoreObjectFactory.h.

Constructor & Destructor Documentation

◆ ~ICoreObjectFactory_v1()

virtual AdobeXMPCore::ICoreObjectFactory_v1::~ICoreObjectFactory_v1 ( )
inlineprotectedvirtual

Destructor

Definition at line 269 of file ICoreObjectFactory.h.

269 {}

Member Function Documentation

◆ ConvertIMetadatatoXMPMeta()

virtual XMPMetaRef APICALL AdobeXMPCore::ICoreObjectFactory_v1::ConvertIMetadatatoXMPMeta ( pIMetadata  iMeta,
pcIError_base &  error 
)
pure virtual

Converts new xmp object to old xmp object.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
XMPMetaRef.

◆ ConvertXMPMetatoIMetadata()

virtual pIMetadata_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::ConvertXMPMetatoIMetadata ( XMPMetaRef  xmpref,
pcIError_base &  error 
)
pure virtual

Converts old xmp object to new xmp object.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to #IMetadata_base object.

◆ CreateArrayIndexPathSegment()

virtual pcIPathSegment_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateArrayIndexPathSegment ( const char *  nameSpace,
sizet  nameSpaceLength,
sizet  index,
pcIError_base &  error 
)
pure virtual

Creates an array index path segment that denotes a specific element of an array.

Such segments do not have an own name and inherits the namespace from the Array property itself.

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the property.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]indexAn object of type #AdobeXMP::sizet containting the index of the array element.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to const #IPathSegment_v1.
Attention
Throws #AdobeXMP::pcIError in case
  • pointers to const char buffers are NULL,
  • their content is empty.

◆ CreateArrayNode()

virtual pIArrayNode_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateArrayNode ( uint32  arrayForm,
const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
pcIError_base &  error 
)
pure virtual

Creates an array node which is not part of any metadata document.

Parameters
[in]arrayFormA value indicating the array type
[in]nameSpacePointer to a constant char buffer containing name space URI of the array node.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the array node.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to a #IArrayNode_v1 object.

◆ CreateMetadata()

virtual pIMetadata_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateMetadata ( pcIError_base &  error)
pure virtual

Creates an empty IMetadata object.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
a pointer to an empty #IMetadata_v1 object.

◆ CreateNameSpacePrefixMap()

virtual pINameSpacePrefixMap_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateNameSpacePrefixMap ( pcIError_base &  error)
pure virtual

Creates an empty name space prefix map.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to an empty #INameSpacePrefixMap_v1 object.

◆ CreatePath()

virtual pIPath_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreatePath ( pcIError_base &  error)
pure virtual

Creates an empty IPath object.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to an empty #IPath_v1 object

◆ CreatePropertyPathSegment()

virtual pcIPathSegment_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreatePropertyPathSegment ( const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
pcIError_base &  error 
)
pure virtual

Creates a normal property path segment.These are essentially all properties (simple, struct and arrays).

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the property.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the property.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to const #IPathSegment_v1.

◆ CreateQualifierPathSegment()

virtual pcIPathSegment_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateQualifierPathSegment ( const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
pcIError_base &  error 
)
pure virtual

Creates a Qualifier path segment, which behaves like a normal property.

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the property.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the property.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to const #IPathSegment_v1.

◆ CreateQualifierSelectorPathSegment()

virtual pcIPathSegment_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateQualifierSelectorPathSegment ( const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
const char *  value,
sizet  valueLength,
pcIError_base &  error 
)
pure virtual

Creates a path segment that selects a specific qualifier by its value. For example a specific language in a alternative array of languages.

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the property.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the property.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
[in]valuePointer to a constant char buffer containing value of the language (xml:lang)
[in]valueLengthNumber of characters in value. In case value is null terminated set it to #AdobeXMPCommon::npos.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to const #IPathSegment_v1.

◆ CreateSimpleNode()

virtual pISimpleNode_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateSimpleNode ( const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
const char *  value,
sizet  valueLength,
pcIError_base &  error 
)
pure virtual

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

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the simple node.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the simple node.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
[in]valuePointer to a constant char buffer containing value of the simple node.
[in]valueLengthNumber of characters in value. In case name is null terminated set it to #AdobeXMPCommon::npos.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to a #ISimpleNode_v1 object.

◆ CreateStructureNode()

virtual pIStructureNode_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::CreateStructureNode ( const char *  nameSpace,
sizet  nameSpaceLength,
const char *  name,
sizet  nameLength,
pcIError_base &  error 
)
pure virtual

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

Parameters
[in]nameSpacePointer to a constant char buffer containing name space URI of the structure node.
[in]nameSpaceLengthNumber of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
[in]namePointer to a constant char buffer containing local name of the structure node.
[in]nameLengthNumber of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to a #IStructureNode_v1 object.

◆ DestroyCoreObjectFactory()

static XMP_PRIVATE void AdobeXMPCore::ICoreObjectFactory_v1::DestroyCoreObjectFactory ( )
static

Destroy everything related to core object factory.

◆ GetCoreConfigurationManager()

virtual pICoreConfigurationManager_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::GetCoreConfigurationManager ( pcIError_base &  error)
pure virtual

Provides access to the configuration manager of the library.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to #ICoreConfigurationManager_base object.

◆ GetCoreObjectFactory()

static XMP_PRIVATE pICoreObjectFactory AdobeXMPCore::ICoreObjectFactory_v1::GetCoreObjectFactory ( )
static

Gets an object of ICoreObjectFactory.

Returns
A pointer to an ICoreObjectFactory object.

◆ GetDefaultNameSpacePrefixMap()

virtual pcINameSpacePrefixMap_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::GetDefaultNameSpacePrefixMap ( pcIError_base &  error)
pure virtual

Provides the default mapping of prefix string and nameSpace strings used by XMPCore.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to const #INameSpacePrefixMap_v1 object containing all the mappings used as default by the XMPCore.

◆ GetDOMImplementationRegistry()

virtual pIDOMImplementationRegistry_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::GetDOMImplementationRegistry ( pcIError_base &  error)
pure virtual

Provides the reference to the database of Serializers and Parsers available with the library.

Parameters
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
a pointer to #IDOMImplementationRegistry_base object containing all the entries for serailizers and parsers.

◆ ParsePath()

virtual pIPath_base APICALL AdobeXMPCore::ICoreObjectFactory_v1::ParsePath ( const char *  path,
sizet  pathLength,
pcINameSpacePrefixMap_base  map,
pcIError_base &  error 
)
pure virtual

Creates a path from a char buffer which contains the serialized path.

Parameters
[in]pathPointer to a const char buffer containing serialized form of the path.
[in]pathLengthNumber of characters in the path. In case path in null terminated set it to #AdobeXMPCommon::npos.
[in]mapA pointer to a const #IXMPNameSpacePrefixMap_v1 object which will contain the mapping for nameSpaces to prefixes.
[out]errorA reference to a pointer to const IError object which will be filled with the error object in case of any error.
Returns
A pointer to a #IPath_v1 object.

◆ SetupCoreObjectFactory()

static XMP_PRIVATE void AdobeXMPCore::ICoreObjectFactory_v1::SetupCoreObjectFactory ( pICoreObjectFactory_base  coreObjectFactory)
static

Sets up the core object factory.

Parameters
[in]coreObjectFactoryA pointer to an #ICoreObjectFactory_v1 object.
Note
coreObjectFactory is an optional parameter and only required for clients who don't directly link with the library but want to use its functionality.

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