OpenWalnut  1.2.5
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions
WDataModule Class Reference

Base for all data loader modules. More...

#include <WDataModule.h>

+ Inheritance diagram for WDataModule:

List of all members.

Public Types

typedef boost::shared_ptr
< WDataModule
SPtr
 Convenience typedef for a boost::shared_ptr< WDataModule >.
typedef boost::shared_ptr
< const WDataModule
ConstSPtr
 Convenience typedef for a boost::shared_ptr< const WDataModule >.
- Public Types inherited from WModule
typedef std::vector
< boost::shared_ptr
< WModuleInputConnector > > 
InputConnectorList
 The type for the list of input connectors.
typedef std::vector
< boost::shared_ptr
< WModuleOutputConnector > > 
OutputConnectorList
 The type for the list of output connectors.
- Public Types inherited from WThreadedRunner
typedef boost::function< void(void) > THREADFUNCTION
 Type used for simple thread functions.

Public Member Functions

 WDataModule ()
 Default constructor.
virtual ~WDataModule ()
 Destructor.
virtual MODULE_TYPE getType () const
 Gets the type of the module.
virtual boost::shared_ptr
< WDataSet
getDataSet ()=0
 Getter for the dataset.
virtual void setFilename (boost::filesystem::path fname)=0
 Sets the filename of the file to load.
virtual boost::filesystem::path getFilename () const =0
 Gets the path of the file that has been loaded.
- Public Member Functions inherited from WModule
 WModule ()
 Constructs a new WModule instance.
virtual ~WModule ()
 Destructor.
const InputConnectorListgetInputConnectors () const
 Gives back input connectors.
boost::shared_ptr
< WModuleInputConnector
getInputConnector (std::string name)
 Finds the named connector for the module.
boost::shared_ptr
< WModuleInputConnector
findInputConnector (std::string name)
 Finds the named connector for the module.
const OutputConnectorListgetOutputConnectors () const
 Gives back output connectors.
boost::shared_ptr
< WModuleOutputConnector
getOutputConnector (std::string name)
 Finds the named connector for the module.
boost::shared_ptr
< WModuleOutputConnector
findOutputConnector (std::string name)
 Finds the named connector for the module.
boost::shared_ptr
< WModuleConnector
getConnector (std::string name)
 Finds the named connector for the module.
boost::shared_ptr
< WModuleConnector
findConnector (std::string name)
 Finds the named connector for the module.
boost::shared_ptr< WPropertiesgetProperties () const
 Return a pointer to the properties object of the module.
boost::shared_ptr< WPropertiesgetInformationProperties () const
 Return a pointer to the information properties object of the module.
const WBoolFlagisInitialized () const
 Determines whether the module instance is properly initialized.
const WBoolFlagisUseable () const
 Checks whether the module instance is ready to be used.
const WBoolFlagisAssociated () const
 Checks whether this module is associated with an container.
const WBoolFlagisReady () const
 Checks whether this module is ready.
const WBoolFlagisCrashed () const
 Checks whether this module has been crashed.
const WBoolFlagisReadyOrCrashed () const
 This is the logical or of isReady and isCrashed.
const WBoolFlagisRunning () const
 Returns a flag denoting whether the thread currently is running or nor.
boost::shared_ptr
< WModuleContainer
getAssociatedContainer () const
 The container this module is associated with.
virtual boost::shared_ptr
< WModule
factory () const =0
 Due to the prototype design pattern used to build modules, this method returns a new instance of this method.
virtual boost::signals2::connection subscribeSignal (MODULE_SIGNAL signal, t_ModuleGenericSignalHandlerType notifier)
 Connects a specified notify function with a signal this module instance is offering.
virtual boost::signals2::connection subscribeSignal (MODULE_SIGNAL signal, t_ModuleErrorSignalHandlerType notifier)
 Connects a specified notify function with a signal this module instance is offering.
virtual boost::shared_ptr
< WProgressCombiner
getRootProgressCombiner ()
 Gets the modules base progress.
