#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.
1.5.3