Drake
PublishEvent< T > Class Template Referencefinal

This class represents a publish event. More...

#include <drake/systems/framework/event.h>

Inheritance diagram for PublishEvent< T >:
[legend]
Collaboration diagram for PublishEvent< T >:
[legend]

Public Types

typedef std::function< void(const Context< T > &, const PublishEvent< T > &)> PublishCallback
 Callback function that processes a publish event. More...
 
- Public Types inherited from Event< T >
enum  TriggerType {
  kUnknown, kInitialization, kForced, kTimed,
  kPeriodic, kPerStep, kWitness
}
 Predefined types of triggers. More...
 

Public Member Functions

void operator= (const PublishEvent &)=delete
 
 PublishEvent (PublishEvent &&)=delete
 
void operator= (PublishEvent &&)=delete
 
bool is_discrete_update () const override
 Returns true if this is a DiscreteUpdateEvent. More...
 
 PublishEvent (const typename Event< T >::TriggerType &trigger_type, PublishCallback callback)
 Makes a PublishEvent with trigger_type, no optional data, and callback function callback, which can be null. More...
 
 PublishEvent (const typename Event< T >::TriggerType &trigger_type)
 Makes a PublishEvent with trigger_type, no optional data, and no specified callback function. More...
 
void add_to_composite (CompositeEventCollection< T > *events) const override
 Assuming that events is not null, this function makes a deep copy of this event and adds the deep copy to events's collection of publish events. More...
 
void handle (const Context< T > &context) const
 Calls the optional callback function, if one exists, with context and this. More...
 
- Public Member Functions inherited from Event< T >
void operator= (const Event &)=delete
 
 Event (Event &&)=delete
 
void operator= (Event &&)=delete
 
virtual ~Event ()
 
std::unique_ptr< EventClone () const
 Clones this instance. More...
 
TriggerType get_trigger_type () const
 Returns the trigger type. More...
 
bool has_attribute () const
 Returns true if this event has an associated attribute. More...
 
const AbstractValueget_attribute () const
 Returns a const pointer to the AbstractValue attribute. More...
 
template<typename DataType >
const DataType & get_attribute () const
 Returns a const reference to the underlying attribute. More...
 
void set_attribute (std::unique_ptr< AbstractValue > attribute)
 Sets and transfers the ownership of attribute. More...
 

Additional Inherited Members

- Protected Member Functions inherited from Event< T >
 Event (const Event &other)
 
 Event (const TriggerType &trigger)
 Constructs an Event with the specified trigger. More...
 

Detailed Description

template<typename T>
class drake::systems::PublishEvent< T >

This class represents a publish event.

It has an optional callback function to do custom handling of this event given const Context and const PublishEvent object references.

See also
System::Publish for more details.

Member Typedef Documentation

typedef std::function<void(const Context<T>&, const PublishEvent<T>&)> PublishCallback

Callback function that processes a publish event.

Constructor & Destructor Documentation

PublishEvent ( PublishEvent< T > &&  )
delete
PublishEvent ( const typename Event< T >::TriggerType trigger_type,
PublishCallback  callback 
)
inline

Makes a PublishEvent with trigger_type, no optional data, and callback function callback, which can be null.

PublishEvent ( const typename Event< T >::TriggerType trigger_type)
inlineexplicit

Makes a PublishEvent with trigger_type, no optional data, and no specified callback function.

Member Function Documentation

void add_to_composite ( CompositeEventCollection< T > *  events) const
inlineoverridevirtual

Assuming that events is not null, this function makes a deep copy of this event and adds the deep copy to events's collection of publish events.

Implements Event< T >.

Here is the call graph for this function:

void handle ( const Context< T > &  context) const
inline

Calls the optional callback function, if one exists, with context and this.

Here is the call graph for this function:

bool is_discrete_update ( ) const
inlineoverridevirtual

Returns true if this is a DiscreteUpdateEvent.

Implements Event< T >.

void operator= ( const PublishEvent< T > &  )
delete
void operator= ( PublishEvent< T > &&  )
delete

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