itom  3.0.0
ito::Channel Class Reference

Public Types

enum  ChanDirection { undefined, parentToChild, childToParent }
 

Public Member Functions

 Channel (AbstractNode *parent, ito::Param *parentParam, bool deleteOnParentDisconnect, AbstractNode *child, ito::Param *childParam, bool deleteOnChildDiconnect, ChanDirection direction, bool update=false)
 
AbstractNodegetParent () const
 
AbstractNodegetChild () const
 
ChanDirection getDirection () const
 
bool getUpdatePending () const
 
unsigned int getUniqueID () const
 
ito::ParamgetOwnParam (AbstractNode *self) const
 
ito::ParamgetPartnerParam (AbstractNode *self) const
 
QString getSenderParamName () const
 
signed char getDeleteBehaviour (AbstractNode *query) const
 
RetVal propagateUpdatePending ()
 
bool getChannelBuffering () const
 
void setChannelBuffering (bool buffering)
 
uint getHash () const
 
ito::ParamgetParentParam () const
 
ito::ParamgetChildParam () const
 
void resetUpdatePending (void)
 
bool isSender (AbstractNode *query)
 
bool isReceiver (AbstractNode *query) const
 
AbstractNodegetSender (void) const
 
AbstractNodegetReceiver (void) const
 

Private Attributes

unsigned int m_uniqueID
 
AbstractNodem_pParent
 
AbstractNodem_pChild
 
ChanDirection m_direction
 
ito::Paramm_pParentParam
 
ito::Paramm_pChildParam
 

the parameter-connector on the parentīs side (can be sending or receiving)


 
bool m_deleteParentOnDisconnect
 

the parameter-connector on the childīs side (can be sending or receiving)


 
bool m_deleteChildOnDisconnect
 
bool m_updatePending
 
bool m_channelBuffering
 

tells the receiver to wait for updates before proceeding


 
uint m_hashVal
 

marks, if the Receiver has received and is buffering data from a new source


 

Static Private Attributes

static unsigned int UID = 1
 

Member Function Documentation

uint ito::Channel::getHash ( ) const
inline

The hash identifying this channel in the connection list of the participating nodes

ito::Param* ito::Channel::getOwnParam ( AbstractNode self) const
inline

returns the own node's parameter participating in this channel. Note: The roles of sender/receiver are not relevant in this context

ito::Param* ito::Channel::getPartnerParam ( AbstractNode self) const
inline

returns the other node's parameter participating in this channel. Note: The roles of sender/receiver are not relevant in this context

AbstractNode* ito::Channel::getReceiver ( void  ) const
inline

returns a pointer to the node filling the role of receiver in this channel. Useful, since parent/child do not have predefined roles

AbstractNode* ito::Channel::getSender ( void  ) const
inline

returns a pointer to the node filling the role of sender in this channel. Useful, since parent/child do not have predefined roles

bool ito::Channel::isReceiver ( AbstractNode query) const
inline

returns true, if the node given as the argument fills the role of receiver in this channel. Useful, since parent/child do not have predefined roles

bool ito::Channel::isSender ( AbstractNode query)
inline

returns true, if the node given as the argument fills the role of sender in this channel. Useful, since parent/child do not have predefined roles

ito::RetVal Channel::propagateUpdatePending ( )

prepares the whole sub tree of nodes rooted at the sending node of this channel for an incoming update. Note: this function does NOT propagate any actual data

void ito::Channel::resetUpdatePending ( void  )
inline

Sets the updatePending flag of this channel back to false. Note: This reset is NOT propagated down the node tree

Member Data Documentation

ChanDirection ito::Channel::m_direction
private

The node that is not the parent. Note: the child is NOT necessarily the receiver in the channel

AbstractNode* ito::Channel::m_pChild
private

The node calling the constructor of the channel. Note: the parent is NOT necessarily the sender in the channel

AbstractNode* ito::Channel::m_pParent
private

Unique indentifier used in the UiOrganizer

ito::Param* ito::Channel::m_pParentParam
private

Defines whether the parent or the child are the sender/receiver in this channel

unsigned int ito::Channel::m_uniqueID
private

Running counter for nodes created in the UiOrganizer

bool ito::Channel::m_updatePending
private

Flags defining the behaviour of the connected nodes upon a disconnect. If one of

these flags is set to TRUE, the corresponding node is deleted, when the connection is cut. Note:


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