DUECA/DUSIME
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
dueca::TargetAndPuller Class Reference

Common base class for objects that pass triggering. More...

Inheritance diagram for dueca::TargetAndPuller:
Inheritance graph
[legend]
Collaboration diagram for dueca::TargetAndPuller:
Collaboration graph
[legend]

Public Member Functions

void addTerm (TriggerPuller &p)
 Add another puller to this (and, or) combination of triggers. More...
 
void addTerm (const boost::intrusive_ptr< TargetAndPuller > &p)
 Add another puller to this combination. More...
 
- 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. More...
 
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. More...
 
virtual ~TriggerPuller ()
 Destructor. More...
 
virtual void addTarget (const boost::intrusive_ptr< TriggerTarget > &target, unsigned id)
 Add a target to this puller, only called by TriggerTarget's setTrigger. More...
 
virtual void removeTarget (const TriggerTarget *target)
 Remove a target from the puller, only called by destructor. More...
 
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. More...
 
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< TargetDatatargetlist_type
 Combination of a target, someone to pull if requested, and the index that target needs to identify this puller. More...
 

Detailed Description

Common base class for objects that pass triggering.

Constructor & Destructor Documentation

◆ TargetAndPuller()

dueca::TargetAndPuller::TargetAndPuller ( const std::string &  name = std::string())
protected

Constructor.

Member Function Documentation

◆ addTerm() [1/2]

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.

Parameters
pObject that can serve as a trigger puller.

◆ addTerm() [2/2]

void dueca::TargetAndPuller::addTerm ( const boost::intrusive_ptr< TargetAndPuller > &  p)

Add another puller to this combination.

See the explanation above.


The documentation for this class was generated from the following file: