DUECA/DUSIME
Loading...
Searching...
No Matches
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...

#include <Trigger.hxx>

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.
 
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_MANAGERSactivitylevels
 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.
 

Detailed Description

Common base class for objects that pass triggering.

These objects receive triggering events, and process/combine these to pass them on and produce triggering.

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.

◆ removeTerm()

bool dueca::TargetAndPuller::removeTerm ( TriggerPuller & p)

Remove a term from this TriggerAnd or TriggerOr object.

Parameters
pObject that can serve as a trigger puller.

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