#include <rc_abstract_portal.h>
Definition at line 173 of file rc_abstract_portal.h.
Public Types | |
typedef IF | if_type |
typedef rc_accessor< IF > | accessor_type |
Public Member Functions | |
virtual std::string | get_switch_kind () const |
returns the kind of this portal | |
virtual std::string | get_switch_name () const |
returns the name of this portal | |
virtual sc_interface * | get_static_interface () const |
returns the static interface | |
Protected Member Functions | |
rc_portal_b (const sc_module_name &module_name) | |
constructor | |
void | _rc_init (rc_port_handle static_port) |
initialize (must be called directly after construction) | |
virtual accessor_type * | create_accessor () const |
creates an unconnected accessor | |
virtual void | rc_on_refresh_notify () |
this method is called when the portal refreshes its event notif. | |
virtual void | register_reconfigurable (rc_reconfigurable &module, sc_interface &dyn_interface) |
registers the given dynamic module/interface pair | |
virtual void | unregister_reconfigurable (rc_reconfigurable &module) |
unregisters the given reconfigurable module | |
virtual void | end_of_elaboration () |
things which have to be done at end of elaboration | |
virtual void | unused ()=0 |
bind static_port to rc_fallback_interface<IF> | |
virtual bool | is_unused () const =0 |
template<class IF_> | |
void | add_event_forwarder (const sc_event &(IF_::*event_getter)() const, const std::string &event_name=NULL) |
creates an event forwarder for the specified event getter method | |
void | notify_event (const std::string &event_name) |
triggers the notification of the specified dynamic event | |
rc_interface_wrapper < IF > & | get_interface_wrapper () |
returns a reference to the portal's interface wrapper | |
Private Types | |
typedef rc_portal_b< IF > | this_type |
typedef rc_portal_base | base_type |
typedef rc_abstract_switch < IF > | switch_parent_type |
typedef base_type::accessor_base_type | accessor_base_type |
typedef rc_interface_wrapper < IF >::accessor | accessor_b_type |
typedef rc_switch::state_type | state_type |
The three possible states of a switch. | |
typedef boost::function < const sc_event &(IF *) | event_getter_functor ) |
typedef std::vector < std::pair < event_getter_functor, std::string > > | ef_constr_vector |
Private Member Functions | |
RC_STATIC_ASSERT_VALID_INTERFACE (IF) | |
virtual bool | _rc_check_accessor_if_type (accessor_base_type *accessor) const |
Private Attributes | |
interface_wrapper | p_interface_wrapper |
the interface wrapper for the static interface | |
rc_port_handle | p_static_port |
a handle to the static port | |
ef_constr_vector | p_ef_constr_vector |
event forwarder construction vector | |
Classes | |
class | interface_wrapper |
The interface wrapper within portals. More... |
typedef rc_portal_b<IF> this_type [private] |
Reimplemented in rc_abstract_portal, rc_abstract_portal< sc_in_rv< W > >, rc_abstract_portal< sc_port< sc_mutex_if > >, rc_abstract_portal< sc_in_resolved >, rc_abstract_portal< sc_inout< T > >, rc_abstract_portal< sc_in< T > >, rc_abstract_portal< sc_inout_rv< W > >, rc_abstract_portal< sc_inout_resolved >, rc_abstract_portal< sc_fifo_in< T > >, rc_abstract_portal< sc_fifo_out< T > >, rc_abstract_portal< sc_port< sc_event_queue_if > >, and rc_abstract_portal< sc_port< sc_semaphore_if > >.
Definition at line 180 of file rc_abstract_portal.h.
typedef rc_portal_base base_type [private] |
Reimplemented from rc_abstract_switch.
Reimplemented in rc_abstract_portal, rc_event_queue_portal, rc_fifo_in_portal, rc_fifo_out_portal, rc_mutex_portal, rc_portal, rc_portal< sc_out_resolved >, rc_in_resolved_portal, rc_inout_resolved_portal, rc_out_resolved_portal, rc_portal< sc_out_rv< W > >, rc_in_rv_portal, rc_inout_rv_portal, rc_out_rv_portal, rc_semaphore_portal, rc_portal< sc_out< T > >, rc_in_portal, rc_inout_portal, rc_out_portal, rc_abstract_portal< sc_in_rv< W > >, rc_abstract_portal< sc_port< sc_mutex_if > >, rc_abstract_portal< sc_in_resolved >, rc_abstract_portal< sc_inout< T > >, rc_abstract_portal< sc_in< T > >, rc_abstract_portal< sc_inout_rv< W > >, rc_abstract_portal< sc_inout_resolved >, rc_abstract_portal< sc_fifo_in< T > >, rc_abstract_portal< sc_fifo_out< T > >, rc_abstract_portal< sc_port< sc_event_queue_if > >, rc_abstract_portal< sc_port< sc_semaphore_if > >, rc_portal< sc_in_rv< W > >, rc_portal< sc_port< sc_mutex_if > >, rc_portal< sc_in_resolved >, rc_portal< sc_inout< T > >, rc_portal< sc_in< T > >, rc_portal< sc_inout_rv< W > >, rc_portal< sc_inout_resolved >, rc_portal< sc_fifo_in< T > >, rc_portal< sc_fifo_out< T > >, rc_portal< sc_port< sc_event_queue_if > >, and rc_portal< sc_port< sc_semaphore_if > >.
Definition at line 181 of file rc_abstract_portal.h.
typedef rc_abstract_switch<IF> switch_parent_type [private] |
Definition at line 182 of file rc_abstract_portal.h.
typedef base_type::accessor_base_type accessor_base_type [private] |
typedef rc_interface_wrapper<IF>::accessor accessor_b_type [private] |
Definition at line 185 of file rc_abstract_portal.h.
typedef rc_switch::state_type state_type [private] |
The three possible states of a switch.
Reimplemented from rc_portal_base.
Definition at line 187 of file rc_abstract_portal.h.
typedef boost::function<const sc_event& (IF*) event_getter_functor) [private] |
Definition at line 189 of file rc_abstract_portal.h.
typedef std::vector<std::pair<event_getter_functor, std::string> > ef_constr_vector [private] |
Definition at line 191 of file rc_abstract_portal.h.
typedef IF if_type |
Reimplemented in rc_abstract_portal, rc_event_queue_portal, rc_fifo_in_portal, rc_fifo_out_portal, rc_mutex_portal, rc_portal, rc_portal< sc_out_resolved >, rc_in_resolved_portal, rc_inout_resolved_portal, rc_out_resolved_portal, rc_portal< sc_out_rv< W > >, rc_in_rv_portal, rc_inout_rv_portal, rc_out_rv_portal, rc_semaphore_portal, rc_portal< sc_out< T > >, rc_in_portal, rc_inout_portal, rc_out_portal, rc_abstract_portal< sc_in_rv< W > >, rc_abstract_portal< sc_port< sc_mutex_if > >, rc_abstract_portal< sc_in_resolved >, rc_abstract_portal< sc_inout< T > >, rc_abstract_portal< sc_in< T > >, rc_abstract_portal< sc_inout_rv< W > >, rc_abstract_portal< sc_inout_resolved >, rc_abstract_portal< sc_fifo_in< T > >, rc_abstract_portal< sc_fifo_out< T > >, rc_abstract_portal< sc_port< sc_event_queue_if > >, rc_abstract_portal< sc_port< sc_semaphore_if > >, rc_portal< sc_in_rv< W > >, rc_portal< sc_port< sc_mutex_if > >, rc_portal< sc_in_resolved >, rc_portal< sc_inout< T > >, rc_portal< sc_in< T > >, rc_portal< sc_inout_rv< W > >, rc_portal< sc_inout_resolved >, rc_portal< sc_fifo_in< T > >, rc_portal< sc_fifo_out< T > >, rc_portal< sc_port< sc_event_queue_if > >, and rc_portal< sc_port< sc_semaphore_if > >.
Definition at line 198 of file rc_abstract_portal.h.
typedef rc_accessor<IF> accessor_type |
Reimplemented in rc_abstract_portal, rc_event_queue_portal, rc_fifo_in_portal, rc_fifo_out_portal, rc_mutex_portal, rc_portal, rc_portal< sc_out_resolved >, rc_in_resolved_portal, rc_inout_resolved_portal, rc_out_resolved_portal, rc_portal< sc_out_rv< W > >, rc_in_rv_portal, rc_inout_rv_portal, rc_out_rv_portal, rc_semaphore_portal, rc_portal< sc_out< T > >, rc_in_portal, rc_inout_portal, rc_out_portal, rc_abstract_portal< sc_in_rv< W > >, rc_abstract_portal< sc_port< sc_mutex_if > >, rc_abstract_portal< sc_in_resolved >, rc_abstract_portal< sc_inout< T > >, rc_abstract_portal< sc_in< T > >, rc_abstract_portal< sc_inout_rv< W > >, rc_abstract_portal< sc_inout_resolved >, rc_abstract_portal< sc_fifo_in< T > >, rc_abstract_portal< sc_fifo_out< T > >, rc_abstract_portal< sc_port< sc_event_queue_if > >, rc_abstract_portal< sc_port< sc_semaphore_if > >, rc_portal< sc_in_rv< W > >, rc_portal< sc_port< sc_mutex_if > >, rc_portal< sc_in_resolved >, rc_portal< sc_inout< T > >, rc_portal< sc_in< T > >, rc_portal< sc_inout_rv< W > >, rc_portal< sc_inout_resolved >, rc_portal< sc_fifo_in< T > >, rc_portal< sc_fifo_out< T > >, rc_portal< sc_port< sc_event_queue_if > >, and rc_portal< sc_port< sc_semaphore_if > >.
Definition at line 199 of file rc_abstract_portal.h.
rc_portal_b | ( | const sc_module_name & | module_name | ) | [inline, explicit, protected] |
RC_STATIC_ASSERT_VALID_INTERFACE | ( | IF | ) | [private] |
Reimplemented from rc_abstract_switch.
void _rc_init | ( | rc_port_handle | static_port | ) | [inline, protected] |
initialize (must be called directly after construction)
Definition at line 439 of file rc_abstract_portal.h.
virtual std::string get_switch_kind | ( | ) | const [inline, virtual] |
returns the kind of this portal
Reimplemented from rc_abstract_switch_b.
Definition at line 214 of file rc_abstract_portal.h.
virtual std::string get_switch_name | ( | ) | const [inline, virtual] |
returns the name of this portal
Reimplemented from rc_abstract_switch_b.
Definition at line 218 of file rc_abstract_portal.h.
sc_interface * get_static_interface | ( | ) | const [inline, virtual] |
returns the static interface
Implements rc_switch.
Definition at line 451 of file rc_abstract_portal.h.
Referenced by rc_portal_b::end_of_elaboration().
virtual accessor_type* create_accessor | ( | ) | const [inline, protected, virtual] |
creates an unconnected accessor
Definition at line 227 of file rc_abstract_portal.h.
Referenced by rc_abstract_portal::bind_dynamic().
virtual void rc_on_refresh_notify | ( | ) | [inline, protected, virtual] |
this method is called when the portal refreshes its event notif.
Implements rc_portal_base.
Definition at line 231 of file rc_abstract_portal.h.
void register_reconfigurable | ( | rc_reconfigurable & | module, | |
sc_interface & | dyn_interface | |||
) | [inline, protected, virtual] |
registers the given dynamic module/interface pair
Reimplemented from rc_portal_base.
Definition at line 483 of file rc_abstract_portal.h.
void unregister_reconfigurable | ( | rc_reconfigurable & | module | ) | [inline, protected, virtual] |
unregisters the given reconfigurable module
Reimplemented from rc_portal_base.
Definition at line 491 of file rc_abstract_portal.h.
void end_of_elaboration | ( | ) | [inline, protected, virtual] |
things which have to be done at end of elaboration
Definition at line 498 of file rc_abstract_portal.h.
virtual void unused | ( | ) | [protected, pure virtual] |
bind static_port to rc_fallback_interface<IF>
Implemented in rc_abstract_portal, rc_abstract_portal< sc_in_rv< W > >, rc_abstract_portal< sc_port< sc_mutex_if > >, rc_abstract_portal< sc_in_resolved >, rc_abstract_portal< sc_inout< T > >, rc_abstract_portal< sc_in< T > >, rc_abstract_portal< sc_inout_rv< W > >, rc_abstract_portal< sc_inout_resolved >, rc_abstract_portal< sc_fifo_in< T > >, rc_abstract_portal< sc_fifo_out< T > >, rc_abstract_portal< sc_port< sc_event_queue_if > >, and rc_abstract_portal< sc_port< sc_semaphore_if > >.
virtual bool is_unused | ( | ) | const [protected, pure virtual] |
Implemented in rc_abstract_portal, rc_abstract_portal< sc_in_rv< W > >, rc_abstract_portal< sc_port< sc_mutex_if > >, rc_abstract_portal< sc_in_resolved >, rc_abstract_portal< sc_inout< T > >, rc_abstract_portal< sc_in< T > >, rc_abstract_portal< sc_inout_rv< W > >, rc_abstract_portal< sc_inout_resolved >, rc_abstract_portal< sc_fifo_in< T > >, rc_abstract_portal< sc_fifo_out< T > >, rc_abstract_portal< sc_port< sc_event_queue_if > >, and rc_abstract_portal< sc_port< sc_semaphore_if > >.
void add_event_forwarder | ( | const sc_event &(IF_::*)() const | event_getter, | |
const std::string & | event_name = NULL | |||
) | [inline, protected] |
creates an event forwarder for the specified event getter method
Definition at line 462 of file rc_abstract_portal.h.
void notify_event | ( | const std::string & | event_name | ) | [inline, protected] |
triggers the notification of the specified dynamic event
Definition at line 256 of file rc_abstract_portal.h.
rc_interface_wrapper<IF>& get_interface_wrapper | ( | ) | [inline, protected] |
returns a reference to the portal's interface wrapper
Definition at line 260 of file rc_abstract_portal.h.
bool _rc_check_accessor_if_type | ( | accessor_base_type * | accessor | ) | const [inline, private, virtual] |
interface_wrapper p_interface_wrapper [private] |
the interface wrapper for the static interface
Reimplemented from rc_portal_base.
Definition at line 272 of file rc_abstract_portal.h.
Referenced by rc_portal_b::add_event_forwarder(), rc_portal_b::end_of_elaboration(), rc_portal_b< ReChannel::rc_port_traits< sc_in< T > >::if_type >::get_interface_wrapper(), rc_portal_b< ReChannel::rc_port_traits< sc_in< T > >::if_type >::notify_event(), and rc_portal_b::rc_portal_b().
rc_port_handle p_static_port [private] |
a handle to the static port
Definition at line 275 of file rc_abstract_portal.h.
Referenced by rc_portal_b::_rc_init(), rc_portal_b::add_event_forwarder(), and rc_portal_b::get_static_interface().
ef_constr_vector p_ef_constr_vector [private] |
event forwarder construction vector
Definition at line 278 of file rc_abstract_portal.h.
Referenced by rc_portal_b::add_event_forwarder(), and rc_portal_b::end_of_elaboration().