virtual const char ** getXPMIcon () const
 Get the icon for this module in XPM format.
void disconnect ()
 Completely disconnects all connected connectors of this module.
WCombinerTypes::WDisconnectList getPossibleDisconnections ()
 Gives a list of all WDisconnectCombiners possible.
void setLocalPath (boost::filesystem::path path)
 Sets the local module path.
boost::filesystem::path getLocalPath () const
 Returns the local path of the module.
bool isDeprecated () const
 Checks whether the module was marked as deprecated.
std::string getDeprecationMessage () const
 Queries the deprecation message of a module if specified.
- Public Member Functions inherited from WThreadedRunner
 WThreadedRunner ()
 Default constructor.
virtual ~WThreadedRunner ()
 Destructor.
virtual void run ()
 Run thread.
void run (THREADFUNCTION f)
 Run thread.
void wait (bool requestFinish=false)
 Wait for the thread to be finished.
virtual void requestStop ()
 This method's purpose is to request a stop without waiting for it.
- Public Member Functions inherited from WPrototyped
 WPrototyped ()
 Default constructor.
virtual ~WPrototyped ()
 Destructor.
virtual const std::string getName () const =0
 Gets the name of this prototype.
virtual const std::string getDescription () const =0
 Gets the description for this prototype.
template<typename T >
bool isA ()
 Checks whether the actual prototype has the specified runtime type.

Additional Inherited Members

- Protected Types inherited from WModule
typedef std::vector
< WRequirement * > 
Requirements
 The type of the requirement list.
- Protected Member Functions inherited from WModule
virtual void moduleMain ()=0
 Entry point after loading the module.
void threadMain ()
 Thread entry point.
void setAssociatedContainer (boost::shared_ptr< WModuleContainer > container)
 Sets the container this module is associated with.
virtual void connectors ()
 Initialize connectors in this function.
virtual void properties ()
 Initialize properties in this function.
virtual void requirements ()
 Initialize requirements in this function.
virtual std::string deprecated () const
 This function allows module programmers to mark their modules deprecated in a user-friendly way.
void initialize ()
 Manages connector initialization.
virtual void cleanup ()
 Called whenever the module should shutdown.
void addConnector (boost::shared_ptr< WModuleInputConnector > con)
 Adds the specified connector to the list of inputs.
void addConnector (boost::shared_ptr< WModuleOutputConnector > con)
 Adds the specified connector to the list of outputs.
void removeConnectors ()
 Removes all connectors properly.
virtual void activate ()
 Callback for m_active.
virtual const
t_GenericSignalHandlerType 
getSignalHandler (MODULE_CONNECTOR_SIGNAL signal)
 Gives the signal handler function responsible for a given signal.
virtual void notifyConnectionEstablished (boost::shared_ptr< WModuleConnector > here, boost::shared_ptr< WModuleConnector > there)
 Gets called whenever a connector gets connected to the specified input.
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.
virtual void notifyDataChange (boost::shared_ptr< WModuleConnector > input, boost::shared_ptr< WModuleConnector > output)
 Gets called when the data on one input connector changed.
void ready ()
 Call this whenever your module is ready and can react on property changes.
wlog::WStreamedLogger infoLog () const
 Logger instance for comfortable info logging.
wlog::WStreamedLogger debugLog () const
 Logger instance for comfortable debug logging.
wlog::WStreamedLogger warnLog () const
 Logger instance for comfortable warning- logs.
wlog::WStreamedLogger errorLog () const
 Logger instance for comfortable error logging.
- Protected Member Functions inherited from WThreadedRunner
virtual void notifyStop ()
 Gets called when the thread should be stopped.
void yield () const
 Give remaining execution timeslice to another thread.
void sleep (const int32_t t) const
 Sets thread asleep.
void msleep (const int32_t t) const
 Sets thread asleep.
void waitForStop ()
 Let the thread sleep until a stop request was given.
