#include <rc_abstract_exportal.h>
Definition at line 200 of file rc_abstract_exportal.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 | |
sc_export< IF > & | static_export () |
returns the static sc_export (creates it if not exists) | |
o () | |
returns the static sc_export (creates it if not exists) | |
IF * | operator-> () |
provides access to the export (creates accessor if not exists) | |
void | static_export (sc_port< IF > &port_) |
bind a static port to this exportal | |
void | bind_static (sc_port< IF > &port_) |
bind a static port to this exportal | |
void | bind_static (sc_export< IF > &export_) |
bind a static export to this exportal | |
void | bind_dynamic (sc_export< IF > &export_) |
bind a dynamic export to this exportal | |
void | bind_dynamic (IF &dynamic_if_) |
bind a dynamic interface to this exportal | |
rc_interface_wrapper < IF > & | bind_exclusively (IF &dynamic_if_) |
exclusively bind an interface to this exportal | |
void | dynamic_export (sc_export< IF > &export_) |
alias for bind_dynamic() | |
Protected Types | |
typedef rc_exportal_base::wrapper_factory | wrapper_factory |
Protected Member Functions | |
rc_abstract_exportal (const sc_module_name &module_name) | |
constructor | |
virtual void | bind_static_object (const rc_object_handle &obj_to_bind) |
Instructs the switch to bind itself to the given static object. | |
virtual void | bind_dynamic_object (const rc_object_handle &obj_to_bind) |
Instructs the switch to bind itself to the given dynamic object. | |
virtual void | rc_on_refresh_notify () |
this method is called when the exportal refreshes its event notif. | |
virtual void | register_reconfigurable (rc_reconfigurable &module, sc_interface &dyn_interface) |
registers the given reconfigurable module/interface pair | |
virtual void | unregister_reconfigurable (rc_reconfigurable &module) |
unregisters the given reconfigurable module from this switch | |
void | add_event_forwarder (event_getter_type event_getter, const std::string &event_name=NULL) |
declares an event forwarder for the specified event getter method | |
rc_interface_wrapper < IF > * | get_interface_wrapper () const |
returns least recently active dynamic interface wrapper | |
IF * | get_interface () const |
returns least recently active dynamic interface | |
virtual rc_interface_wrapper_base * | create_interface_wrapper (sc_interface &wrapped_if) |
interface wrapper factory | |
virtual accessor_type * | create_accessor () const |
creates an unconnected accessor | |
virtual void | before_end_of_elaboration () |
Private Types | |
typedef rc_abstract_exportal < IF > | this_type |
typedef rc_exportal_base | base_type |
typedef rc_abstract_switch < IF > | switch_parent_type |
typedef rc_switch::state_type | state_type |
The three possible states of a switch. | |
typedef base_type::accessor_base_type | accessor_base_type |
typedef rc_interface_wrapper < IF >::accessor | accessor_b_type |
typedef boost::function < const sc_event &(IF *) | event_getter_type ) |
typedef std::pair < std::string, event_getter_type > | ef_decl_type |
typedef std::vector < ef_decl_type > | ef_decl_vector |
typedef internals::exportal::wrapper_pool | wrapper_pool |
Private Member Functions | |
RC_STATIC_ASSERT_VALID_INTERFACE (IF) | |
accessor_type & | get_static_accessor () const |
returns the static accessor (creates it if not exists) | |
virtual accessor_base_type & | _rc_get_static_accessor () |
virtual bool | _rc_check_interface_type (sc_interface *dyn_if) const |
virtual bool | _rc_check_accessor_if_type (accessor_base_type *accessor) const |
virtual void | _rc_set_interface_wrapper_owner (rc_interface_wrapper_base *wrapper) |
set this exportal as the new owner of the interface wrapper (this requires the interface wrapper to be of the internal interface wrapper type) | |
Private Attributes | |
sc_export< IF > * | p_static_export |
the sc_export for the static side | |
accessor_type * | p_static_accessor |
the static accessor | |
ef_decl_vector | p_ef_decl_vector |
list of event forwarder declarations | |
Static Private Attributes | |
static wrapper_pool | s_wrapper_pool |
the static interface wrapper pool | |
Classes | |
class | interface_wrapper |
Interface wrapper within an exportal switch. More... |
typedef rc_abstract_exportal<IF> this_type [private] |
Definition at line 207 of file rc_abstract_exportal.h.
typedef rc_exportal_base base_type [private] |
typedef rc_abstract_switch<IF> switch_parent_type [private] |
Definition at line 209 of file rc_abstract_exportal.h.
typedef rc_switch::state_type state_type [private] |
The three possible states of a switch.
Reimplemented from rc_exportal_base.
Definition at line 210 of file rc_abstract_exportal.h.
typedef base_type::accessor_base_type accessor_base_type [private] |
typedef rc_interface_wrapper<IF>::accessor accessor_b_type [private] |
Definition at line 213 of file rc_abstract_exportal.h.
typedef boost::function<const sc_event& (IF*) event_getter_type) [private] |
Definition at line 215 of file rc_abstract_exportal.h.
typedef std::pair<std::string, event_getter_type> ef_decl_type [private] |
Definition at line 216 of file rc_abstract_exportal.h.
typedef std::vector<ef_decl_type> ef_decl_vector [private] |
Definition at line 217 of file rc_abstract_exportal.h.
typedef internals::exportal::wrapper_pool wrapper_pool [private] |
typedef rc_exportal_base::wrapper_factory wrapper_factory [protected] |
typedef IF if_type |
Reimplemented in rc_exportal, rc_exportal< if_type >, rc_exportal< sc_fifo_out_if< T > >, and rc_exportal< sc_fifo_in_if< T > >.
Definition at line 228 of file rc_abstract_exportal.h.
typedef rc_accessor<IF> accessor_type |
Reimplemented in rc_exportal, rc_exportal< if_type >, rc_exportal< sc_fifo_out_if< T > >, and rc_exportal< sc_fifo_in_if< T > >.
Definition at line 229 of file rc_abstract_exportal.h.
rc_abstract_exportal | ( | const sc_module_name & | module_name | ) | [inline, explicit, protected] |
RC_STATIC_ASSERT_VALID_INTERFACE | ( | IF | ) | [private] |
Reimplemented from rc_abstract_switch.
virtual std::string get_switch_kind | ( | ) | const [inline, virtual] |
returns the kind of this portal
Reimplemented from rc_abstract_switch_b.
Definition at line 237 of file rc_abstract_exportal.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 241 of file rc_abstract_exportal.h.
virtual sc_interface* get_static_interface | ( | ) | const [inline, virtual] |
returns the static interface
Implements rc_switch.
Definition at line 245 of file rc_abstract_exportal.h.
sc_export< IF > & static_export | ( | ) | [inline] |
returns the static sc_export (creates it if not exists)
Definition at line 534 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal::before_end_of_elaboration(), rc_abstract_exportal< sc_fifo_in_if< T > >::o(), rc_abstract_exportal< sc_fifo_in_if< T > >::operator->(), rc_sc_fifo::rc_sc_fifo(), and rc_sc_signal_b::rc_sc_signal_b().
o | ( | ) | [inline] |
returns the static sc_export (creates it if not exists)
Definition at line 252 of file rc_abstract_exportal.h.
IF* operator-> | ( | ) | [inline] |
provides access to the export (creates accessor if not exists)
Definition at line 256 of file rc_abstract_exportal.h.
void static_export | ( | sc_port< IF > & | port_ | ) | [inline] |
void bind_static | ( | sc_port< IF > & | port_ | ) | [inline] |
void bind_static | ( | sc_export< IF > & | export_ | ) | [inline] |
void bind_dynamic | ( | sc_export< IF > & | export_ | ) | [inline] |
bind a dynamic export to this exportal
Definition at line 272 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal::bind_dynamic_object().
void bind_dynamic | ( | IF & | dynamic_if_ | ) | [inline] |
rc_interface_wrapper< IF > & bind_exclusively | ( | IF & | dynamic_if_ | ) | [inline] |
exclusively bind an interface to this exportal
Definition at line 525 of file rc_abstract_exportal.h.
Referenced by rc_sc_fifo::rc_sc_fifo(), and rc_sc_signal_b::rc_sc_signal_b().
void dynamic_export | ( | sc_export< IF > & | export_ | ) | [inline] |
void bind_static_object | ( | const rc_object_handle & | obj_to_bind | ) | [inline, protected, virtual] |
Instructs the switch to bind itself to the given static object.
Implements rc_switch.
Definition at line 475 of file rc_abstract_exportal.h.
void bind_dynamic_object | ( | const rc_object_handle & | obj_to_bind | ) | [inline, protected, virtual] |
Instructs the switch to bind itself to the given dynamic object.
Implements rc_switch.
Definition at line 500 of file rc_abstract_exportal.h.
virtual void rc_on_refresh_notify | ( | ) | [inline, protected, virtual] |
this method is called when the exportal refreshes its event notif.
Implements rc_exportal_base.
Definition at line 296 of file rc_abstract_exportal.h.
void register_reconfigurable | ( | rc_reconfigurable & | module, | |
sc_interface & | dyn_interface | |||
) | [inline, protected, virtual] |
registers the given reconfigurable module/interface pair
Reimplemented from rc_exportal_base.
Definition at line 547 of file rc_abstract_exportal.h.
void unregister_reconfigurable | ( | rc_reconfigurable & | module | ) | [inline, protected, virtual] |
unregisters the given reconfigurable module from this switch
Reimplemented from rc_exportal_base.
Definition at line 555 of file rc_abstract_exportal.h.
void add_event_forwarder | ( | event_getter_type | event_getter, | |
const std::string & | event_name = NULL | |||
) | [inline, protected] |
declares an event forwarder for the specified event getter method
Definition at line 563 of file rc_abstract_exportal.h.
rc_interface_wrapper< IF > * get_interface_wrapper | ( | ) | const [inline, protected] |
returns least recently active dynamic interface wrapper
Definition at line 576 of file rc_abstract_exportal.h.
IF * get_interface | ( | ) | const [inline, protected] |
returns least recently active dynamic interface
Definition at line 583 of file rc_abstract_exportal.h.
rc_interface_wrapper_base * create_interface_wrapper | ( | sc_interface & | wrapped_if | ) | [inline, protected, virtual] |
interface wrapper factory
Implements wrapper_factory.
Definition at line 596 of file rc_abstract_exportal.h.
virtual accessor_type* create_accessor | ( | ) | const [inline, protected, virtual] |
creates an unconnected accessor
Definition at line 321 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal::get_static_accessor().
void before_end_of_elaboration | ( | ) | [inline, protected, virtual] |
Definition at line 618 of file rc_abstract_exportal.h.
rc_abstract_exportal< IF >::accessor_type & get_static_accessor | ( | ) | const [inline, private] |
returns the static accessor (creates it if not exists)
Definition at line 609 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal< sc_fifo_in_if< T > >::_rc_get_static_accessor(), and rc_abstract_exportal< sc_fifo_in_if< T > >::get_static_interface().
virtual accessor_base_type& _rc_get_static_accessor | ( | ) | [inline, private, virtual] |
virtual bool _rc_check_interface_type | ( | sc_interface * | dyn_if | ) | const [inline, private, virtual] |
virtual bool _rc_check_accessor_if_type | ( | accessor_base_type * | accessor | ) | const [inline, private, virtual] |
void _rc_set_interface_wrapper_owner | ( | rc_interface_wrapper_base * | wrapper | ) | [inline, private, virtual] |
set this exportal as the new owner of the interface wrapper (this requires the interface wrapper to be of the internal interface wrapper type)
Implements rc_exportal_base.
Definition at line 642 of file rc_abstract_exportal.h.
sc_export<IF>* p_static_export [private] |
the sc_export for the static side
Definition at line 364 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal::static_export().
accessor_type* p_static_accessor [mutable, private] |
the static accessor
Definition at line 374 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal::get_static_accessor().
ef_decl_vector p_ef_decl_vector [private] |
list of event forwarder declarations
Definition at line 377 of file rc_abstract_exportal.h.
Referenced by rc_abstract_exportal::add_event_forwarder(), and rc_abstract_exportal::interface_wrapper::interface_wrapper().
rc_abstract_exportal< IF >::wrapper_pool s_wrapper_pool [inline, static, private] |
the static interface wrapper pool
Reimplemented from rc_exportal_base.
Definition at line 381 of file rc_abstract_exportal.h.