MIRA
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
ChannelReadWriteBase< Derived, T > Class Template Reference

#include <fw/ChannelReadWrite.h>

Inheritance diagram for ChannelReadWriteBase< Derived, T >:
Inheritance graph
[legend]

Public Types

typedef
ChannelReadWriteCommonBase
< Derived > 
Base
 
typedef Base::Shared Shared
 
typedef Base::ChannelTypePtr ChannelTypePtr
 
typedef Base::Slot Slot
 
typedef Base::ValueType ValueType
 
typedef boost::shared_ptr< SharedSharedPtr
 
typedef Shared::ChannelType ChannelType
 

Public Member Functions

 ChannelReadWriteBase ()
 Constructs an empty (invalid) ChannelReadWriteBase object. More...
 
 ChannelReadWriteBase (ChannelTypePtr channel, Slot *slot)
 Constructs a valid ChannelReadWriteBase object that is assigned to a channel and slot. More...
 
bool isValid () const
 Returns true, if data was assigned to the ChannelRead or ChannelWrite and if this data is locked. More...
 
const std::string & getChannelID ()
 
std::string getTypename () const
 
TypeMetaPtr getTypeMeta () const
 
const TimegetTimestamp () const
 
int getUseCount () const
 Returns the number of shared instances for this data, may be useful for debugging purposes. More...
 
uint32 getFlags () const
 For internal use only. More...
 
void addFlags (uint32 moreFlags) const
 For internal use only. More...
 

Protected Member Functions

ValueTypeinternalValue ()
 Returns a reference on the data. More...
 
const ValueTypeinternalValue () const
 Returns a const reference on the data. More...
 
void checkValid () const
 checks if we are still locked, if not it throws a XAccessViolation More...
 
const Buffer< uint8 > & readSerializedValue ()
 
const Buffer< uint8 > & readSerializedValue (uint8 formatVersion, bool orLower)
 
Buffer< uint8 > readSerializedValue (std::list< BinarySerializerCodecPtr > &codecs)
 Same as above, but allows to specify codecs for serialization. More...
 
Buffer< uint8 > readSerializedValue (std::list< BinarySerializerCodecPtr > &codecs, uint8 formatVersion, bool orLower)
 
void readJSON (JSONValue &oValue)
 
void readJSON (JSONValue &oValue, JSONSerializer &serializer)
 
void writeSerializedValue (Buffer< uint8 > data)
 
void writeJSON (const JSONValue &value)
 
void writeJSON (JSONDeserializer &deserializer)
 

Protected Attributes

SharedPtr shared
 

Member Typedef Documentation

typedef ChannelReadWriteCommonBase<Derived> Base
typedef Base::Slot Slot
typedef boost::shared_ptr<Shared> SharedPtr
inherited
typedef Shared::ChannelType ChannelType
inherited

Constructor & Destructor Documentation

Constructs an empty (invalid) ChannelReadWriteBase object.

ChannelReadWriteBase ( ChannelTypePtr  channel,
Slot slot 
)
inline

Constructs a valid ChannelReadWriteBase object that is assigned to a channel and slot.

Member Function Documentation

ValueType& internalValue ( )
inlineprotected

Returns a reference on the data.

Exceptions
ThrowsXRuntime, if the lock on the data was lost, e.g. by calling the finish() method
const ValueType& internalValue ( ) const
inlineprotected

Returns a const reference on the data.

Exceptions
ThrowsXRuntime, if the lock on the data was lost, e.g. by calling the finish() method
bool isValid ( ) const
inlineinherited

Returns true, if data was assigned to the ChannelRead or ChannelWrite and if this data is locked.

If this method returns true, you can safely access the underlying data.

If this method returns false, no data was assigned to the ChannelRead / ChannelWrite or the lock on the data was lost. Hence, it is not safe to access the underlying data. If you try to access the data anyway you will get an XRuntime exception.

const std::string& getChannelID ( )
inlineinherited
std::string getTypename ( ) const
inlineinherited
TypeMetaPtr getTypeMeta ( ) const
inlineinherited
const Time& getTimestamp ( ) const
inlineinherited
int getUseCount ( ) const
inlineinherited

Returns the number of shared instances for this data, may be useful for debugging purposes.

uint32 getFlags ( ) const
inlineinherited

For internal use only.

Used by remote components of the framework and by player and recorder. Returns current flags of this slot;

void addFlags ( uint32  moreFlags) const
inlineinherited

For internal use only.

Used by remote components of the framework and by player and recorder. Add additional flags to the slots flags.

void checkValid ( ) const
inlineprotectedinherited

checks if we are still locked, if not it throws a XAccessViolation

const Buffer<uint8>& readSerializedValue ( )
inlineprotectedinherited
const Buffer<uint8>& readSerializedValue ( uint8  formatVersion,
bool  orLower 
)
inlineprotectedinherited
Buffer<uint8> readSerializedValue ( std::list< BinarySerializerCodecPtr > &  codecs)
inlineprotectedinherited

Same as above, but allows to specify codecs for serialization.

Buffer<uint8> readSerializedValue ( std::list< BinarySerializerCodecPtr > &  codecs,
uint8  formatVersion,
bool  orLower 
)
inlineprotectedinherited
void readJSON ( JSONValue oValue)
inlineprotectedinherited
void readJSON ( JSONValue oValue,
JSONSerializer serializer 
)
inlineprotectedinherited
void writeSerializedValue ( Buffer< uint8 >  data)
inlineprotectedinherited
void writeJSON ( const JSONValue value)
inlineprotectedinherited
void writeJSON ( JSONDeserializer deserializer)
inlineprotectedinherited

Member Data Documentation

SharedPtr shared
protectedinherited

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