DUECA/DUSIME
|
Common base class for objects that pass triggering. More...
#include <Trigger.hxx>
Public Member Functions | |
void | addTerm (TriggerPuller &p) |
Add another puller to this (and, or) combination of triggers. | |
void | addTerm (const boost::intrusive_ptr< TargetAndPuller > &p) |
Add another puller to this combination. | |
bool | removeTerm (TriggerPuller &p) |
Remove a term from this TriggerAnd or TriggerOr object. | |
Public Member Functions inherited from dueca::TriggerPuller | |
const std::string & | getTriggerName () const |
Find a name. | |
Protected Member Functions | |
TargetAndPuller (const std::string &name=std::string()) | |
Constructor. | |
virtual | ~TargetAndPuller () |
Destructor. | |
Protected Member Functions inherited from dueca::TriggerPuller | |
void | pull (const DataTimeSpec &ts) |
activate and notify the targets | |
TriggerPuller (const std::string &name=std::string()) | |
Constructor. | |
virtual | ~TriggerPuller () |
Destructor. | |
virtual void | addTarget (const boost::intrusive_ptr< TriggerTarget > &target, unsigned id) |
Add a target to this puller, only called by TriggerTarget's setTrigger. | |
virtual void | removeTarget (const TriggerTarget *target) |
Remove a target from the puller, only called by destructor. | |
virtual void | setTriggerName () |
Update the name, used by ConditionAnd and ConditionOr. | |
Protected Attributes | |
unsigned | name_psize |
Number of pullers when name calculated. | |
Protected Attributes inherited from dueca::TriggerPuller | |
targetlist_type | targets |
List of targets and indices. | |
std::bitset< MAX_MANAGERS > | activitylevels |
Index of activitymanager levels. | |
std::string | name |
Name, for debugging purposes. | |
Friends | |
class | TriggerTarget |
Additional Inherited Members | |
Protected Types inherited from dueca::TriggerPuller | |
typedef list< TargetData > | targetlist_type |
Combination of a target, someone to pull if requested, and the index that target needs to identify this puller. | |
Common base class for objects that pass triggering.
These objects receive triggering events, and process/combine these to pass them on and produce triggering.
void dueca::TargetAndPuller::addTerm | ( | TriggerPuller & | p | ) |
Add another puller to this (and, or) combination of triggers.
Extending the number of pullers can only be done when the combination is not yet in use; has not yet been set as a trigger for some other object. If you need to re-wire the triggering, use clearTriggers on the triggered object, and create a new TriggerAnd or TriggerOr object to provide triggering. Note that any remaining history of triggering events (writes in channels, etc.) will be lost.
p | Object that can serve as a trigger puller. |
void dueca::TargetAndPuller::addTerm | ( | const boost::intrusive_ptr< TargetAndPuller > & | p | ) |
Add another puller to this combination.
See the explanation above.
bool dueca::TargetAndPuller::removeTerm | ( | TriggerPuller & | p | ) |
Remove a term from this TriggerAnd or TriggerOr object.
p | Object that can serve as a trigger puller. |