rc_process_registry Class Reference

#include <rc_process.h>

List of all members.


Detailed Description

ReChannel's process registry.

Definition at line 253 of file rc_process.h.


Public Member Functions

unsigned int get_process_count () const
void gc ()

Protected Types

typedef rc_hash_map
< sc_object *,
rc_process_info
process_map

Protected Member Functions

 ~rc_process_registry ()

Private Types

enum  registry_options { gc_interval = 100 }

Private Member Functions

 rc_process_registry ()
rc_process_handle get_process_handle (const sc_process_handle &hproc, bool implicit_creation=true)
rc_process_handle register_process (const sc_process_handle &hproc)
rc_process_handle register_process (const sc_process_handle &hproc, bool dont_initialize, bool is_cancelable, const rc_process_control &pctrl, bool is_temporary=false)
rc_process_handle register_process (const sc_process_handle &hproc, bool dont_initialize, bool is_cancelable, const sc_event *cancel_event, const bool *cancel_flag, const sc_dt::uint64 *cancel_delta, bool is_temporary=false)
 rc_process_registry (const rc_process_registry &orig)
rc_process_registryoperator= (const rc_process_registry &orig)

Static Private Member Functions

static void _rc_wait_event_and_list_proc (sc_event_and_list &el, sc_event *continue_event)
static void _rc_wait_event_and_list_proc (const sc_time &t, sc_event_and_list &el, sc_event *continue_event)
static void _rc_create_singleton ()

Private Attributes

process_map p_process_map
rc_process_handle p_cached_hproc

Static Private Attributes

static
rc_process_registry
s_instance = NULL

Friends

class rc_process_handle
class tmp_behavior_modification
class tmp_behavior_modification_simple
class internals::process_support
rc_process_registryrc_get_process_registry ()
rc_process_handle rc_get_current_process_handle ()
void rc_next_trigger ()
void rc_next_trigger (const sc_event &)
void rc_next_trigger (sc_event_or_list &)
void rc_next_trigger (sc_event_and_list &)
void rc_next_trigger (const sc_time &)
void rc_next_trigger (double v, sc_time_unit tu)
void rc_next_trigger (const sc_time &, const sc_event &)
void rc_next_trigger (double, sc_time_unit, const sc_event &)
void rc_next_trigger (const sc_time &, sc_event_or_list &)
void rc_next_trigger (double, sc_time_unit, sc_event_or_list &)
void rc_next_trigger (const sc_time &, sc_event_and_list &)
void rc_next_trigger (double, sc_time_unit, sc_event_and_list &)
void rc_wait ()
void rc_wait (const sc_event &)
void rc_wait (sc_event_or_list &)
void rc_wait (sc_event_and_list &)
void rc_wait (const sc_time &)
void rc_wait (double v, sc_time_unit tu)
void rc_wait (const sc_time &, const sc_event &)
void rc_wait (double, sc_time_unit, const sc_event &)
void rc_wait (const sc_time &, sc_event_or_list &)
void rc_wait (double, sc_time_unit, sc_event_or_list &)
void rc_wait (const sc_time &, sc_event_and_list &)
void rc_wait (double, sc_time_unit, sc_event_and_list &)

Member Typedef Documentation

typedef rc_hash_map<sc_object*, rc_process_info> process_map [protected]

Definition at line 293 of file rc_process.h.


Member Enumeration Documentation

enum registry_options [private]

Enumerator:
gc_interval 

Definition at line 290 of file rc_process.h.


Constructor & Destructor Documentation

~rc_process_registry (  )  [inline, protected]

Definition at line 304 of file rc_process.h.

rc_process_registry (  )  [private]

Definition at line 116 of file rc_process.cpp.

Referenced by rc_process_registry::_rc_create_singleton().

rc_process_registry ( const rc_process_registry orig  )  [private]


Member Function Documentation

unsigned int get_process_count (  )  const [inline]

Definition at line 297 of file rc_process.h.

void gc (  ) 

Definition at line 198 of file rc_process.cpp.

Referenced by rc_process_registry::register_process().

rc_process_handle get_process_handle ( const sc_process_handle &  hproc,
bool  implicit_creation = true 
) [private]

Definition at line 119 of file rc_process.cpp.

Referenced by process_support::method_process(), ReChannel::rc_get_current_process_handle(), rc_process_handle::rc_process_handle(), and process_support::thread_process().

rc_process_handle register_process ( const sc_process_handle &  hproc  )  [private]

Definition at line 133 of file rc_process.cpp.

Referenced by rc_process_registry::get_process_handle(), process_support::method_process(), process_support::rc_spawn(), and process_support::thread_process().

rc_process_handle register_process ( const sc_process_handle &  hproc,
bool  dont_initialize,
bool  is_cancelable,
const rc_process_control pctrl,
bool  is_temporary = false 
) [private]

Definition at line 153 of file rc_process.cpp.

rc_process_handle register_process ( const sc_process_handle &  hproc,
bool  dont_initialize,
bool  is_cancelable,
const sc_event *  cancel_event,
const bool *  cancel_flag,
const sc_dt::uint64 *  cancel_delta,
bool  is_temporary = false 
) [private]

Definition at line 175 of file rc_process.cpp.

