rc_abstract_portal Class Template Reference

#include <rc_abstract_portal.h>

Inheritance diagram for rc_abstract_portal:

rc_portal_b rc_portal_base rc_abstract_switch rc_switch rc_abstract_switch_b rc_switch rc_portal

List of all members.


Detailed Description

template<class PORT>
class ReChannel::rc_abstract_portal< PORT >

An abstract portal class.

Definition at line 340 of file rc_abstract_portal.h.


Public Types

typedef PORT port_type
typedef
port_traits::if_type 
if_type
typedef rc_accessor
< if_type
accessor_type

Public Member Functions

void bind_static (port_type &port_)
 bind the portal to the given static port
void bind_static (if_type &channel_)
 bind the portal to a given static channel
void bind_dynamic (port_type &port_)
 create a new accessor and bind it to the given dynamic port
void dynamic_port (port_type &port_)
 allows dynamic port binding (alias for bind_dynamic())
virtual void unused ()
 bind static_port to rc_fallback_interface<IF>
virtual bool is_unused () const
port_typeget_static_port ()
 returns the static port

Public Attributes

port_type static_port
 the port for the static interface

Protected Member Functions

 rc_abstract_portal ()
 constructors
 rc_abstract_portal (const sc_module_name &module_name)
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.

Private Types

typedef
rc_port_traits< PORT > 
port_traits
typedef
rc_abstract_portal
< port_type
this_type
typedef rc_portal_b
< if_type
base_type

Private Member Functions

 RC_STATIC_ASSERT_VALID_PORT (PORT)

Private Attributes

bool p_is_unused
 flag to indicate if portal is declared as unused

Member Typedef Documentation

typedef rc_port_traits<PORT> port_traits [private]

Definition at line 346 of file rc_abstract_portal.h.

typedef PORT port_type

Reimplemented in 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_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 349 of file rc_abstract_portal.h.

typedef port_traits::if_type if_type

Reimplemented from rc_portal_b.

Reimplemented in 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_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 350 of file rc_abstract_portal.h.

typedef rc_accessor<if_type> accessor_type

Reimplemented from rc_portal_b.

Reimplemented in 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_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 351 of file rc_abstract_portal.h.

typedef rc_abstract_portal<port_type> this_type [private]

Reimplemented from rc_portal_b.

Definition at line 354 of file rc_abstract_portal.h.

typedef rc_portal_b<if_type> base_type [private]

Reimplemented from rc_portal_b.

Reimplemented in 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_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 355 of file rc_abstract_portal.h.


Constructor & Destructor Documentation

rc_abstract_portal (  )  [inline, protected]

constructors

Definition at line 536 of file rc_abstract_portal.h.

rc_abstract_portal ( const sc_module_name &  module_name  )  [inline, explicit, protected]

Definition at line 544 of file rc_abstract_portal.h.


Member Function Documentation

RC_STATIC_ASSERT_VALID_PORT ( PORT   )  [private]

void bind_static ( port_type port_  )  [inline]

bind the portal to the given static port

Definition at line 365 of file rc_abstract_portal.h.

void bind_static ( if_type channel_  )  [inline]

bind the portal to a given static channel

Definition at line 369 of file rc_abstract_portal.h.

void bind_dynamic ( port_type port_  )  [inline]

create a new accessor and bind it to the given dynamic port

Definition at line 553 of file rc_abstract_portal.h.

Referenced by rc_abstract_portal::bind_dynamic_object(), and rc_abstract_portal< sc_port< sc_semaphore_if > >::dynamic_port().

void dynamic_port ( port_type port_  )  [inline]

allows dynamic port binding (alias for bind_dynamic())

Definition at line 376 of file rc_abstract_portal.h.

void unused (  )  [inline, virtual]

bind static_port to rc_fallback_interface<IF>

Implements rc_portal_b.

Definition at line 568 of file rc_abstract_portal.h.

virtual bool is_unused (  )  const [inline, virtual]

Implements rc_portal_b.

Definition at line 382 of file rc_abstract_portal.h.

port_type& get_static_port (  )  [inline]

returns the static port

Definition at line 386 of file rc_abstract_portal.h.

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.

Remarks:
An error shall be reported if binding is impossible.

Implements rc_switch.

Definition at line 582 of file rc_abstract_portal.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.

Remarks:
An error shall be reported if binding is impossible.

Implements rc_switch.

Definition at line 606 of file rc_abstract_portal.h.


Member Data Documentation

port_type static_port

the port for the static interface

Definition at line 397 of file rc_abstract_portal.h.

Referenced by rc_abstract_portal< sc_port< sc_semaphore_if > >::bind_static(), rc_abstract_portal::bind_static_object(), rc_abstract_portal< sc_port< sc_semaphore_if > >::get_static_port(), rc_abstract_portal::rc_abstract_portal(), and rc_abstract_portal::unused().

bool p_is_unused [private]

flag to indicate if portal is declared as unused

Definition at line 402 of file rc_abstract_portal.h.

Referenced by rc_abstract_portal< sc_port< sc_semaphore_if > >::is_unused(), and rc_abstract_portal::unused().


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