InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
XMLReference Class Reference

#include <XMLReference.h>

Public Types

typedef base_type data_type
 

Public Member Functions

 XMLReference ()
 
 XMLReference (const UIDRef &baseUIDRef, LSID subItemID=kInvalidLSID)
 
 XMLReference (const XMLReference &other)
 
const UIDRefGetUIDRef () const
 
UID GetUID () const
 
IDataBaseGetDataBase () const
 
LSID GetLogicalID () const
 
void SetLogicalID (LSID newValue)
 
IIDXMLElementInstantiate (void) const
 
void ReadWrite (IPMStream *s, IDataBase *db=nil)
 
bool16 operator== (const XMLReference &other) const
 
bool16 operator!= (const XMLReference &compareAgainst) const
 
XMLReferenceoperator= (const XMLReference &other)
 
bool16 operator< (const XMLReference &compareAgainst) const
 

Detailed Description

Represents elements on the logical structure tree; stored in the SBOS (small boss object store), and may contain LSID (same as SBOSID).

Maintains a persistent reference to an IIDXMLElement, which can be instantiated from one of these XMLReference objects.

There are two types of persistent reference; 'base' (few of these) and 'sub-item'. The base type is UID-based, sub-item type isn't.

If the XMLReference is a sub-item type, then the small boss-object store manager (ISBOSMgr) will instantiate the object, otherwise it's just a 'normal' instantiation of a UID-based object from a database.

Member Typedef Documentation

Plain old data type; no specialised copy semantics required for K2Vector.

Constructor & Destructor Documentation

XMLReference::XMLReference ()
inline

Default constructor

XMLReference::XMLReference (const UIDRefbaseUIDRef,
LSID subItemID = kInvalidLSID 
)
inline

Constructor

Parameters
baseUIDRef
subItemID
XMLReference::XMLReference (const XMLReferenceother)
inline

Copy constructor

Parameters
otherobject to cpy state from

Member Function Documentation

IDataBase* XMLReference::GetDataBase (void ) const
inline

Accessor for database stored with the base UIDRef

Returns
IDataBase
LSID XMLReference::GetLogicalID () const
inline

Accessor for the sub-item LSID

Returns
LSID associated with this
UID XMLReference::GetUID () const
inline

Accessor for base UID associated with the base UIDRef

Returns
base UID associated with the reference
const UIDRef& XMLReference::GetUIDRef () const
inline

Accessor for base UIDRef

Returns
const UIDRef&
IIDXMLElement* XMLReference::Instantiate (void ) const

Instantiate an element from the database.

Returns
reference-incremented interface ptr to IIDXMLElement referenced
bool16 XMLReference::operator!= (const XMLReferencecompareAgainst) const
inline

Inequality operator

Parameters
compareAgainstcomparand
Returns
kTrue if equality operation fails, kFalse otherwise
bool16 XMLReference::operator< (const XMLReferencecompareAgainst) const

Less than operator

Parameters
compareAgainstcomparand
Returns
kTrue if this is less than compareAgainst, kFalse otherwise
XMLReference& XMLReference::operator= (const XMLReferenceother)
inline

Equal operator

Parameters
othervalue to be copied
bool16 XMLReference::operator== (const XMLReferenceother) const
inline

Equality operator

Parameters
othercomparand
Returns
kTrue if UIDRef and sub-item LSID match, kFalse otherwise
void XMLReference::ReadWrite (IPMStreams,
IDataBasedb = nil 
)

Method to serialise object to or deserialise object from given stream

Parameters
sstream to read state from or write state to
db
void XMLReference::SetLogicalID (LSID newValue)
inline

Mutator for sub-item LSID

Parameters
newValuefor sub-item LSID