- Protected Attributes inherited from WModule
boost::shared_ptr< WPropertiesm_properties
 The property object for the module.
boost::shared_ptr< WPropertiesm_infoProperties
 The property object for the module containing only module whose purpose is "PV_PURPOSE_INFORMNATION".
boost::shared_ptr
< WProgressCombiner
m_progress
 Progress indicator used as parent for all progress' of this module.
WBoolFlag m_initialized
 True if everything is initialized and ready to be used.
WBoolFlag m_isAssociated
 True if container got associated with this flag.
WBoolFlag m_isUsable
 True if associated && initialized.
WBoolFlag m_isReady
 True if ready() was called.
WBoolFlag m_isCrashed
 True whenever an exception is thrown during moduleMain.
WBoolFlag m_isReadyOrCrashed
 It is true whenever m_isReady or m_isCrashed is true.
WBoolFlag m_isRunning
 True if the module currently is running.
boost::shared_ptr< WProgressm_readyProgress
 Progress indicator for the "ready" state.
WConditionSet m_moduleState
 The internal state of the module.
boost::shared_ptr
< WModuleContainer
m_container
 The container this module belongs to.
InputConnectorList m_inputConnectors
 Set of input connectors associated with this module.
OutputConnectorList m_outputConnectors
 Set of output connectors associated with this module.
WPropBool m_active
 True whenever the module should be active.
WPropString m_runtimeName
 This property holds a user specified name for the current module instance.
boost::filesystem::path m_localPath
 The path where the module binary resides in.
Requirements m_requirements
 The list of requirements.
- Protected Attributes inherited from WThreadedRunner
boost::thread m_thread
 Thread instance.
WBoolFlag m_shutdownFlag
 Condition getting fired whenever the thread should quit.

Detailed Description

Base for all data loader modules.

This currently is only a prototype to move WMData out of the core. Later, it will provide a whole interface to handle arbitrary data/multi-file data and other complex things.

Definition at line 36 of file WDataModule.h.


Member Typedef Documentation

typedef boost::shared_ptr< const WDataModule > WDataModule::ConstSPtr

Convenience typedef for a boost::shared_ptr< const WDataModule >.

Reimplemented from WModule.

Definition at line 48 of file WDataModule.h.

typedef boost::shared_ptr< WDataModule > WDataModule::SPtr

Convenience typedef for a boost::shared_ptr< WDataModule >.

Reimplemented from WModule.

Definition at line 43 of file WDataModule.h.


Constructor & Destructor Documentation

WDataModule::WDataModule ( )

Default constructor.

Definition at line 27 of file WDataModule.cpp.

WDataModule::~WDataModule ( )
virtual

Destructor.

Definition at line 32 of file WDataModule.cpp.


Member Function Documentation

virtual boost::shared_ptr< WDataSet > WDataModule::getDataSet ( )
pure virtual

Getter for the dataset.

Returns:
the dataset encapsulated by this module.
virtual boost::filesystem::path WDataModule::getFilename ( ) const
pure virtual

Gets the path of the file that has been loaded.

It always is the value which has been set during the FIRST call of setFilename.

Returns:
the path of the file that has been loaded.
MODULE_TYPE WDataModule::getType ( ) const
virtual

Gets the type of the module.

This is useful for FAST differentiation between several modules like standard modules and data modules which play a special role in OpenWalnut/Kernel.

Returns:
the Type. If you do not overwrite this method, it will return MODULE_ARBITRARY.

Reimplemented from WModule.

Definition at line 37 of file WDataModule.cpp.

virtual void WDataModule::setFilename ( boost::filesystem::path  fname)
pure virtual

Sets the filename of the file to load.

If this method is called multiple times it has no effect. It has to be called right after construction BEFORE running the data module.

Notes:
The reason for using this method to set the filename instead of a property is, that a property gets set AFTER ready(), but this (and only this module) needs it before ready got called.
Parameters:
fnamethe name of the file

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