void _rc_wait_event_and_list_proc ( sc_event_and_list &  el,
sc_event *  continue_event 
) [static, private]

Definition at line 222 of file rc_process.cpp.

Referenced by ReChannel::rc_next_trigger(), and ReChannel::rc_wait().

void _rc_wait_event_and_list_proc ( const sc_time &  t,
sc_event_and_list &  el,
sc_event *  continue_event 
) [static, private]

Definition at line 234 of file rc_process.cpp.

void _rc_create_singleton (  )  [static, private]

Definition at line 215 of file rc_process.cpp.

Referenced by ReChannel::rc_get_process_registry().

rc_process_registry& operator= ( const rc_process_registry orig  )  [private]


Friends And Related Function Documentation

friend class rc_process_handle [friend]

Definition at line 284 of file rc_process.h.

Referenced by rc_process_registry::get_process_handle(), and rc_process_registry::register_process().

friend class tmp_behavior_modification [friend]

Definition at line 285 of file rc_process.h.

friend class tmp_behavior_modification_simple [friend]

Definition at line 286 of file rc_process.h.

friend class internals::process_support [friend]

Definition at line 287 of file rc_process.h.

rc_process_registry& rc_get_process_registry (  )  [friend]

Definition at line 352 of file rc_process.h.

rc_process_handle rc_get_current_process_handle (  )  [friend]

Definition at line 876 of file rc_process.h.

void rc_next_trigger (  )  [friend]

Definition at line 305 of file rc_process.cpp.

void rc_next_trigger ( const sc_event &   )  [friend]

Definition at line 310 of file rc_process.cpp.

void rc_next_trigger ( sc_event_or_list &   )  [friend]

Definition at line 320 of file rc_process.cpp.

void rc_next_trigger ( sc_event_and_list &   )  [friend]

Definition at line 330 of file rc_process.cpp.

void rc_next_trigger ( const sc_time &   )  [friend]

Definition at line 352 of file rc_process.cpp.

void rc_next_trigger ( double  v,
sc_time_unit  tu 
) [friend]

Definition at line 362 of file rc_process.cpp.

void rc_next_trigger ( const sc_time &  ,
const sc_event &   
) [friend]

Definition at line 367 of file rc_process.cpp.

void rc_next_trigger ( double  ,
sc_time_unit  ,
const sc_event &   
) [friend]

Definition at line 377 of file rc_process.cpp.

void rc_next_trigger ( const sc_time &  ,
sc_event_or_list &   
) [friend]

Definition at line 382 of file rc_process.cpp.

void rc_next_trigger ( double  ,
sc_time_unit  ,
sc_event_or_list &   
) [friend]

Definition at line 392 of file rc_process.cpp.

void rc_next_trigger ( const sc_time &  ,
sc_event_and_list &   
) [friend]

Definition at line 397 of file rc_process.cpp.

void rc_next_trigger ( double  ,
sc_time_unit  ,
sc_event_and_list &   
) [friend]

Definition at line 420 of file rc_process.cpp.

void rc_wait (  )  [friend]

Definition at line 425 of file rc_process.cpp.

void rc_wait ( const sc_event &   )  [friend]

Definition at line 461 of file rc_process.cpp.

void rc_wait ( sc_event_or_list &   )  [friend]

Definition at line 478 of file rc_process.cpp.

void rc_wait ( sc_event_and_list &   )  [friend]

Definition at line 495 of file rc_process.cpp.

void rc_wait ( const sc_time &   )  [friend]

Definition at line 523 of file rc_process.cpp.

void rc_wait ( double  v,
sc_time_unit  tu 
) [friend]

Definition at line 540 of file rc_process.cpp.

void rc_wait ( const sc_time &  ,
const sc_event &   
) [friend]

Definition at line 545 of file rc_process.cpp.

void rc_wait ( double  ,
sc_time_unit  ,
const sc_event &   
) [friend]

Definition at line 562 of file rc_process.cpp.

void rc_wait ( const sc_time &  ,
sc_event_or_list &   
) [friend]

Definition at line 567 of file rc_process.cpp.

void rc_wait ( double  ,
sc_time_unit  ,
sc_event_or_list &   
) [friend]

Definition at line 584 of file rc_process.cpp.

void rc_wait ( const sc_time &  ,
sc_event_and_list &   
) [friend]

Definition at line 589 of file rc_process.cpp.

void rc_wait ( double  ,
sc_time_unit  ,
sc_event_and_list &   
) [friend]

Definition at line 618 of file rc_process.cpp.


Member Data Documentation

process_map p_process_map [private]

Definition at line 338 of file rc_process.h.

Referenced by rc_process_registry::gc(), rc_process_registry::get_process_count(), rc_process_registry::get_process_handle(), and rc_process_registry::register_process().

rc_process_handle p_cached_hproc [private]

Definition at line 340 of file rc_process.h.

Referenced by ReChannel::rc_get_current_process_handle().

rc_process_registry * s_instance = NULL [static, private]

Definition at line 343 of file rc_process.h.

Referenced by rc_process_registry::_rc_create_singleton(), ReChannel::rc_get_process_registry(), and rc_process_registry::~rc_process_registry().


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