26 #include "../include/charon-core/WhileGroup.h"
27 #include "../include/charon-core/StatementIntf.h"
32 "<h2>Executes the group as long as a given statement is "
34 "Executes the group as long as a given statement is true"
35 ),statement(true,false)
39 _addInputSlot(statement,
"Statement",
"Statement for this whilegroup",
"bool");
41 _innerWhilestatement=0;
47 bool extstatement=
true;
48 if(!_innerWhilestatement)
53 extstatement=extstatement&&statement();
55 while((*_innerWhilestatement)&&extstatement) {
60 _innerWhilestatement->reset();
88 initializeWhileGroup();
90 std::map<std::string, ParameteredObject *> objs=_pluginMan->
getObjectList();
92 std::map<std::string, ParameteredObject *>::iterator it=objs.begin();
93 for(;it!=objs.end();it++)
99 _innerWhilestatement=curStatement;
104 if(!_innerWhilestatement)
106 std::stringstream msg;
107 msg<<
"Could not find a statement module in the workflow: "<<this->workFlowFile();
112 void WhileGroup::initializeWhileGroup() {
whilegroup_DECLDIR ParameteredObject * create(const std::string &name, ParameteredObject::template_type)
Creates an instance of the plugin.
void initializeGroup()
Group Initialization.
build_type
defined build type
#define whilegroup_DECLDIR
Not needed without MSVC.
template_type
Integer which represents a template type.
WhileGroup(const std::string &name="")
default constructor
Base class for serializable objects.
Convenience file to iclude all ParameteredObject dependencies and Template functions.
bool connected() const
Check if slot is connected.
void _setTags(const std::string &tags)
Register additional tag names for grouping ParameteredObjects.
the object was compiled in release mode
whilegroup_DECLDIR void destroy(ParameteredObject *b)
Deletes an instance of the plugin.
void _addInputSlot(Slot &slot, const std::string &name, const std::string &doc, const std::string &type="")
These functions needs to be called by the derived class in order to register all objects which can be...
whilegroup_DECLDIR ParameteredObject::build_type getBuildType()
Report build configuration to prevent linking of incompatibel runtime libs.
void executeGroup()
Update object.
void enableLoopConnections()
enableLoopConnections
the object was compiled in debug mode
void runWorkflow()
run whole workflow
virtual void execute()
execute plugin code
const std::map< std::string, ParameteredObject * > & getObjectList() const
Get names of existing instances.
void resetExecuted()
Set the executed flags of the objects to false.
void disableLoopConnections()
disableLoopConnections