GL Studio C++ Runtime API
DistiAttributeEncodedStdString Class Reference

#include <gls_metadata_attributes.h>

Inheritance diagram for DistiAttributeEncodedStdString:
DistiAttribute< std::string > DistiAttributeBase WeakReferenceableMixin WeakReferenceable

Public Member Functions

bool OkToWrite () const override
 
std::string ValueString () override
 
void ValueString (const std::string &s) override
 
std::ostream & WriteValue (std::ostream &outstr) override
 
std::istream & ReadValue (std::istream &instr) override
 
- Public Member Functions inherited from DistiAttribute< std::string >
 DistiAttribute (CallbackMethodCallerBase *callback, const AttributeName &name, std::string *attribPtr)
 
 DistiAttribute (CallbackMethodCallerBase *callback, const AttributeName &name, const std::string &initialValue)
 
bool Copyable () const override
 
long ValueInt () override
 
void ValueInt (long val) override
 
double ValueFloat () override
 
void ValueFloat (double val) override
 
DistiAttributeBaseoperator= (const DistiAttributeBase &oldClass) override
 
std::ostream & WriteValue (std::ostream &outstr) override
 
std::istream & ReadValue (std::istream &instr) override
 
virtual std::string Value ()
 
virtual void Value (const std::string &val)
 
bool operator== (const DistiAttributeBase &rArg) override
 
 ~DistiAttribute () override
 
- Public Member Functions inherited from DistiAttributeBase
 DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage)
 
const AttributeNameName () const
 
AttributeNameName ()
 
bool LocalStorage () const
 
virtual bool ValueChanged ()
 
virtual void ResetValueChanged ()
 
virtual void CallCallback ()
 
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
 

Additional Inherited Members

- Public Types inherited from DistiAttributeBase
typedef unsigned int CallbackID
 Type for unique identifiers.
 
- Protected Member Functions inherited from WeakReferenceableMixin
 WeakReferenceableMixin (void)
 
virtual ~WeakReferenceableMixin ()
 
- Protected Attributes inherited from DistiAttribute< std::string >
std::string * _attribPtr
 
int _precision
 
- Protected Attributes inherited from DistiAttributeBase
AttributeName _name
 
CallbackMethodCallerBase_callback
 
ScopedPtr< DistiAttributeObserverList > _observerList
 
bool _localStorage
 
- Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * _weakRefs
 

Detailed Description

Derived from DistiAttributeStdString, the only difference is that it reads and writes encoded strings instead of clear strings.

Member Function Documentation

bool OkToWrite ( ) const
overridevirtual

Returns true if this object is ready to have its WriteValue() called This SHOULD be overriden by any derived objects that may not be ready to write at any point. The reason for this is the data is often written "NAME: VALUE". If Value is not available, we don't want to write "NAME: " first, so before writting "NAME: ", OkToWrite() can be called to see if it will have a valid value

Reimplemented from DistiAttributeBase.

std::istream& ReadValue ( std::istream &  instr)
overridevirtual

Pure virtual because this is specific to the data type to be contained. This should be overridden to read the data from the stream. The value read could be encoded for being read from a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for encoding the value themselves, or using WriteValue which should perform encoding to maintain symmetry.

Implements DistiAttributeBase.

std::string ValueString ( )
overridevirtual

Returns the std::string version of the attribute data. Here in the base class it uses WriteValue() If this particular attribute's underlying type is a string, this returns the unencoded value, suitable for users. If a file encoded value is required, call WriteValue instead.

Reimplemented from DistiAttributeBase.

void ValueString ( const std::string &  s)
overridevirtual

Sets the value from a std::string argument. Here in the base class it uses ReadValue() If this particular attribute's underlying type is a string, this should not be set to an encoded value. If needing to set from an encoded value, call ReadValue instead.

Reimplemented from DistiAttributeBase.

std::ostream& WriteValue ( std::ostream &  outstr)
overridevirtual

Pure virtual because this is specific to the data type to be contained. This should be overridden to write the data to the stream. The value written could be encoded for writing to a file as a single string, or have its own special encoding specific to its underlying type. In the case of attribute strings, this will be the GLS file encoded value. The user is responsible for decoding the value themselves, or using ReadValue which should perform decoding to maintain symmetry.

Implements DistiAttributeBase.


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