| XMP Toolkit SDK 6.0.0

Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
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:

## 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 | ( |  | ) |
| inline protected virtual

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] | error | A 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] | error | A 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] | nameSpace | Pointer to a constant char buffer containing name space URI of the property.
  [in] | nameSpaceLength | Number of characters in nameSpace. In case nameSpace is null terminated set it to #AdobeXMPCommon::npos.
  [in] | index | An object of type #AdobeXMP::sizet containting the index of the array element.
  [out] | error | A 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] | arrayForm | A value indicating the array type
  [in] | nameSpace | Pointer to a constant char buffer containing name space URI of the array 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 array node.
  [in] | nameLength | Number of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
  [out] | error | A 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] | error | A 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] | error | A 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] | error | A 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] | nameSpace | Pointer to a constant char buffer containing name space URI of the property.
  [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 property.
  [in] | nameLength | Number of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
  [out] | error | A 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] | nameSpace | Pointer to a constant char buffer containing name space URI of the property.
  [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 property.
  [in] | nameLength | Number of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
  [out] | error | A 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] | nameSpace | Pointer to a constant char buffer containing name space URI of the property.
  [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 property.
  [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 language (xml:lang)
  [in] | valueLength | Number of characters in value. In case value is null terminated set it to #AdobeXMPCommon::npos.
  [out] | error | A 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] | 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.
  [out] | error | A 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] | nameSpace | Pointer to a constant char buffer containing name space URI of the structure 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 structure node.
  [in] | nameLength | Number of characters in name. In case name is null terminated set it to #AdobeXMPCommon::npos.
  [out] | error | A 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] | error | A 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] | error | A 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] | error | A 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] | 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 pointer to a const #IXMPNameSpacePrefixMap_v1 object which will contain the mapping for nameSpaces to prefixes.
  [out] | error | A 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] | coreObjectFactory | A 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:

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