39#if !defined(sc_process_handle_h_INCLUDED)
40#define sc_process_handle_h_INCLUDED
46#if defined(_MSC_VER) && !defined(SC_WIN_DLL_WARN)
48#pragma warning(disable: 4251)
55class sc_process_handle;
57operator == (
const sc_process_handle& left,
const sc_process_handle& right );
59operator != (
const sc_process_handle& left,
const sc_process_handle& right );
61operator < (
const sc_process_handle& left,
const sc_process_handle& right );
100 inline bool dynamic()
const;
103 inline const std::vector<sc_event*>& get_child_events()
const;
104 inline const std::vector<sc_object*>& get_child_objects()
const;
105 inline sc_object* get_parent_object()
const;
106 inline sc_object* get_process_object()
const;
107 inline bool is_unwinding()
const;
110 inline const char* name()
const;
111 inline const char* basename()
const;
115 inline sc_event& reset_event()
const;
120 inline void sync_reset_off(
122 inline void sync_reset_on(
124 inline sc_event& terminated_event();
125 inline bool terminated()
const;
126 template<
typename EXCEPT>
127 inline void throw_it(
const EXCEPT& exception,
129 inline bool valid()
const;
132 inline std::string dump_state()
const;
136 {
return m_target_p ? m_target_p->dont_initialize() :
false; }
137 inline void dont_initialize(
bool dont );
141 {
return m_target_p; }
208 m_target_p(process_p)
222 m_target_p(orig.m_target_p)
510template<
typename EXCEPT>
542#if defined(_MSC_VER) && !defined(SC_WIN_DLL_WARN)
#define SC_REPORT_WARNING(msg_type, msg)
class sc_cthread_process * sc_cthread_handle
class SC_API sc_simcontext
class sc_method_process * sc_method_handle
bool operator!=(const sc_process_handle &left, const sc_process_handle &right)
sc_process_handle sc_get_last_created_process_handle()
bool operator==(const sc_process_handle &left, const sc_process_handle &right)
const char SC_ID_EMPTY_PROCESS_HANDLE_[]
class sc_thread_process * sc_thread_handle
bool operator<(const sc_process_handle &left, const sc_process_handle &right)
sc_descendant_inclusion_info
sc_object * get_parent_object() const
const char * name() const
const char * basename() const
virtual const std::vector< sc_object * > & get_child_objects() const
virtual const std::vector< sc_event * > & get_child_events() const
bool dont_initialize() const
std::string dump_state() const
sc_event & terminated_event()
virtual void resume_process(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
virtual void enable_process(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
virtual void kill_process(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
static sc_process_b * m_last_created_process_p
friend class sc_process_handle
virtual bool terminated() const
void reset_process(reset_type rt, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
virtual void disable_process(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
sc_curr_proc_kind proc_kind() const
virtual void suspend_process(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
virtual void throw_user(const sc_throw_it_helper &helper, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)=0
static sc_process_handle last_created_process_handle()
bool is_unwinding() const
sc_object * get_parent_object() const
void disable(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
const std::vector< sc_event * > & get_child_events() const
void enable(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
sc_event & terminated_event()
const char * name() const
static std::vector< sc_event * > empty_event_vector
std::string dump_state() const
static sc_event & non_event()
void kill(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
sc_process_b * m_target_p
void suspend(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
const std::vector< sc_object * > & get_child_objects() const
void swap(sc_process_handle &other)
static std::vector< sc_object * > empty_object_vector
sc_event & reset_event() const
void resume(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
const char * basename() const
void throw_it(const EXCEPT &exception, sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
bool dont_initialize() const
void sync_reset_on(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
sc_process_handle & operator=(sc_process_handle src)
void reset(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
bool is_unwinding() const
sc_curr_proc_kind proc_kind() const
void sync_reset_off(sc_descendant_inclusion_info descendants=SC_NO_DESCENDANTS)
sc_object * get_process_object() const