OpenWalnut  1.5.0dev
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
WModuleInputForwardData< T > Class Template Reference

This is a simple class which forwards input data to input data connectors. More...

#include <WModuleInputForwardData.h>

+ Inheritance diagram for WModuleInputForwardData< T >:
+ Collaboration diagram for WModuleInputForwardData< T >:

Public Types

typedef std::shared_ptr< WModuleInputForwardData< T > > SPtr
 Pointer to this. More...
 
typedef std::shared_ptr< const WModuleInputForwardData< T > > ConstSPtr
 Pointer to this. More...
 
typedef SPtr PtrType
 Pointer to this. More...
 
typedef WModuleInputForwardData< T > & RefType
 Reference to this type. More...
 
typedef WModuleInputForwardData< T > Type
 Type of the connector. More...
 
typedef T TransferType
 Typedef to the contained transferable. More...
 
- Public Types inherited from WModuleInputData< T >
typedef std::shared_ptr< WModuleInputData< T > > PtrType
 Pointer to this. More...
 
typedef std::shared_ptr< WModuleInputData< T > > SPtr
 Pointer to this. More...
 
typedef std::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 std::shared_ptr< WModuleConnectorSPtr
 Shared pointer to this class. More...
 
typedef std::shared_ptr< const WModuleConnectorConstSPtr
 Const shared pointer to this class. More...
 

