#include <rc_abstract_interface_wrapper.h>
Definition at line 55 of file rc_abstract_interface_wrapper.h.
Public Member Functions | |
virtual std::string | get_interface_wrapper_name () const |
virtual rc_event_forwarder_host * | get_event_forwarder_host () |
Protected Member Functions | |
virtual void | add_event_forwarder (rc_event_forwarder_base &forwarder, const sc_event &e, const std::string &event_name=NULL) |
directly adds an event forwarder being sensitive to an event | |
virtual void | add_event_forwarder_target (sc_interface &if_, rc_event_filter *filter=NULL) |
adds a target interface to all event forwarders | |
virtual bool | add_event_forwarder_target (const std::string &event_name, sc_interface &if_, rc_event_filter *filter=NULL) |
adds a target interface to the specified event forwarder | |
virtual bool | get_event_forwarder_target_count () const |
returns the number of added event forwarder targets | |
virtual void | clear_event_forwarder_targets () |
clears the target lists of all event forwarders | |
virtual void | clear_event_forwarder_targets (const std::string &event_name) |
clears the target lists of the specified event forwarder | |
virtual string_vector | get_event_forwarder_names () const |
returns the names of all added event forwarders | |
virtual void | notify_event (const std::string &event_name) |
triggers the notification of the specified dynamic event. | |
virtual void | register_port (sc_port_base &port_, const char *if_typename) |
virtual rc_process_behavior_change | begin_access_callback () |
virtual void | end_access_callback () |
int | get_driver_count () const |
int | get_nb_driver_count () const |
virtual | ~rc_abstract_interface_wrapper_b () |
Private Types | |
typedef std::vector < void * > | vector |
typedef std::vector < std::string > | string_vector |
typedef std::map < std::string, rc_event_forwarder_base * > | event_forwarder_base_map |
typedef std::vector < rc_event_forwarder_base * > | ef_vector |
typedef std::pair < rc_event_forwarder_base *, ef_vector > | event_ef_map_entry |
typedef std::map < const sc_event *, event_ef_map_entry > | event_ef_map |
Private Member Functions | |
rc_abstract_interface_wrapper_b (void *if_) | |
void * | get_wrapped_if () const |
void | set_wrapped_if (void *if_) |
void * | find_driver_object (int index) |
finds a blocking driver by its index | |
void * | find_nb_driver_object (int index) |
finds a blocking driver by its index | |
void * | create_driver_object (int index) |
void * | create_nb_driver_object (int index) |
void | delete_all_drivers () |
void | delete_all_event_forwarders () |
void | missing_fallback_if_error () const |
rc_event_forwarder_base & | _rc_get_event_forwarder (const std::string &event_name) |
void | _rc_spawn_event_forwarder_process (rc_event_forwarder_base &forwarder, const sc_event &e) |
spawns a new event forwarder process | |
virtual void * | _rc_create_driver_object (void *if_) const =0 |
virtual void * | _rc_create_nb_driver_object (void *if_) const =0 |
virtual void | _rc_set_driver_channel (void *drv_obj, void *if_) const =0 |
virtual void | _rc_set_nb_driver_channel (void *nb_drv_obj, void *if_) const =0 |
virtual void | _rc_delete_driver_object (void *drv_obj) const =0 |
virtual void | _rc_delete_nb_driver_object (void *nb_drv_obj) const =0 |
rc_abstract_interface_wrapper_b (const rc_abstract_interface_wrapper_b &orig) | |
rc_abstract_interface_wrapper_b & | operator= (const rc_abstract_interface_wrapper_b &orig) |
Static Private Member Functions | |
static void | _rc_event_forwarder_proc (event_ef_map_entry &map_entry) |
event forwarder process (static) | |
Private Attributes | |
event_forwarder_base_map | p_event_forwarder_base_map |
map: event name -> event forwarder | |
void * | p_interface |
vector | p_drv_obj_vector |
vector | p_nb_drv_obj_vector |
Static Private Attributes | |
static event_ef_map | s_event_ef_map |
map: event -> associated event forwarders | |
Friends | |
class | rc_abstract_interface_wrapper |
typedef std::vector<void*> vector [private] |
Definition at line 62 of file rc_abstract_interface_wrapper.h.
typedef std::vector<std::string> string_vector [private] |
Reimplemented from rc_event_forwarder_host.
Definition at line 63 of file rc_abstract_interface_wrapper.h.
typedef std::map<std::string, rc_event_forwarder_base*> event_forwarder_base_map [private] |
Definition at line 65 of file rc_abstract_interface_wrapper.h.
typedef std::vector<rc_event_forwarder_base*> ef_vector [private] |
Definition at line 66 of file rc_abstract_interface_wrapper.h.
typedef std::pair<rc_event_forwarder_base*, ef_vector> event_ef_map_entry [private] |
Definition at line 68 of file rc_abstract_interface_wrapper.h.
typedef std::map<const sc_event*, event_ef_map_entry> event_ef_map [private] |
Definition at line 69 of file rc_abstract_interface_wrapper.h.
rc_abstract_interface_wrapper_b | ( | void * | if_ | ) | [explicit, private] |
Definition at line 44 of file rc_abstract_interface_wrapper.cpp.
~rc_abstract_interface_wrapper_b | ( | ) | [protected, virtual] |
Definition at line 48 of file rc_abstract_interface_wrapper.cpp.
rc_abstract_interface_wrapper_b | ( | const rc_abstract_interface_wrapper_b & | orig | ) | [inline, private] |
Definition at line 206 of file rc_abstract_interface_wrapper.h.
virtual std::string get_interface_wrapper_name | ( | ) | const [inline, virtual] |
Implements rc_interface_wrapper_base.
Reimplemented in rc_abstract_exportal::interface_wrapper, and rc_portal_b::interface_wrapper.
Definition at line 76 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper_b::missing_fallback_if_error().
virtual rc_event_forwarder_host* get_event_forwarder_host | ( | ) | [inline, virtual] |
Implements rc_interface_wrapper_base.
Definition at line 79 of file rc_abstract_interface_wrapper.h.
void add_event_forwarder | ( | rc_event_forwarder_base & | forwarder, | |
const sc_event & | e, | |||
const std::string & | event_name = NULL | |||
) | [protected, virtual] |
directly adds an event forwarder being sensitive to an event
Implements rc_event_forwarder_host.
Definition at line 161 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::add_event_forwarder().
void add_event_forwarder_target | ( | sc_interface & | if_, | |
rc_event_filter * | filter = NULL | |||
) | [protected, virtual] |
adds a target interface to all event forwarders
Implements rc_event_forwarder_host.
Definition at line 182 of file rc_abstract_interface_wrapper.cpp.
bool add_event_forwarder_target | ( | const std::string & | event_name, | |
sc_interface & | if_, | |||
rc_event_filter * | filter = NULL | |||
) | [protected, virtual] |
adds a target interface to the specified event forwarder
Implements rc_event_forwarder_host.
Definition at line 192 of file rc_abstract_interface_wrapper.cpp.
virtual bool get_event_forwarder_target_count | ( | ) | const [inline, protected, virtual] |
returns the number of added event forwarder targets
Implements rc_event_forwarder_host.
Definition at line 99 of file rc_abstract_interface_wrapper.h.
void clear_event_forwarder_targets | ( | ) | [protected, virtual] |
clears the target lists of all event forwarders
Implements rc_event_forwarder_host.
Definition at line 205 of file rc_abstract_interface_wrapper.cpp.
void clear_event_forwarder_targets | ( | const std::string & | event_name | ) | [protected, virtual] |
clears the target lists of the specified event forwarder
Implements rc_event_forwarder_host.
Definition at line 214 of file rc_abstract_interface_wrapper.cpp.
rc_abstract_interface_wrapper_b::string_vector get_event_forwarder_names | ( | ) | const [protected, virtual] |
returns the names of all added event forwarders
Implements rc_event_forwarder_host.
Definition at line 225 of file rc_abstract_interface_wrapper.cpp.
void notify_event | ( | const std::string & | event_name | ) | [protected, virtual] |
triggers the notification of the specified dynamic event.
Implements rc_event_forwarder_host.
Definition at line 237 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_portal_b< ReChannel::rc_port_traits< sc_in< T > >::if_type >::notify_event().
virtual void register_port | ( | sc_port_base & | port_, | |
const char * | if_typename | |||
) | [inline, protected, virtual] |
Implements rc_interface_wrapper_base.
Reimplemented in rc_portal_b::interface_wrapper.
Definition at line 115 of file rc_abstract_interface_wrapper.h.
virtual rc_process_behavior_change begin_access_callback | ( | ) | [inline, protected, virtual] |
Implements rc_interface_wrapper_base.
Reimplemented in rc_abstract_exportal::interface_wrapper, and rc_portal_b::interface_wrapper.
Definition at line 119 of file rc_abstract_interface_wrapper.h.
virtual void end_access_callback | ( | ) | [inline, protected, virtual] |
Implements rc_interface_wrapper_base.
Reimplemented in rc_abstract_exportal::interface_wrapper, and rc_portal_b::interface_wrapper.
Definition at line 122 of file rc_abstract_interface_wrapper.h.
int get_driver_count | ( | ) | const [inline, protected] |
Reimplemented in rc_abstract_interface_wrapper.
Definition at line 124 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper::get_driver_count().
int get_nb_driver_count | ( | ) | const [inline, protected] |
Reimplemented in rc_abstract_interface_wrapper.
Definition at line 127 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper::get_nb_driver_count().
void* get_wrapped_if | ( | ) | const [inline, private] |
Reimplemented in rc_abstract_interface_wrapper.
Definition at line 134 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper::get_wrapped_if(), rc_abstract_interface_wrapper::interface_access_callback(), and rc_abstract_interface_wrapper::nb_interface_access_callback().
void set_wrapped_if | ( | void * | if_ | ) | [private] |
Definition at line 65 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::set_wrapped_interface().
void * find_driver_object | ( | int | index | ) | [inline, private] |
finds a blocking driver by its index
Definition at line 335 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper::get_driver_object().
void * find_nb_driver_object | ( | int | index | ) | [inline, private] |
finds a blocking driver by its index
Definition at line 346 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper::get_nb_driver_object().
void * create_driver_object | ( | int | index | ) | [private] |
Definition at line 93 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::get_driver_object().
void * create_nb_driver_object | ( | int | index | ) | [private] |
Definition at line 113 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::get_nb_driver_object().
void delete_all_drivers | ( | ) | [private] |
Definition at line 133 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::~rc_abstract_interface_wrapper().
void delete_all_event_forwarders | ( | ) | [private] |
Definition at line 148 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::~rc_abstract_interface_wrapper().
void missing_fallback_if_error | ( | ) | const [private] |
Definition at line 58 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper::rc_get_fallback_if().
rc_event_forwarder_base & _rc_get_event_forwarder | ( | const std::string & | event_name | ) | [private] |
Definition at line 246 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper_b::notify_event().
void _rc_spawn_event_forwarder_process | ( | rc_event_forwarder_base & | forwarder, | |
const sc_event & | e | |||
) | [private] |
spawns a new event forwarder process
Definition at line 260 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper_b::add_event_forwarder().
void _rc_event_forwarder_proc | ( | event_ef_map_entry & | map_entry | ) | [static, private] |
event forwarder process (static)
Definition at line 286 of file rc_abstract_interface_wrapper.cpp.
Referenced by rc_abstract_interface_wrapper_b::_rc_spawn_event_forwarder_process().
virtual void* _rc_create_driver_object | ( | void * | if_ | ) | const [private, pure virtual] |
Implemented in rc_abstract_interface_wrapper.
virtual void* _rc_create_nb_driver_object | ( | void * | if_ | ) | const [private, pure virtual] |
Implemented in rc_abstract_interface_wrapper.
virtual void _rc_set_driver_channel | ( | void * | drv_obj, | |
void * | if_ | |||
) | const [private, pure virtual] |
Implemented in rc_abstract_interface_wrapper.
Referenced by rc_abstract_interface_wrapper_b::set_wrapped_if().
virtual void _rc_set_nb_driver_channel | ( | void * | nb_drv_obj, | |
void * | if_ | |||
) | const [private, pure virtual] |
Implemented in rc_abstract_interface_wrapper.
Referenced by rc_abstract_interface_wrapper_b::set_wrapped_if().
virtual void _rc_delete_driver_object | ( | void * | drv_obj | ) | const [private, pure virtual] |
Implemented in rc_abstract_interface_wrapper.
Referenced by rc_abstract_interface_wrapper_b::delete_all_drivers().
virtual void _rc_delete_nb_driver_object | ( | void * | nb_drv_obj | ) | const [private, pure virtual] |
Implemented in rc_abstract_interface_wrapper.
Referenced by rc_abstract_interface_wrapper_b::delete_all_drivers().
rc_abstract_interface_wrapper_b& operator= | ( | const rc_abstract_interface_wrapper_b & | orig | ) | [private] |
friend class rc_abstract_interface_wrapper [friend] |
Definition at line 59 of file rc_abstract_interface_wrapper.h.
map: event name -> event forwarder
Definition at line 189 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper_b::_rc_get_event_forwarder(), rc_abstract_interface_wrapper_b::add_event_forwarder(), rc_abstract_interface_wrapper_b::add_event_forwarder_target(), rc_abstract_interface_wrapper_b::clear_event_forwarder_targets(), rc_abstract_interface_wrapper_b::delete_all_event_forwarders(), rc_abstract_interface_wrapper_b::get_event_forwarder_names(), rc_abstract_interface_wrapper_b::get_event_forwarder_target_count(), and rc_abstract_interface_wrapper_b::~rc_abstract_interface_wrapper_b().
rc_abstract_interface_wrapper_b::event_ef_map s_event_ef_map [static, private] |
map: event -> associated event forwarders
Definition at line 194 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper_b::_rc_spawn_event_forwarder_process().
void* p_interface [private] |
Definition at line 200 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper_b::create_driver_object(), rc_abstract_interface_wrapper_b::create_nb_driver_object(), rc_abstract_interface_wrapper_b::get_wrapped_if(), and rc_abstract_interface_wrapper_b::set_wrapped_if().
vector p_drv_obj_vector [private] |
Definition at line 201 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper_b::create_driver_object(), rc_abstract_interface_wrapper_b::delete_all_drivers(), rc_abstract_interface_wrapper_b::find_driver_object(), rc_abstract_interface_wrapper_b::get_driver_count(), and rc_abstract_interface_wrapper_b::set_wrapped_if().
vector p_nb_drv_obj_vector [private] |
Definition at line 202 of file rc_abstract_interface_wrapper.h.
Referenced by rc_abstract_interface_wrapper_b::create_nb_driver_object(), rc_abstract_interface_wrapper_b::delete_all_drivers(), rc_abstract_interface_wrapper_b::find_nb_driver_object(), rc_abstract_interface_wrapper_b::get_nb_driver_count(), and rc_abstract_interface_wrapper_b::set_wrapped_if().