|
Packit |
01d647 |
#ifndef __XMPMeta_hpp__
|
|
Packit |
01d647 |
#define __XMPMeta_hpp__
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// =================================================================================================
|
|
Packit |
01d647 |
// Copyright 2002-2008 Adobe Systems Incorporated
|
|
Packit |
01d647 |
// All Rights Reserved.
|
|
Packit |
01d647 |
//
|
|
Packit |
01d647 |
// NOTICE: Adobe permits you to use, modify, and distribute this file in accordance with the terms
|
|
Packit |
01d647 |
// of the Adobe license agreement accompanying it.
|
|
Packit |
01d647 |
// =================================================================================================
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#include "XMP_Environment.h"
|
|
Packit |
01d647 |
#include "XMP_Const.h"
|
|
Packit |
01d647 |
#include "XMPCore_Impl.hpp"
|
|
Packit |
01d647 |
#include "XMLParserAdapter.hpp"
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// -------------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#ifndef DumpXMLParseTree
|
|
Packit |
01d647 |
#define DumpXMLParseTree 0
|
|
Packit |
01d647 |
#endif
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
extern XMP_VarString * xdefaultName;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
class XMPIterator;
|
|
Packit |
01d647 |
class XMPUtils;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// -------------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
class XMPMeta {
|
|
Packit |
01d647 |
public:
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
GetVersionInfo ( XMP_VersionInfo * info );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static bool
|
|
Packit |
01d647 |
Initialize();
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
Terminate() RELEASE_NO_THROW;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
Unlock ( XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
XMPMeta();
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
virtual ~XMPMeta() RELEASE_NO_THROW;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static XMP_OptionBits
|
|
Packit |
01d647 |
GetGlobalOptions();
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
SetGlobalOptions ( XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static XMP_Status
|
|
Packit |
01d647 |
DumpNamespaces ( XMP_TextOutputProc outProc,
|
|
Packit |
01d647 |
void * refCon );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static XMP_Status
|
|
Packit |
01d647 |
DumpAliases ( XMP_TextOutputProc outProc,
|
|
Packit |
01d647 |
void * refCon );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
RegisterNamespace ( XMP_StringPtr namespaceURI,
|
|
Packit |
01d647 |
XMP_StringPtr prefix );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static bool
|
|
Packit |
01d647 |
GetNamespacePrefix ( XMP_StringPtr namespaceURI,
|
|
Packit |
01d647 |
XMP_StringPtr * namespacePrefix,
|
|
Packit |
01d647 |
XMP_StringLen * prefixSize );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static bool
|
|
Packit |
01d647 |
GetNamespaceURI ( XMP_StringPtr namespacePrefix,
|
|
Packit |
01d647 |
XMP_StringPtr * namespaceURI,
|
|
Packit |
01d647 |
XMP_StringLen * uriSize );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
DeleteNamespace ( XMP_StringPtr namespaceURI );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
RegisterAlias ( XMP_StringPtr aliasNS,
|
|
Packit |
01d647 |
XMP_StringPtr aliasProp,
|
|
Packit |
01d647 |
XMP_StringPtr actualNS,
|
|
Packit |
01d647 |
XMP_StringPtr actualProp,
|
|
Packit |
01d647 |
XMP_OptionBits arrayForm );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static bool
|
|
Packit |
01d647 |
ResolveAlias ( XMP_StringPtr aliasNS,
|
|
Packit |
01d647 |
XMP_StringPtr aliasProp,
|
|
Packit |
01d647 |
XMP_StringPtr * actualNS,
|
|
Packit |
01d647 |
XMP_StringLen * nsSize,
|
|
Packit |
01d647 |
XMP_StringPtr * actualProp,
|
|
Packit |
01d647 |
XMP_StringLen * propSize,
|
|
Packit |
01d647 |
XMP_OptionBits * arrayForm );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
DeleteAlias ( XMP_StringPtr aliasNS,
|
|
Packit |
01d647 |
XMP_StringPtr aliasProp );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
static void
|
|
Packit |
01d647 |
RegisterStandardAliases ( XMP_StringPtr schemaNS );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
UnlockObject ( XMP_OptionBits options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetProperty ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_StringPtr * propValue,
|
|
Packit |
01d647 |
XMP_StringLen * valueSize,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetArrayItem ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr arrayName,
|
|
Packit |
01d647 |
XMP_Index itemIndex,
|
|
Packit |
01d647 |
XMP_StringPtr * itemValue,
|
|
Packit |
01d647 |
XMP_StringLen * valueSize,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetStructField ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr structName,
|
|
Packit |
01d647 |
XMP_StringPtr fieldNS,
|
|
Packit |
01d647 |
XMP_StringPtr fieldName,
|
|
Packit |
01d647 |
XMP_StringPtr * fieldValue,
|
|
Packit |
01d647 |
XMP_StringLen * valueSize,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetQualifier ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_StringPtr qualNS,
|
|
Packit |
01d647 |
XMP_StringPtr qualName,
|
|
Packit |
01d647 |
XMP_StringPtr * qualValue,
|
|
Packit |
01d647 |
XMP_StringLen * valueSize,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetProperty ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_StringPtr propValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetArrayItem ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr arrayName,
|
|
Packit |
01d647 |
XMP_Index itemIndex,
|
|
Packit |
01d647 |
XMP_StringPtr itemValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
AppendArrayItem ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr arrayName,
|
|
Packit |
01d647 |
XMP_OptionBits arrayOptions,
|
|
Packit |
01d647 |
XMP_StringPtr itemValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetStructField ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr structName,
|
|
Packit |
01d647 |
XMP_StringPtr fieldNS,
|
|
Packit |
01d647 |
XMP_StringPtr fieldName,
|
|
Packit |
01d647 |
XMP_StringPtr fieldValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetQualifier ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_StringPtr qualNS,
|
|
Packit |
01d647 |
XMP_StringPtr qualName,
|
|
Packit |
01d647 |
XMP_StringPtr qualValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
DeleteProperty ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
DeleteArrayItem ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr arrayName,
|
|
Packit |
01d647 |
XMP_Index itemIndex );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
DeleteStructField ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr structName,
|
|
Packit |
01d647 |
XMP_StringPtr fieldNS,
|
|
Packit |
01d647 |
XMP_StringPtr fieldName );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
DeleteQualifier ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_StringPtr qualNS,
|
|
Packit |
01d647 |
XMP_StringPtr qualName );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
DoesPropertyExist ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
DoesArrayItemExist ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr arrayName,
|
|
Packit |
01d647 |
XMP_Index itemIndex ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
DoesStructFieldExist ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr structName,
|
|
Packit |
01d647 |
XMP_StringPtr fieldNS,
|
|
Packit |
01d647 |
XMP_StringPtr fieldName ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
DoesQualifierExist ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_StringPtr qualNS,
|
|
Packit |
01d647 |
XMP_StringPtr qualName ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetLocalizedText ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr altTextName,
|
|
Packit |
01d647 |
XMP_StringPtr genericLang,
|
|
Packit |
01d647 |
XMP_StringPtr specificLang,
|
|
Packit |
01d647 |
XMP_StringPtr * actualLang,
|
|
Packit |
01d647 |
XMP_StringLen * langSize,
|
|
Packit |
01d647 |
XMP_StringPtr * itemValue,
|
|
Packit |
01d647 |
XMP_StringLen * valueSize,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetLocalizedText ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr altTextName,
|
|
Packit |
01d647 |
XMP_StringPtr genericLang,
|
|
Packit |
01d647 |
XMP_StringPtr specificLang,
|
|
Packit |
01d647 |
XMP_StringPtr itemValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetProperty_Bool ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
bool * propValue,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetProperty_Int ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_Int32 * propValue,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetProperty_Int64 ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_Int64 * propValue,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetProperty_Float ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
double * propValue,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
bool
|
|
Packit |
01d647 |
GetProperty_Date ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_DateTime * propValue,
|
|
Packit |
01d647 |
XMP_OptionBits * options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetProperty_Bool ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
bool propValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetProperty_Int ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_Int32 propValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetProperty_Int64 ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
XMP_Int64 propValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetProperty_Float ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
double propValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetProperty_Date ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr propName,
|
|
Packit |
01d647 |
const XMP_DateTime & propValue,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
GetObjectName ( XMP_StringPtr * namePtr,
|
|
Packit |
01d647 |
XMP_StringLen * nameLen ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetObjectName ( XMP_StringPtr name );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
XMP_OptionBits
|
|
Packit |
01d647 |
GetObjectOptions() const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SetObjectOptions ( XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
Sort();
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
Erase();
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
Clone ( XMPMeta * clone, XMP_OptionBits options ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
XMP_Index
|
|
Packit |
01d647 |
CountArrayItems ( XMP_StringPtr schemaNS,
|
|
Packit |
01d647 |
XMP_StringPtr arrayName ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
XMP_Status
|
|
Packit |
01d647 |
DumpObject ( XMP_TextOutputProc outProc,
|
|
Packit |
01d647 |
void * refCon ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
ParseFromBuffer ( XMP_StringPtr buffer,
|
|
Packit |
01d647 |
XMP_StringLen bufferSize,
|
|
Packit |
01d647 |
XMP_OptionBits options );
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
void
|
|
Packit |
01d647 |
SerializeToBuffer ( XMP_StringPtr * rdfString,
|
|
Packit |
01d647 |
XMP_StringLen * rdfSize,
|
|
Packit |
01d647 |
XMP_OptionBits options,
|
|
Packit |
01d647 |
XMP_StringLen padding,
|
|
Packit |
01d647 |
XMP_StringPtr newline,
|
|
Packit |
01d647 |
XMP_StringPtr indent,
|
|
Packit |
01d647 |
XMP_Index baseIndent ) const;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// =============================================================================================
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ---------------------------------------------------------------------------------------------
|
|
Packit |
01d647 |
// - Everything is built out of standard nodes. Each node has a name, value, option flags, a
|
|
Packit |
01d647 |
// vector of child nodes, and a vector of qualifier nodes.
|
|
Packit |
01d647 |
//
|
|
Packit |
01d647 |
// - The option flags are those passed to SetProperty and returned from GetProperty. They tell
|
|
Packit |
01d647 |
// if the node is simple, a struct or an array; whether it has qualifiers, etc.
|
|
Packit |
01d647 |
//
|
|
Packit |
01d647 |
// - The name of the node is an XML qualified name, of the form "prefix:simple-name". Since we
|
|
Packit |
01d647 |
// force all namespaces to be known and to have unique prefixes, this is semantically equivalent
|
|
Packit |
01d647 |
// to using a URI and simple name pair.
|
|
Packit |
01d647 |
//
|
|
Packit |
01d647 |
// - Although the value part is only for leaf properties and the children part is only for
|
|
Packit |
01d647 |
// structs and arrays, it is easier to simply have them in every node. This keeps things visible
|
|
Packit |
01d647 |
// so that debugging is easier
|
|
Packit |
01d647 |
//
|
|
Packit |
01d647 |
// - The top level node children are the namespaces that contain properties, the next level are
|
|
Packit |
01d647 |
// the top level properties, lower levels are the fields of structs or items of arrays. The name
|
|
Packit |
01d647 |
// of the top level nodes is just the namespace prefix, with the colon terminator. The name of
|
|
Packit |
01d647 |
// top level properties includes the namespace prefix.
|
|
Packit |
01d647 |
//
|
|
Packit |
01d647 |
// - Any property node, at any level, can have qualifiers. These are themselves general property
|
|
Packit |
01d647 |
// nodes. And could in fact themselves have qualifiers!
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ! Expose the implementation so that file static functions can see the data.
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
XMP_Int32 clientRefs; // ! Must be signed to allow decrement from 0.
|
|
Packit |
01d647 |
XMP_Int32 prevTkVer; // Previous toolkit version as MMmmuubbb (major, minor, micro, build).
|
|
Packit |
01d647 |
XMP_Node tree;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
XMLParserAdapter * xmlParser;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
friend class XMPIterator;
|
|
Packit |
01d647 |
friend class XMPUtils;
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
private:
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// ! These are hidden on purpose:
|
|
Packit |
01d647 |
XMPMeta ( const XMPMeta & /* original */ ) : clientRefs(0), prevTkVer(0), tree(XMP_Node(0,"",0)), xmlParser(0)
|
|
Packit |
01d647 |
{ XMP_Throw ( "Call to hidden constructor", kXMPErr_InternalFailure ); };
|
|
Packit |
01d647 |
void operator= ( const XMPMeta & /* rhs */ )
|
|
Packit |
01d647 |
{ XMP_Throw ( "Call to hidden operator=", kXMPErr_InternalFailure ); };
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
}; // class XMPMeta
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
// =================================================================================================
|
|
Packit |
01d647 |
|
|
Packit |
01d647 |
#endif // __XMPMeta_hpp__
|