Public Member Functions

 WModuleInputForwardData (std::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleInputForwardData ()
 Destructor. More...
 
virtual void forward (std::shared_ptr< WModuleConnector > to)
 Forward the input to the specified input. More...
 
virtual void unforward (std::shared_ptr< WModuleConnector > to)
 Remove the specified connector from the forwarding list. More...
 
- Public Member Functions inherited from WModuleInputData< T >
 WModuleInputData (std::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleInputData ()
 Destructor. More...
 
virtual void disconnect (std::shared_ptr< WModuleConnector > con, bool removeFromOwnList=true)
 Disconnects this connector if connected. More...
 
const std::shared_ptr< T > getData (bool reset=true)
 Gives the currently set data and resets the update flag. More...
 
virtual bool connectable (std::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 (std::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleInputConnector ()
 Destructor. More...
 
virtual bool lazyConnectable (std::shared_ptr< WModuleConnector > con)
 Checks whether the specified connector is connectable to this one, but ignores compatibility the type to be transferred. 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 (std::shared_ptr< WModule > module, std::string name="", std::string description="")
 Constructor. More...
 
virtual ~WModuleConnector ()
 Destructor. More...
 
std::shared_ptr< WModulegetModule () const
 Returns the module which owns this connector. More...
 
virtual void disconnectAll ()
 Disconnects ALL connected connectors. More...
 
virtual void connect (std::shared_ptr< WModuleConnector > con, bool force=false)
 Connects this Module Connector with another one. More...
 
bool isConnectedTo (std::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...
 
std::shared_ptr< WModuleInputConnectortoInputConnector ()
 Tries to convert this instance to an input connector. More...
 
std::shared_ptr< WModuleOutputConnectortoOutputConnector ()
 Tries to convert this instance to an output connector. More...
 
std::shared_ptr< WConditiongetDataChangedCondition ()
 Gets the condition variable that gets fired whenever new data has been sent. More...
 

Static Public Member Functions

static PtrType create (std::shared_ptr< WModule > module, std::string name="", std::string description="")
 Convenience method to create a new instance of this in forward data connector with proper type. More...
 
static PtrType createAndAdd (std::shared_ptr< WModule > module, std::string name="", std::string description="")
 Convenience method to create a new instance of this in forward data connector with proper type and add it to the list of connectors of the specified module. More...
 
- Static Public Member Functions inherited from WModuleInputData< T >
static PtrType create (std::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 (std::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...
 

Protected Member Functions

virtual void notifyDataChange (std::shared_ptr< WModuleConnector > input, std::shared_ptr< WModuleConnector > output)
 Gets called whenever a connected output updates its data. More...
 
virtual void notifyConnectionClosed (std::shared_ptr< WModuleConnector > here, std::shared_ptr< WModuleConnector > there)
 Gets called whenever a connection between a remote and local connector gets closed. More...
 
- Protected Member Functions inherited from WModuleInputConnector
virtual void connectSignals (std::shared_ptr< WModuleConnector > con)
 Connect additional signals. More...
 
virtual void disconnectSignals (std::shared_ptr< WModuleConnector > con)
 Disconnect all signals subscribed by this connector from "con". More...
 
virtual void notifyConnectionEstablished (std::shared_ptr< WModuleConnector > here, std::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...
 

Protected Attributes

std::shared_ptr< WModuleOutputData< T > > m_out
 The output connector which collects data and distributes it to all connectors connected using the forwardTo() method. More...
 
- Protected Attributes inherited from WModuleConnector
std::set< std::shared_ptr< WModuleConnector > > m_connected
 List of connectors connected to this connector. More...
 
std::shared_mutex m_connectionListLock
 Lock for avoiding concurrent write to m_Connected (multiple reader, single writer lock). More...
 
std::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...
 
std::shared_ptr< WConditionm_dataChangedCondition
 Condition fired whenever data changes. More...
 

Detailed Description

template<typename T>
class WModuleInputForwardData< T >

This is a simple class which forwards input data to input data connectors.

It itself is a input data connector and can be used as one, but also provides the possibility to forward data changes to other input data connectors, using a separate output data connector (which is not visible to the outside world).

Definition at line 42 of file WModuleInputForwardData.h.

Member Typedef Documentation

◆ ConstSPtr

template<typename T >
typedef std::shared_ptr< const WModuleInputForwardData< T > > WModuleInputForwardData< T >::ConstSPtr

Pointer to this.

For convenience.

Definition at line 53 of file WModuleInputForwardData.h.

◆ PtrType

template<typename T >
typedef SPtr WModuleInputForwardData< T >::PtrType

Pointer to this.

For convenience.

Definition at line 58 of file WModuleInputForwardData.h.

◆ RefType

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

Reference to this type.

Definition at line 63 of file WModuleInputForwardData.h.

◆ SPtr

template<typename T >
typedef std::shared_ptr< WModuleInputForwardData< T > > WModuleInputForwardData< T >::SPtr

Pointer to this.

For convenience.

Definition at line 48 of file WModuleInputForwardData.h.

◆ TransferType

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

Typedef to the contained transferable.

Definition at line 73 of file WModuleInputForwardData.h.

◆ Type

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

Type of the connector.

Definition at line 68 of file WModuleInputForwardData.h.

Constructor & Destructor Documentation

◆ WModuleInputForwardData()

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

Constructor.

This creates a new input data connector which is able to forward data changes TO other input data connectors.

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

Definition at line 82 of file WModuleInputForwardData.h.

References WModuleInputForwardData< T >::m_out.

◆ ~WModuleInputForwardData()

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

Destructor.

Definition at line 92 of file WModuleInputForwardData.h.

Member Function Documentation

◆ create()

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

Convenience method to create a new instance of this in forward 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 forward connector.

Definition at line 178 of file WModuleInputForwardData.h.

◆ createAndAdd()

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

Convenience method to create a new instance of this in forward 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 forward connector.

Definition at line 186 of file WModuleInputForwardData.h.

Referenced by WMDiffTensorScalars::connectors(), and WMTemplateContainers::connectors().

+ Here is the caller graph for this function:

◆ forward()

template<typename T >
virtual void WModuleInputForwardData< T >::forward ( std::shared_ptr< WModuleConnector to)
inlinevirtual

Forward the input to the specified input.

The specified input must be compatible with the template parameter of this input.

Parameters
tothe input connector to forward data to.

Definition at line 101 of file WModuleInputForwardData.h.

References WModuleInputForwardData< T >::m_out.

Referenced by WMTemplateContainers::moduleMain().

+ Here is the caller graph for this function:

◆ notifyConnectionClosed()

template<typename T >
virtual void WModuleInputForwardData< T >::notifyConnectionClosed ( std::shared_ptr< WModuleConnector here,
std::shared_ptr< WModuleConnector there 
)
inlineprotectedvirtual

Gets called whenever a connection between a remote and local connector gets closed.

This is used here to forward the NULL data.

Parameters
herethe connector of THIS module getting disconnected.
therethe connector of the other module getting disconnected.

Reimplemented from WModuleConnector.

Definition at line 166 of file WModuleInputForwardData.h.

References WModuleInputForwardData< T >::m_out, and WModuleConnector::notifyConnectionClosed().

+ Here is the call graph for this function:

◆ notifyDataChange()

template<typename T >
virtual void WModuleInputForwardData< T >::notifyDataChange ( std::shared_ptr< WModuleConnector input,
std::shared_ptr< WModuleConnector output 
)
inlineprotectedvirtual

Gets called whenever a connected output updates its data.

This method uses this callback to update the m_out connector to inform all inputs to which the data should be forwarded.

Parameters
inputthe input connector receiving the change
outputthe output connector sending the change

Reimplemented from WModuleInputConnector.

Definition at line 152 of file WModuleInputForwardData.h.

References WModuleInputForwardData< T >::m_out, and WModuleInputConnector::notifyDataChange().

+ Here is the call graph for this function:

◆ unforward()

template<typename T >
virtual void WModuleInputForwardData< T >::unforward ( std::shared_ptr< WModuleConnector to)
inlinevirtual

Remove the specified connector from the forwarding list.

Parameters
tothe input connector to be removed from forwarding list.

Definition at line 111 of file WModuleInputForwardData.h.

References WModuleInputForwardData< T >::m_out.

Member Data Documentation

◆ m_out

template<typename T >
std::shared_ptr< WModuleOutputData< T > > WModuleInputForwardData< T >::m_out
protected

The output connector which collects data and distributes it to all connectors connected using the forwardTo() method.

Definition at line 143 of file WModuleInputForwardData.h.

Referenced by WModuleInputForwardData< T >::forward(), WModuleInputForwardData< T >::notifyConnectionClosed(), WModuleInputForwardData< T >::notifyDataChange(), WModuleInputForwardData< T >::unforward(), and WModuleInputForwardData< T >::WModuleInputForwardData().


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