charon-core  0.3.1
SlotBundle.h
1 #ifndef SLOTBUNDLE_H
2 #define SLOTBUNDLE_H
3 #include "SlotBundleInterfaces.h"
4 #include "ParameteredObject.hxx"
6 
8 class VirtualOutputSlot ;
9 class VirtualInputSlot ;
10 
12 {
13 public:
15 
21  SlotBundle(const std::string& className,
22  const std::string& name = "", const std::string& doc = "");
23  virtual ~SlotBundle();
24 
27 
29  void setNumberOfVirtualSlots(int num);
30 
32  void prepareDynamicInterface(const ParameterFile &file);
33 
35  void initialize();
36 
38 
41  void execute();
42 
44  void finalize();
45 
46 
48  void loadConnection(ParameterFile pf,PluginManagerInterface* man);
49 
50 
51 
53  virtual int size();
54 
55 
56  protected:
57  virtual void _addSlot(int i)=0;
58  virtual void _removeSlot(int i)=0;
59 
60  std::vector<VirtualOutputSlot*> _virtualOutputSlots;
61  std::vector<VirtualInputSlot*> _virtualInputSlots;
62 
63 
64 private:
65 
66 
67  void _deleteAllSlots();
68 
69 
70 };
71 
72 #endif // SLOTBUNDLE_H
Parameter< int > num_slots
The number of virtual slots.
Definition: SlotBundle.h:26
virtual void finalize()
finalize plugin
Interface for a plugin manager.
This class serves to store parameters used within the Charon Project.
Definition: ParameterFile.h:68
Base class for serializable objects.
Convenience file to iclude all ParameteredObject dependencies and Template functions.
virtual int size()=0
Size of bundle.
Interface for SlotBundle.
virtual void execute()
execute plugin code
virtual void initialize()
initialize plugin
virtual void prepareDynamicInterface(const ParameterFile &file)
prepare interface of parameters and slots
#define charon_groups_DLL_PUBLIC
Preprocessor macro to define this class/function as public visible, i.e.
Definition: DllEx.h:84