COOLFluiD  Release kernel
COOLFluiD is a Collaborative Simulation Environment (CSE) focused on complex MultiPhysics simulations.
Action.hpp
Go to the documentation of this file.
1 // Copyright (C) 2010-2013 von Karman Institute for Fluid Dynamics, Belgium
2 //
3 // This software is distributed under the terms of the
4 // GNU Lesser General Public License version 3 (LGPLv3).
5 // See doc/lgpl.txt and doc/gpl.txt for the license text.
6 
7 #ifndef cf3_common_Action_hpp
8 #define cf3_common_Action_hpp
9 
10 #include "common/Component.hpp"
11 #include "common/IAction.hpp"
12 
14 
15 namespace cf3 {
16 namespace common {
17 
19 
21 class Common_API Action : public IAction, public Component {
22 
23 public: // functions
24 
27  Action ( const std::string& name );
28 
30  static std::string type_name () { return "Action"; }
31 
33  virtual void execute () = 0;
34 
37  virtual Action& create_action(const std::string& action_provider, const std::string& name);
38 
40 
41 
43  void signal_execute ( common::SignalArgs& node );
44 
46 
47 };
48 
50 
51 } // common
52 } // cf3
53 
55 
56 #endif // cf3_common_Action_hpp
std::string name(ComponentWrapper &self)
Abstract interface for actions. You probably want to use Action as a base to start from...
Definition: IAction.hpp:21
Manages a set of maps.
Definition: SignalFrame.hpp:31
Holds the Component class, as well as the ComponentIterator class plus some functions related to comp...
static std::string type_name()
Get the class name.
Definition: Action.hpp:30
Top-level namespace for coolfluid.
Definition: Action.cpp:18
Component that executes an action. Implementation of the IAction interface as a component, exposing the execute function as a signal.
Definition: Action.hpp:21
#define Common_API
Definition: CommonAPI.hpp:29
Base class for defining CF components.
Definition: Component.hpp:82
Send comments to:
COOLFluiD Web Admin