GL Studio C++ Runtime API
DistiAttributeFilePathClass Class Reference

#include <file_path_class.h>

Inheritance diagram for DistiAttributeFilePathClass:
DistiAttributeBase WeakReferenceableMixin WeakReferenceable DistiAttributeCWDRelativePath

Public Member Functions

 DistiAttributeFilePathClass (const FilePathClass &basePath, CallbackMethodCallerBase *callback, const AttributeName &name, FilePathClass *attribPtr, bool useEmptyTag=false)
 
 DistiAttributeFilePathClass (const FilePathClass &basePath, CallbackMethodCallerBase *callback, const AttributeName &name, FilePathClass initialValue, bool useEmptyTag=false)
 
virtual DistiAttributeBaseoperator= (const DistiAttributeBase &oldClass)
 
virtual std::ostream & WriteValue (std::ostream &outstr)
 
virtual std::istream & ReadValue (std::istream &instr)
 
- Public Member Functions inherited from DistiAttributeBase
 DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage)
 
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 ()
 
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
 

Protected Attributes

bool _useEmptyTag
 
- 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 (void)
 
virtual ~WeakReferenceableMixin ()
 

Detailed Description

Attribute for reading and writing FilePathClass objects as a clear string.

Constructor & Destructor Documentation

DistiAttributeFilePathClass ( const FilePathClass basePath,
CallbackMethodCallerBase callback,
const AttributeName name,
FilePathClass attribPtr,
bool  useEmptyTag = false 
)
inline

This constructor has the storage external

Parameters
basePath
callback
name
attribPtr
useEmptyTag[optional, defaults to false] true to use _emptyTag when writing path with WriteValue() if path does not have a filename
DistiAttributeFilePathClass ( const FilePathClass basePath,
CallbackMethodCallerBase callback,
const AttributeName name,
FilePathClass  initialValue,
bool  useEmptyTag = false 
)
inline

Creates local storage, and will resize as needed

Parameters
basePath
callback
name
initialValue
useEmptyTag[optional, defaults to false] true to use _emptyTag when writing path with WriteValue() if path does not have a filename

Member Function Documentation

virtual DistiAttributeBase& operator= ( const DistiAttributeBase oldClass)
inlinevirtual

This will perform the copy using ReadValue() and WriteValue() It can be overridden by any dervied classes to do a smarter more efficent copy.

Reimplemented from DistiAttributeBase.

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

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.

Reimplemented in DistiAttributeCWDRelativePath.

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

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.

Reimplemented in DistiAttributeCWDRelativePath.

Member Data Documentation

bool _useEmptyTag
protected

true to use _emptyTag when writing path with WriteValue() if path does not have a filename


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