InDesign SDK  20.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
SBOSReference< ISBOSObj > Class Template Reference

#include <SBOSReference.h>

Public Types

typedef base_type data_type
 

Public Member Functions

 SBOSReference ()
 
 SBOSReference (const UIDRef &baseUIDRef, SBOSID subItemID=kInvalidSBOSID)
 
const UIDRefGetUIDRef () const
 
UID GetUID () const
 
IDataBaseGetDataBase () const
 
SBOSID GetLogicalID () const
 
void SetLogicalID (SBOSID newValue)
 
ISBOSObj * Instantiate () const
 
void ReadWrite (IPMStream *s, IDataBase *db=nil)
 
bool16 operator== (const SBOSReference &other) const
 
bool16 operator!= (const SBOSReference &compareAgainst) const
 
bool16 operator< (const SBOSReference &compareAgainst) const
 

Detailed Description

template<class ISBOSObj>
class SBOSReference< ISBOSObj >

Represents small boss object; stored in the SBOS (small boss object store), and may contain SBOSID.

Maintains a persistent reference to a small boss object, which can be instantiated from one of these SBOSReference 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 SBOSReference 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.

Note: Modified from XMLReference.

Member Typedef Documentation

template<class ISBOSObj >
typedef base_type SBOSReference< ISBOSObj >::data_type

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

Constructor & Destructor Documentation

template<class ISBOSObj >
SBOSReference< ISBOSObj >::SBOSReference()
inline

Default constructor

template<class ISBOSObj >
SBOSReference< ISBOSObj >::SBOSReference(const UIDRefbaseUIDRef,
SBOSID subItemID = kInvalidSBOSID 
)
inline

Constructor

Parameters
baseUIDRef
subItemID

Member Function Documentation

template<class ISBOSObj >
IDataBase* SBOSReference< ISBOSObj >::GetDataBase (void ) const
inline

Accessor for database stored with the base UIDRef

Returns
IDataBase
template<class ISBOSObj >
SBOSID SBOSReference< ISBOSObj >::GetLogicalID () const
inline

Accessor for the sub-item SBOSID

Returns
SBOSID associated with this
template<class ISBOSObj >
UID SBOSReference< ISBOSObj >::GetUID () const
inline

Accessor for base UID associated with the base UIDRef

Returns
base UID associated with the reference
template<class ISBOSObj >
const UIDRef& SBOSReference< ISBOSObj >::GetUIDRef () const
inline

Accessor for base UIDRef

Returns
const UIDRef&
template<class ISBOSObj >
ISBOSObj* SBOSReference< ISBOSObj >::Instantiate () const
inline

Instantiate an element from the database.

Returns
reference-incremented interface ptr to ISBOSObj referenced
template<class ISBOSObj >
bool16 SBOSReference< ISBOSObj >::operator!= (const SBOSReference< ISBOSObj > & compareAgainst) const
inline

Inequality operator

Parameters
compareAgainstcomparand
Returns
kTrue if equality operation fails, kFalse otherwise
template<class ISBOSObj >
bool16 SBOSReference< ISBOSObj >::operator< (const SBOSReference< ISBOSObj > & compareAgainst) const
inline

Less than operator

Parameters
compareAgainstcomparand
Returns
kTrue if this is less than compareAgainst, kFalse otherwise
template<class ISBOSObj >
bool16 SBOSReference< ISBOSObj >::operator== (const SBOSReference< ISBOSObj > & other) const
inline

Equality operator

Parameters
othercomparand
Returns
kTrue if UIDRef and sub-item SBOSID match, kFalse otherwise
template<class ISBOSObj >
void SBOSReference< ISBOSObj >::ReadWrite (IPMStreams,
IDataBasedb = nil 
)
inline

Method to serialise object to or deserialise object from given stream

Parameters
sstream to read state from or write state to
db
template<class ISBOSObj >
void SBOSReference< ISBOSObj >::SetLogicalID (SBOSID newValue)
inline

Mutator for sub-item SBOSID

Parameters
newValuefor sub-item SBOSID