58 virtual bool _addTarget(
Slot* target) = 0;
65 virtual bool _removeTarget(
Slot* target) = 0;
107 virtual void prepare() = 0;
111 virtual void finalize() = 0;
122 virtual std::string getName()
const;
125 virtual std::string getDisplayName()
const;
128 void printInfo(
const std::string& msg)
const;
131 void printWarning(
const std::string& msg)
const;
134 void printError(
const std::string& msg)
const;
137 void raise(
const std::string& msg)
const;
146 virtual std::string getType()
const = 0;
149 bool getMulti()
const;
152 bool getOptional()
const;
155 virtual std::string guessType()
const = 0;
158 virtual std::set<Slot*> getTargets()
const = 0;
161 bool connected()
const;
166 bool connected(
Slot& target)
const;
172 bool connect(
Slot& target);
178 bool disconnect(
Slot& target);
220 virtual void setData(
const T& data ) = 0;
222 virtual T getData() = 0;
224 virtual std::string getConfig()
const = 0;
232 template <
typename T>
246 const Slot& slot,
const std::string& config =
"");
252 template <
typename T>
281 virtual std::string
getType()
const;
286 typename std::set<AbstractSlot<T>*>::const_iterator begin()
const;
288 typename std::set<AbstractSlot<T>*>::const_iterator end()
const;
299 virtual std::string getName()
const=0;
302 virtual std::string getType()
const =0;
311 template <
typename T>
319 InputSlot(
bool optional=
false,
bool multi=
false);
326 virtual operator T()
const;
328 virtual const T&
operator[](std::size_t pos)
const;
329 virtual std::size_t
size()
const;
364 const T& getDataFromOutputSlot(
const Slot* slot)
const;
377 virtual void setConfig(std::string conf)=0;
379 virtual const std::string& getConfig()
const=0;
385 virtual std::string getName()
const =0;
388 virtual std::string getType()
const =0;
401 template <
typename T>
436 return _managerConfig;
440 virtual operator T()
const;
516 virtual bool isValidTarget(
Slot* target)=0;
518 void setDisplayNameAndType(std::string name,std::string
type);
523 virtual bool onAddTarget(
Slot* target);
524 virtual bool onRemoveTarget(
Slot* target);
527 std::set<Slot*> _target;
560 virtual void setConfig(std::string conf);
563 void setLoop(
bool loop);
566 virtual bool isValidTarget(
Slot *target);
569 virtual bool onAddTarget(
Slot *target);
570 virtual bool onRemoveTarget(
Slot *target);
573 std::string _managerconfig;
602 virtual bool onAddTarget(
Slot *target);
603 virtual bool onRemoveTarget(
Slot *target);
604 virtual bool isValidTarget(
Slot *target);
Encapsulation of slot connection handling (type specific) and common code for input and output slots...
virtual std::string getType() const
Get slot type.
virtual const std::string & getConfig() const =0
get manager configuration string
std::string _managerConfig
config string
std::string _displayName
Slot display name.
stay in memory after execution
virtual const OutputSlotIntf * getDataSlot() const =0
Return a pointer to a real slot.
Slot::CacheType _cacheType
output slot data cache type
virtual std::string guessType() const =0
Try to guess slot type.
virtual std::string getType() const =0
Get slot type.
Interface for a plugin manager.
Common interface for read-only access to multiple data members like arrays etc.
virtual Slot::CacheType getCacheType() const =0
query data cache type
virtual void setConfig(std::string conf)=0
set manager configuration string
This class serves to store parameters used within the Charon Project.
virtual void setCacheType(Slot::CacheType type)=0
change data cache type
virtual std::string getType() const
Get slot type.
#define charon_core_PUBLIC
Preprocessor macro to define this class/function as public visible, i.e.
void setVirtualPartnerSlot(VirtualSlot *insl)
Set corresponding partner VirtualSlot.
interface of data management classes
virtual void prepare()=0
prepare slot
Base class for serializable objects.
bool _optional
flag to mark this slot as optional
const OutputSlotIntf * getDataSlot() const
Return a pointer to a real slot.
virtual std::size_t size() const =0
Access to number of members.
Declaration of class TypeDetector.
virtual bool _addTarget(Slot *target)=0
Add slot target.
dumped after execution, not recommended
virtual void load(const ParameterFile &pf, const PluginManagerInterface *man)=0
Load slot connections.
VirtualOutputSlot This class holds a pointer to an output if the output is CACHE_MEM, otherwise it loads a config string from a given parameterfile.
virtual T & operator=(const T &B)=0
data assignment operator
std::set< AbstractSlot< T > * > _targets
Pointer to data of connected output slot.
Interface for data assignment and readout.
virtual void setConfig(std::string conf)
set manager configuration string
Interface for data acces.
virtual std::string getName() const
get the name
virtual std::string getName() const
Get slot name.
virtual std::set< Slot * > getTargets() const =0
Get pointers to the connected targets.
interface of data management factories
#define charon_core_DLL_PUBLIC
Preprocessor macro to define this class/function as public visible, i.e.
virtual const T & operator[](std::size_t pos) const =0
Access to specific member (read-only).
abstract interface class for output slots
Dynamic library API import/export prprocessor macros.
bool _multiSlot
flag to mark this slot as a multislot, that can have multiple sources/targets.
CacheType
slot data cache type
Slot::CacheType getCacheType() const
query data cache type
std::string _type
Slot type.
charon_core_DLL_PUBLIC std::string type(const std::string &typeInfo)
Get type representation.
Commom properties of slot objects.
virtual std::string getName() const =0
get the name
virtual T & operator()()=0
Call operator.
std::string _name
Slot name.
virtual void save(ParameterFile &pf) const
Save slot connections This function disconnects already established connections in the parameterFile ...
virtual void finalize()=0
finalize slot
virtual const std::string & getConfig() const
get manager configuration string
virtual const T & operator()() const =0
Call operator.
ParameteredObject * _parent
Pointer to parent object.
Declaration and implementation of the abstract class AbstractData.
virtual bool _removeTarget(Slot *target)=0
Remove slot target.
const T _initVal
initial value cache
virtual std::string getType() const =0
get the type