GL Studio C++ Runtime API
DistiAttributeEnumDirect< enumType > Class Template Reference

#include <gls_metadata_attributes.h>

Inheritance diagram for DistiAttributeEnumDirect< enumType >:
DistiAttributeBase WeakReferenceableMixin WeakReferenceable

Public Member Functions

 DistiAttributeEnumDirect (CallbackMethodCallerBase *callback, const AttributeName &name, enumType *attribPtr, DistiAttributeEnumDefList *pairList)
 
 DistiAttributeEnumDirect (CallbackMethodCallerBase *callback, const AttributeName &name, const enumType &value, DistiAttributeEnumDefList *pairList)
 
virtual long ValueInt () override
 
virtual void ValueInt (long val) override
 
virtual DistiAttributeBaseoperator= (const DistiAttributeBase &oldClass) override
 
virtual std::ostream & WriteValue (std::ostream &outstr) override
 
virtual std::istream & ReadValue (std::istream &instr) override
 
- Public Member Functions inherited from DistiAttributeBase
 DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage)
 
virtual DistiAttributeBaseoperator= (const DistiAttributeBase &oldClass)
 
const AttributeNameName () const
 
AttributeNameName ()
 
bool LocalStorage () const
 
virtual bool Copyable () const
 
virtual bool OkToWrite () const
 
virtual bool ValueChanged ()
 
virtual void ResetValueChanged ()
 
virtual std::string ValueString ()
 
virtual void ValueString (const std::string &s)
 
virtual long ValueInt ()
 
virtual void ValueInt (long val)
 
virtual double ValueFloat ()
 
virtual void ValueFloat (double val)
 
virtual void CallCallback ()
 Calls callback CallType3 if it has been set.
 
virtual std::ostream & WriteValue (std::ostream &outstr)=0
 
virtual std::istream & ReadValue (std::istream &instr)=0
 
virtual bool operator== (const DistiAttributeBase &r)
 
template<class valType >
DistiAttributeBaseoperator<< (const valType &val)
 
template<class valType >
DistiAttributeBaseoperator>> (valType &val)
 
virtual CallbackID RegisterObserver (AttributeObserver *observer)
 
virtual void UnregisterObserver (CallbackID id)
 
virtual void NotifyObservers ()
 
- Public Member Functions inherited from WeakReferenceableMixin
void AddWeakReference (WeakReference *weakRef) override
 
void NotifyWeakReferenceDestroyed (WeakReference *ref) override
 
virtual void AddWeakReference (WeakReference *weakRef)=0
 
virtual void NotifyWeakReferenceDestroyed (WeakReference *weakReference)=0
 

Public Attributes

DistiAttributeEnumDefList_pairList
 Observing pointer to the enum string to integer conversion data.
 

Protected Attributes

enumType * _attribPtr
 Underlying storage for this attribute.
 
- Protected Attributes inherited from DistiAttributeBase
AttributeName _name
 
CallbackMethodCallerBase_callback
 
ScopedPtr< DistiAttributeObserverList > _observerList
 
bool _localStorage
 
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs
 

Additional Inherited Members

- Public Types inherited from DistiAttributeBase
typedef unsigned int CallbackID
 Type for unique identifiers.
 
- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin ()
 
virtual ~WeakReferenceableMixin ()
 

Detailed Description

template<class enumType>
class disti::DistiAttributeEnumDirect< enumType >

A Disti Attribute which reads and writes enumerations directly, bypassing method calls.

Constructor & Destructor Documentation

◆ DistiAttributeEnumDirect() [1/2]

DistiAttributeEnumDirect ( CallbackMethodCallerBase callback,
const AttributeName name,
enumType *  attribPtr,
DistiAttributeEnumDefList pairList 
)
inline

Constructor, uses existing storage.

Parameters
callbackThe callback function pointer to call back.
nameThe name of this new attribute.
attribPtrA pointer to a pointer to existing storage for this attribute.
pairListThe enum string to integer data to use for this attribute.

◆ DistiAttributeEnumDirect() [2/2]

DistiAttributeEnumDirect ( CallbackMethodCallerBase callback,
const AttributeName name,
const enumType &  value,
DistiAttributeEnumDefList pairList 
)
inline

Constructor, creates local storage

Parameters
callbackThe callback function pointer to call back.
nameThe name of this new attribute.
valueThe initial value for this attribute.
pairListThe enum string to integer data to use for this attribute.

Member Function Documentation

◆ operator=()

virtual DistiAttributeBase & operator= ( const DistiAttributeBase oldClass)
inlineoverridevirtual

Assignment operator

Parameters
oldClassThe object to copy from.
Returns
The resulting object (this).

Reimplemented from DistiAttributeBase.

◆ ReadValue()

virtual std::istream & ReadValue ( std::istream &  instr)
inlineoverridevirtual

Read data from the stream into this attribute.

Parameters
instrThe stream to read from.
Returns
The stream in its current state.

Implements DistiAttributeBase.

◆ ValueInt() [1/2]

virtual long ValueInt ( )
inlineoverridevirtual
Returns
The attribute value as an integer.

Reimplemented from DistiAttributeBase.

◆ ValueInt() [2/2]

virtual void ValueInt ( long  val)
inlineoverridevirtual

Set the attribute value as an integer.

Parameters
valThe new value to set.

Reimplemented from DistiAttributeBase.

◆ WriteValue()

virtual std::ostream & WriteValue ( std::ostream &  outstr)
inlineoverridevirtual

Write data from this attribute into the stream.

Parameters
outstrThe stream to write to.
Returns
The stream in its current state.

Implements DistiAttributeBase.


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