| GL Studio C++ Runtime API

Public Member Functions | List of all members
DistiAttributeCWDRelativePath Class Reference

`#include <file_path_class.h>`

Inheritance diagram for DistiAttributeCWDRelativePath:

## Public Member Functions
| DistiAttributeCWDRelativePath (CallbackMethodCallerBase *callback, const AttributeName &name, FilePathClass *attribPtr, bool useEmptyTag=false)
| DistiAttributeCWDRelativePath (CallbackMethodCallerBase *callback, const AttributeName &name, FilePathClass initialValue, bool useEmptyTag=false)
virtual std::ostream & | WriteValue (std::ostream &outstr) override
virtual std::istream & | ReadValue (std::istream &instr) override
std::string | Type () const override
Public Member Functions inherited from DistiAttributeFilePathClass
| 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 DistiAttributeBase & | operator= (const DistiAttributeBase &oldClass) override
virtual std::ostream & | WriteValue (std::ostream &outstr) override
virtual std::istream & | ReadValue (std::istream &instr) override
std::string | Type () const override
Public Member Functions inherited from DistiAttributeBase
| DistiAttributeBase (CallbackMethodCallerBase *callback, const AttributeName &name, bool localStorage)
virtual DistiAttributeBase & | operator= (const DistiAttributeBase &oldClass)
const AttributeName & | Name () const
AttributeName & | Name ()
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 std::string | Type () const
virtual bool | operator== (const DistiAttributeBase &r)
template<class valType >
DistiAttributeBase & | operator<< (const valType &val)
template<class valType >
DistiAttributeBase & | operator>> (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

## Additional Inherited Members
Public Types inherited from DistiAttributeBase
typedef unsigned int | CallbackID
| Type for unique identifiers.
Static Public Member Functions inherited from DistiAttributeFilePathClass
static const char * | GetEmptyTag ()
Protected Member Functions inherited from WeakReferenceableMixin
| WeakReferenceableMixin ()
virtual | ~WeakReferenceableMixin ()
Protected Attributes inherited from DistiAttributeFilePathClass
FilePathClass * | _attribPtr
| Pointer to the actual storage location.
FilePathClass | _localStoragePath
| Only used by local storage constructor.
const FilePathClass & | _basePath
| Used for reading relative paths.
bool | _useEmptyTag
| true to use _emptyTag when writing path with WriteValue() if path does not have a filename.
Protected Attributes inherited from DistiAttributeBase
AttributeName | _name
CallbackMethodCallerBase * | _callback
ScopedPtr< DistiAttributeObserverList > | _observerList
bool | _localStorage
Protected Attributes inherited from WeakReferenceableMixin
DynamicArray< WeakReference * > * | _weakRefs
Static Protected Attributes inherited from DistiAttributeFilePathClass
static const char | _emptyTag []
| Backing storage for the string used to represent empty paths.

## Detailed Description

This is a FilePathClass attribute that will save/read the path relative to the current working directory.

## Constructor & Destructor Documentation

## ◆ DistiAttributeCWDRelativePath() [1/2]

DistiAttributeCWDRelativePath | ( | CallbackMethodCallerBase * | callback,
|  | const AttributeName & | name,
|  | FilePathClass * | attribPtr,
|  | bool | useEmptyTag = `false`
| ) |  |
| inline

This constructor has the storage external.

Parameters

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

## ◆ DistiAttributeCWDRelativePath() [2/2]

DistiAttributeCWDRelativePath | ( | CallbackMethodCallerBase * | callback,
|  | const AttributeName & | name,
|  | FilePathClass | initialValue,
|  | bool | useEmptyTag = `false`
| ) |  |
| inline

Creates local storage, and will resize as needed.

Parameters

  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

## ◆ ReadValue()

virtual std::istream & ReadValue | ( | std::istream & | instr | ) |
| inline override virtual

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.

Parameters

  instr | The stream to read from.

Returns
  The input stream in its current state.

Reimplemented from DistiAttributeFilePathClass.

## ◆ Type()

std::string Type | ( |  | ) | const
| inline override virtual

This method isn't pure virtual to maintain backward compatibility with existing user code.

Returns
  The unmangled type name of the underlying storage.

Reimplemented from DistiAttributeFilePathClass.

## ◆ WriteValue()

virtual std::ostream & WriteValue | ( | std::ostream & | outstr | ) |
| inline override virtual

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.

Parameters

  outstr | The stream to write to.

Returns
  The output stream in its current state.

Reimplemented from DistiAttributeFilePathClass.

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

- file_path_class.h