OpenWalnut  1.4.0
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes | List of all members
WModuleInputData< T > Class Template Reference

Class offering an instantiate-able data connection between modules. More...

#include <WModuleInputData.h>

+ Inheritance diagram for WModuleInputData< T >:

Public Types

typedef boost::shared_ptr
< WModuleInputData< T > > 
PtrType
 Pointer to this. More...
 
typedef boost::shared_ptr
< WModuleInputData< T > > 
SPtr
 Pointer to this. More...
 
typedef boost::shared_ptr
< const WModuleInputData< T > > 
ConstSPtr
 Pointer to this. More...
 
typedef WModuleInputData< T > & RefType
 Reference to this type. More...
 
typedef WModuleInputData< T > Type
 Type of the connector. More...
 
typedef T TransferType
 Typedef to the contained transferable. More...
 
- Public Types inherited from WModuleConnector
typedef boost::shared_ptr
< WModuleConnector
SPtr
 Shared pointer to this class. More...
 
typedef boost::shared_ptr
< const WModuleConnector
ConstSPtr
 Const shared pointer to this class. More...
 

Public Member Functions

 WModuleInputData (boost::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleInputData ()
 Destructor. More...
 
virtual void disconnect (boost::shared_ptr< WModuleConnector > con, bool removeFromOwnList=true)
 Disconnects this connector if connected. More...
 
const boost::shared_ptr< T > getData (bool reset=true)
 Gives the currently set data and resets the update flag. More...
 
virtual bool connectable (boost::shared_ptr< WModuleConnector > con)
 Checks whether the specified connector is an input connector and compatible with T. More...
 
- Public Member Functions inherited from WModuleInputConnector
 WModuleInputConnector (boost::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleInputConnector ()
 Destructor. More...
 
boost::shared_ptr< WConditiongetDataChangedCondition ()
 Gets the condition variable that gets fired whenever new data has been sent. More...
 
boost::signals2::connection subscribeSignal (MODULE_CONNECTOR_SIGNAL signal, t_GenericSignalHandlerType notifier)
 Connects (subscribes) a specified notify function with a signal this module instance is offering. More...
 
virtual bool isInputConnector () const
 Returns true if this instance is an WModuleInputConnector. More...
 
virtual bool isOutputConnector () const
 Returns true if this instance is an WModuleOutputConnector. More...
 
virtual bool updated ()
 Denotes whether the connected output was updated. More...
 
virtual bool handledUpdate ()
 Resets the updated-flag. More...
 
- Public Member Functions inherited from WModuleConnector
 WModuleConnector (boost::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleConnector ()
 Destructor. More...
 
boost::shared_ptr< WModulegetModule () const
 Returns the module which owns this connector. More...
 
virtual void disconnectAll ()
 Disconnects ALL connected connectors. More...
 
virtual void connect (boost::shared_ptr< WModuleConnector > con)
 Connects this Module Connector with another one. More...
 
bool isConnectedTo (boost::shared_ptr< WModuleConnector > con)
 Checks whether this connector is connected to the given one. More...
 
unsigned int isConnected ()
 Gets the count of connections currently established. More...
 
const std::string getDescription () const
 Gives information about this connection. More...
 
void setDescription (std::string desc)
 Sets the connector's description. More...
 
const std::string getName () const
 Gives name of connection. More...
 
const std::string getCanonicalName () const
 Gives canonical name of connection. More...
 
void setName (std::string name)
 Sets the connector's name. More...
 
WCombinerTypes::WOneToOneCombiners getPossibleDisconnections ()
 Returns a list of possible disconnections for this connector. More...
 
boost::shared_ptr
< WModuleInputConnector
toInputConnector ()
 Tries to convert this instance to an input connector. More...
 
boost::shared_ptr
< WModuleOutputConnector
toOutputConnector ()
 Tries to convert this instance to an output connector. More...
 

Static Public Member Functions

static PtrType create (boost::shared_ptr< WModule > module, std::string name="", std::string description="")
 Convenience method to create a new instance of this in data connector with proper type. More...
 
static PtrType createAndAdd (boost::shared_ptr< WModule > module, std::string name="", std::string description="")
 Convenience method to create a new instance of this in data connector with proper type and add it to the list of connectors of the specified module. More...
 

Private Attributes

bool m_disconnecting
 If true, the returned data will be NULL. More...
 

Additional Inherited Members

- Protected Member Functions inherited from WModuleInputConnector
virtual void connectSignals (boost::shared_ptr< WModuleConnector > con)
 Connect additional signals. More...
 
virtual void disconnectSignals (boost::shared_ptr< WModuleConnector > con)
 Disconnect all signals subscribed by this connector from "con". More...
 
virtual void notifyDataChange (boost::shared_ptr< WModuleConnector > input, boost::shared_ptr< WModuleConnector > output)
 Gets called when the data on this input connector changed. More...
 
virtual void notifyConnectionEstablished (boost::shared_ptr< WModuleConnector > here, boost::shared_ptr< WModuleConnector > there)
 Gets called whenever a connector gets connected to the specified input. More...
 
virtual void setUpdated ()
 Sets the update flag (use updated() to query it)to true. More...
 
- Protected Member Functions inherited from WModuleConnector
virtual const
t_GenericSignalHandlerType 
getSignalHandler (MODULE_CONNECTOR_SIGNAL signal)
 Gives the signal handler function responsible for a given signal. More...
 
virtual void notifyConnectionClosed (boost::shared_ptr< WModuleConnector > here, boost::shared_ptr< WModuleConnector > there)
 Gets called whenever a connection between a remote and local connector gets closed. More...
 
- Protected Attributes inherited from WModuleConnector
std::set< boost::shared_ptr
< WModuleConnector > > 
m_connected
 List of connectors connected to this connector. More...
 
boost::shared_mutex m_connectionListLock
 Lock for avoiding concurrent write to m_Connected (multiple reader, single writer lock). More...
 
boost::weak_ptr< WModulem_module
 The Module this connector belongs to. More...
 
std::string m_moduleName
 The name of the module owning this connector. More...
 
t_GenericSignalType signal_ConnectionEstablished
 Signal emitted whenever connection has been established. More...
 
t_GenericSignalType signal_ConnectionClosed
 Signal emitted whenever connection has been closed. More...
 

Detailed Description

template<typename T>
class WModuleInputData< T >

Class offering an instantiate-able data connection between modules.

Due to is template style it is possible to bind nearly arbitrary data.

Definition at line 63 of file WModule.h.

Member Typedef Documentation

template<typename T>
typedef boost::shared_ptr< const WModuleInputData< T > > WModuleInputData< T >::ConstSPtr

Pointer to this.

For convenience.

Definition at line 64 of file WModuleInputData.h.

template<typename T>
typedef boost::shared_ptr< WModuleInputData< T > > WModuleInputData< T >::PtrType

Pointer to this.

For convenience.

Definition at line 54 of file WModuleInputData.h.

template<typename T>
typedef WModuleInputData< T >& WModuleInputData< T >::RefType

Reference to this type.

Definition at line 69 of file WModuleInputData.h.

template<typename T>
typedef boost::shared_ptr< WModuleInputData< T > > WModuleInputData< T >::SPtr

Pointer to this.

For convenience.

Definition at line 59 of file WModuleInputData.h.

template<typename T>
typedef T WModuleInputData< T >::TransferType

Typedef to the contained transferable.

Definition at line 79 of file WModuleInputData.h.

template<typename T>
typedef WModuleInputData< T > WModuleInputData< T >::Type

Type of the connector.

Definition at line 74 of file WModuleInputData.h.

Constructor & Destructor Documentation

template<typename T>
WModuleInputData< T >::WModuleInputData ( boost::shared_ptr< WModule module,
std::string  name = "",
std::string  description = "" 
)
inline

Constructor.

Parameters
modulethe module which is owner of this connector.
nameThe name of this connector.
descriptionShort description of this connector.

Definition at line 111 of file WModuleInputData.h.

template<typename T>
virtual WModuleInputData< T >::~WModuleInputData ( )
inlinevirtual

Destructor.

Definition at line 120 of file WModuleInputData.h.

Member Function Documentation

template<typename T>
virtual bool WModuleInputData< T >::connectable ( boost::shared_ptr< WModuleConnector con)
inlinevirtual

Checks whether the specified connector is an input connector and compatible with T.

Parameters
conthe connector to check against.
Returns
true if compatible.

Reimplemented from WModuleInputConnector.

Definition at line 175 of file WModuleInputData.h.

References WModuleInputConnector::connectable().

template<typename T >
WModuleInputData< T >::PtrType WModuleInputData< T >::create ( boost::shared_ptr< WModule module,
std::string  name = "",
std::string  description = "" 
)
static

Convenience method to create a new instance of this in data connector with proper type.

Parameters
modulethe module owning this instance
namethe name of this connector.
descriptionthe description of this connector.
Returns
the pointer to the created connector.

Definition at line 211 of file WModuleInputData.h.

template<typename T >
WModuleInputData< T >::PtrType WModuleInputData< T >::createAndAdd ( boost::shared_ptr< WModule module,
std::string  name = "",
std::string  description = "" 
)
static

Convenience method to create a new instance of this in data connector with proper type and add it to the list of connectors of the specified module.

Parameters
modulethe module owning this instance
namethe name of this connector.
descriptionthe description of this connector.
Returns
the pointer to the created connector.

Definition at line 220 of file WModuleInputData.h.

template<typename T >
void WModuleInputData< T >::disconnect ( boost::shared_ptr< WModuleConnector con,
bool  removeFromOwnList = true 
)
virtual

Disconnects this connector if connected.

If it is not connected: nothing happens.

Parameters
conthe connector to disconnect.
removeFromOwnListif true the specified connection is also removed from the own connection list. If false it won't.

Reimplemented from WModuleConnector.

Definition at line 203 of file WModuleInputData.h.

References WModuleConnector::disconnect().

template<typename T>
const boost::shared_ptr< T > WModuleInputData< T >::getData ( bool  reset = true)
inline

Gives the currently set data and resets the update flag.

Parameters
resetreset the flag of updated() if true (default).
Returns
the data currently set. NULL if no data has been sent yet or the connector is unconnected.

Definition at line 139 of file WModuleInputData.h.

References WModuleInputConnector::handledUpdate(), WModuleConnector::m_connected, WModuleConnector::m_connectionListLock, and WModuleInputData< T >::m_disconnecting.

Member Data Documentation

template<typename T>
bool WModuleInputData< T >::m_disconnecting
private

If true, the returned data will be NULL.

Needed because disconnection process is based on multiple steps.

Definition at line 192 of file WModuleInputData.h.

Referenced by WModuleInputData< T >::getData().


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