rc_abstract_interface_wrapper_b Class Reference

#include <rc_abstract_interface_wrapper.h>

Inheritance diagram for rc_abstract_interface_wrapper_b:

rc_interface_wrapper_base rc_event_forwarder_host rc_abstract_interface_wrapper rc_abstract_exportal::interface_wrapper rc_portal_b::interface_wrapper

List of all members.


Detailed Description

Base class of rc_abstract_interface_wrapper<IF>.

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_boperator= (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

Member Typedef Documentation

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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]


Friends And Related Function Documentation

friend class rc_abstract_interface_wrapper [friend]

Definition at line 59 of file rc_abstract_interface_wrapper.h.


Member Data Documentation

event_forwarder_base_map p_event_forwarder_base_map [private]

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().


The documentation for this class was generated from the following files:
Generated on Tue Jan 1 23:14:12 2008 for ReChannel by  doxygen 1.5.3