Orxonox: orxonox::SynchronisableVariable< T > Class Template Reference

# orxonox::SynchronisableVariable< T > Class Template Reference

`#include <src/network/synchronisable/SynchronisableVariable.h>`

Inheritance diagram for orxonox::SynchronisableVariable< T >:

List of all members.

## Public Member Functions

virtual uint32_t | getData (uint8_t *&mem, uint8_t mode)
virtual uint8_t | getMode ()
virtual void * | getReference ()
virtual uint32_t | getSize (uint8_t mode)
virtual void | putData (uint8_t *&mem, uint8_t mode, bool forceCallback=false)
| SynchronisableVariable (T &variable, uint8_t syncDirection=VariableDirection::ToClient, NetworkCallbackBase *cb=0)
virtual | ~SynchronisableVariable ()

## Protected Attributes

NetworkCallbackBase * | callback_
uint8_t | mode_
T & | variable_

### template<class T>
class orxonox::SynchronisableVariable< T >

## Constructor & Destructor Documentation

template<class T>

orxonox::SynchronisableVariable< T >::SynchronisableVariable | ( | T & | variable,
|  | uint8_t | syncDirection = `VariableDirection::ToClient`,
|  | NetworkCallbackBase * | cb = `0` |
| ) |  |  | `[inline]`

References orxonox::GameMode::isMaster(), and orxonox::SynchronisableVariableBase::state_.

template<class T>

orxonox::SynchronisableVariable< T >::~SynchronisableVariable | ( |  | ) | `[inline, virtual]`

References orxonox::SynchronisableVariable< T >::callback_, and orxonox::NetworkCallbackManager::deleteCallback().

## Member Function Documentation

template<class T>

uint32_t orxonox::SynchronisableVariable< T >::getData | ( | uint8_t *& | mem,
|  | uint8_t | mode |
| ) |  |  | `[inline, virtual]`

Implements orxonox::SynchronisableVariableBase.

Reimplemented in orxonox::SynchronisableVariableBidirectional< T >.

References orxonox::SynchronisableVariable< T >::mode_, orxonox::returnSize(), orxonox::saveAndIncrease(), and orxonox::SynchronisableVariable< T >::variable_.

template<class T>

virtual uint8_t orxonox::SynchronisableVariable< T >::getMode | ( |  | ) | `[inline, virtual]`

Implements orxonox::SynchronisableVariableBase.

Reimplemented in orxonox::SynchronisableVariableBidirectional< T >.

References orxonox::SynchronisableVariable< T >::mode_.

template<class T>

virtual void* orxonox::SynchronisableVariable< T >::getReference | ( |  | ) | `[inline, virtual]`

Implements orxonox::SynchronisableVariableBase.

References orxonox::SynchronisableVariable< T >::variable_.

template<class T>

uint32_t orxonox::SynchronisableVariable< T >::getSize | ( | uint8_t | mode | ) | `[inline, virtual]`

Implements orxonox::SynchronisableVariableBase.

Reimplemented in orxonox::SynchronisableVariableBidirectional< T >.

References orxonox::SynchronisableVariable< T >::mode_, orxonox::returnSize(), and orxonox::SynchronisableVariable< T >::variable_.

template<class T>

void orxonox::SynchronisableVariable< T >::putData | ( | uint8_t *& | mem,
|  | uint8_t | mode,
|  | bool | forceCallback = `false` |
| ) |  |  | `[inline, virtual]`

Implements orxonox::SynchronisableVariableBase.

Reimplemented in orxonox::SynchronisableVariableBidirectional< T >.

References orxonox::SynchronisableVariable< T >::callback_, orxonox::checkEquality(), orxonox::loadAndIncrease(), orxonox::SynchronisableVariable< T >::mode_, orxonox::NetworkCallbackManager::triggerCallback(), and orxonox::SynchronisableVariable< T >::variable_.

## Member Data Documentation

template<class T>

NetworkCallbackBase* orxonox::SynchronisableVariable< T >::callback_`[protected]`

Referenced by orxonox::SynchronisableVariableBidirectional< T >::putData(), orxonox::SynchronisableVariable< T >::putData(), and orxonox::SynchronisableVariable< T >::~SynchronisableVariable().

template<class T>

uint8_t orxonox::SynchronisableVariable< T >::mode_`[protected]`

Referenced by orxonox::SynchronisableVariableBidirectional< T >::getData(), orxonox::SynchronisableVariable< T >::getData(), orxonox::SynchronisableVariable< T >::getMode(), orxonox::SynchronisableVariable< T >::getSize(), orxonox::SynchronisableVariableBidirectional< T >::putData(), and orxonox::SynchronisableVariable< T >::putData().

template<class T>

T& orxonox::SynchronisableVariable< T >::variable_`[protected]`

Referenced by orxonox::SynchronisableVariableBidirectional< T >::getData(), orxonox::SynchronisableVariable< T >::getData(), orxonox::SynchronisableVariable< T >::getReference(), orxonox::SynchronisableVariableBidirectional< T >::getSize(), orxonox::SynchronisableVariable< T >::getSize(), orxonox::SynchronisableVariableBidirectional< T >::putData(), and orxonox::SynchronisableVariable< T >::putData().

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

- src/network/synchronisable/SynchronisableVariable.h