COMObject Class Template Reference

Inheritance diagram for COMObject:

COMBase List of all members.

Detailed Description

template<class InfoType, class DataType>
class WURDE::COMObject< InfoType, DataType >

Mixed class that serves as glue between the communication adaptor and the interface object.

You probably won't need to use this object e * directly. Note that by templating now, we can eliminate one intermediary class. This may not be desirable in some cases-- if this turns out to be the case, we can split it out again.

Definition at line 55 of file COMObject.H.

Public Member Functions

 COMObject (const std::string &name)
virtual ~COMObject ()
virtual void activateSupplier ()=0
 Activates this object as a supplier.
virtual void activateConsumer ()=0
 Activates this object as a consumer.
virtual void runUpdate (const bool &publishData, const bool &publishInfo)=0
 This function will perform all work necessary to update the incoming data, and send out any outgoing data.
virtual void disconnect ()=0
 Cleans up the connection.
void setAcceptAny (const bool &val)
 Sets this to be a generic consumer, receiving all data of this interface type.
virtual void setQueueMode (const bool &val)=0
 Turns on queue mode: This queues up the events instead of overwriting the old data.
virtual void setStreamName (const std::string &name)=0
 Sets the name of the data stream we should be listening to (sets the supplier which is sending us data).
virtual void setGlobalName (const std::string &name)=0
 Sets the global name of this object.
void setAutoPing (const bool &val)
 Does what it says.
void doPing ()
void setStaging (DataType *staging_)
void setInfo (InfoType *info)
void setRequests (InfoType *requests)
void setDataVector (std::queue< DataType > *dataVector)
void setInfoVector (std::queue< InfoType > *infoVector)
void setRequestVector (std::queue< InfoType > *requestVector)
bool isSupplier ()
bool newInfo ()
bool newData ()
void resetInfo ()
void resetData ()

Protected Member Functions

 COMObject ()
 COMObject (const COMObject< InfoType, DataType > &)

Protected Attributes

std::string m_streamname
std::string m_globalName
bool m_newData
bool m_newInfo
bool m_doAutoPing
bool m_doPing
bool m_supplier
bool m_queue
bool m_acceptAny
InfoType * m_incoming
InfoType * m_outgoing
DataType * m_data
std::queue< InfoType > * m_incomingVector
std::queue< InfoType > * m_outgoingVector
std::queue< DataType > * m_dataVector
InfoType m_lastInfoIn
InfoType m_lastInfoOut
DataType m_lastData


Constructor & Destructor Documentation

COMObject ( const std::string &  name  )  [inline]

Definition at line 57 of file COMObject.H.

virtual ~COMObject (  )  [inline, virtual]

Definition at line 67 of file COMObject.H.

COMObject (  )  [inline, protected]

COMObject ( const COMObject< InfoType, DataType > &   )  [inline, protected]


Member Function Documentation

virtual void activateSupplier (  )  [pure virtual]

Activates this object as a supplier.

virtual void activateConsumer (  )  [pure virtual]

Activates this object as a consumer.

virtual void runUpdate ( const bool &  publishData,
const bool &  publishInfo 
) [pure virtual]

This function will perform all work necessary to update the incoming data, and send out any outgoing data.

virtual void disconnect (  )  [pure virtual]

Cleans up the connection.

void setAcceptAny ( const bool &  val  )  [inline]

Sets this to be a generic consumer, receiving all data of this interface type.

Definition at line 95 of file COMObject.H.

virtual void setQueueMode ( const bool &  val  )  [pure virtual]

Turns on queue mode: This queues up the events instead of overwriting the old data.

Important if all events need to be received. TODO: Add a limit to the size of the queue

virtual void setStreamName ( const std::string &  name  )  [pure virtual]

Sets the name of the data stream we should be listening to (sets the supplier which is sending us data).

virtual void setGlobalName ( const std::string &  name  )  [pure virtual]

Sets the global name of this object.

If a supplier, the global name is the same as the stream name. Global names must be unique!

void setAutoPing ( const bool &  val  )  [inline]

Does what it says.

Will be removed soon.

Definition at line 132 of file COMObject.H.

void doPing (  )  [inline]

Definition at line 133 of file COMObject.H.

void setStaging ( DataType *  staging_  )  [inline]

Definition at line 135 of file COMObject.H.

void setInfo ( InfoType *  info  )  [inline]

Definition at line 136 of file COMObject.H.

void setRequests ( InfoType *  requests  )  [inline]

Definition at line 137 of file COMObject.H.

void setDataVector ( std::queue< DataType > *  dataVector  )  [inline]

Definition at line 139 of file COMObject.H.

void setInfoVector ( std::queue< InfoType > *  infoVector  )  [inline]

Definition at line 140 of file COMObject.H.

void setRequestVector ( std::queue< InfoType > *  requestVector  )  [inline]

Definition at line 141 of file COMObject.H.

bool isSupplier (  )  [inline]

Definition at line 143 of file COMObject.H.

bool newInfo (  )  [inline]

Definition at line 144 of file COMObject.H.

bool newData (  )  [inline]

Definition at line 145 of file COMObject.H.

void resetInfo (  )  [inline]

Definition at line 146 of file COMObject.H.

void resetData (  )  [inline]

Definition at line 147 of file COMObject.H.


Member Data Documentation

std::string m_streamname [protected]

Definition at line 153 of file COMObject.H.

std::string m_globalName [protected]

Definition at line 154 of file COMObject.H.

bool m_newData [protected]

Definition at line 156 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::COMObject(), COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::newData(), and COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::resetData().

bool m_newInfo [protected]

Definition at line 157 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::COMObject(), COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::newInfo(), and COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::resetInfo().

bool m_doAutoPing [protected]

Definition at line 160 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setAutoPing().

bool m_doPing [protected]

Definition at line 163 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::doPing().

bool m_supplier [protected]

Definition at line 166 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::COMObject(), and COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::isSupplier().

bool m_queue [protected]

Definition at line 169 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::COMObject().

bool m_acceptAny [protected]

Definition at line 172 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setAcceptAny().

InfoType* m_incoming [protected]

Definition at line 174 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setInfo().

InfoType* m_outgoing [protected]

Definition at line 175 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setRequests().

DataType* m_data [protected]

Definition at line 176 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setStaging().

std::queue<InfoType>* m_incomingVector [protected]

Definition at line 178 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setInfoVector().

std::queue<InfoType>* m_outgoingVector [protected]

Definition at line 179 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setRequestVector().

std::queue<DataType>* m_dataVector [protected]

Definition at line 180 of file COMObject.H.

Referenced by COMObject< WURDE::PTUnitInfoStruct, WURDE::PTUnitDataStruct >::setDataVector().

InfoType m_lastInfoIn [protected]

Definition at line 182 of file COMObject.H.

InfoType m_lastInfoOut [protected]

Definition at line 183 of file COMObject.H.

DataType m_lastData [protected]

Definition at line 184 of file COMObject.H.


The documentation for this class was generated from the following file:
Generated on Thu Feb 1 15:31:56 2007 for WURDE by  doxygen 1.5.1