#include <rc_event_forwarder.h>
Definition at line 90 of file rc_event_forwarder.h.
Public Member Functions | |
rc_event_forwarder (event_getter_type event_getter_method) | |
Constructor. | |
virtual bool | add_target (sc_event &target_event, rc_event_filter *filter=NULL) |
Adds a target event. | |
virtual bool | add_target (sc_interface &target_if, rc_event_filter *filter=NULL) |
Adds a target event obtained from the target interface. | |
virtual bool | add_target (IF &target_if, rc_event_filter *filter=NULL) |
Adds a target event obtained from the target interface. | |
virtual int | get_target_count () const |
Returns the number of added target events. | |
virtual void | clear_targets () |
Clears the target chain. | |
virtual void | trigger_event () |
Triggers the event notification on the target chain. | |
virtual | ~rc_event_forwarder () |
Virtual destructor. | |
Protected Types | |
typedef boost::function < const sc_event &(IF *) | event_getter_type ) |
Event getter functor. | |
typedef std::vector < target > | target_vector |
Protected Member Functions | |
virtual void | rc_trigger_event (const sc_event &start_event) |
Event notification trigger (requested by a filter). | |
Protected Attributes | |
const event_getter_type | m_get_event |
event getter functor | |
target | m_target1 |
first target event | |
target | m_target2 |
second target event | |
target_vector | m_targets |
further target events | |
Private Member Functions | |
RC_STATIC_ASSERT_VALID_INTERFACE (IF) | |
Classes | |
struct | target |
typedef boost::function<const sc_event& (IF*) event_getter_type) [protected] |
Event getter functor.
An event getter functor must provide the following signature:
Definition at line 116 of file rc_event_forwarder.h.
typedef std::vector<target> target_vector [protected] |
Definition at line 118 of file rc_event_forwarder.h.
rc_event_forwarder | ( | event_getter_type | event_getter_method | ) | [inline] |
~rc_event_forwarder | ( | ) | [inline, virtual] |
RC_STATIC_ASSERT_VALID_INTERFACE | ( | IF | ) | [private] |
bool add_target | ( | sc_event & | target_event, | |
rc_event_filter * | filter = NULL | |||
) | [inline, virtual] |
Adds a target event.
Implements rc_event_forwarder_base.
Definition at line 274 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target().
bool add_target | ( | sc_interface & | target_if, | |
rc_event_filter * | filter = NULL | |||
) | [inline, virtual] |
Adds a target event obtained from the target interface.
Implements rc_event_forwarder_base.
Definition at line 312 of file rc_event_forwarder.h.
bool add_target | ( | IF & | target_if, | |
rc_event_filter * | filter = NULL | |||
) | [inline, virtual] |
Adds a target event obtained from the target interface.
Definition at line 324 of file rc_event_forwarder.h.
int get_target_count | ( | ) | const [inline, virtual] |
Returns the number of added target events.
Implements rc_event_forwarder_base.
Definition at line 333 of file rc_event_forwarder.h.
void clear_targets | ( | ) | [inline, virtual] |
Clears the target chain.
Implements rc_event_forwarder_base.
Definition at line 340 of file rc_event_forwarder.h.
void trigger_event | ( | ) | [inline, virtual] |
Triggers the event notification on the target chain.
Implements rc_event_forwarder_base.
Definition at line 373 of file rc_event_forwarder.h.
void rc_trigger_event | ( | const sc_event & | start_event | ) | [inline, protected, virtual] |
Event notification trigger (requested by a filter).
In constrast to trigger_event(), it starts triggering at the position of the specified event in the chain.
The call will be ignored if the event cannot be found in the chain.
Implements rc_event_trigger.
Definition at line 416 of file rc_event_forwarder.h.
const event_getter_type m_get_event [protected] |
event getter functor
Definition at line 181 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target().
first target event
Definition at line 185 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target(), rc_event_forwarder::clear_targets(), rc_event_forwarder::get_target_count(), rc_event_forwarder::rc_trigger_event(), and rc_event_forwarder::trigger_event().
second target event
Definition at line 189 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target(), rc_event_forwarder::clear_targets(), rc_event_forwarder::get_target_count(), rc_event_forwarder::rc_trigger_event(), and rc_event_forwarder::trigger_event().
target_vector m_targets [protected] |
further target events
Definition at line 193 of file rc_event_forwarder.h.
Referenced by rc_event_forwarder::add_target(), rc_event_forwarder::clear_targets(), rc_event_forwarder::get_target_count(), rc_event_forwarder::rc_trigger_event(), and rc_event_forwarder::trigger_event().