#include <Current.h>
Public Member Functions | |
TAO_RTScheduler_Current (void) | |
virtual | ~TAO_RTScheduler_Current (void) |
void | init (TAO_ORB_Core *orb) |
virtual RTCORBA::Priority | the_priority (void) |
virtual void | the_priority (RTCORBA::Priority the_priority) |
void | rt_current (RTCORBA::Current_ptr rt_current) |
virtual void | begin_scheduling_segment (const char *name, CORBA::Policy_ptr sched_param, CORBA::Policy_ptr implicit_sched_param) |
virtual void | update_scheduling_segment (const char *name, CORBA::Policy_ptr sched_param, CORBA::Policy_ptr implicit_sched_param) |
virtual void | end_scheduling_segment (const char *name) |
virtual RTScheduling::DistributableThread_ptr | lookup (const RTScheduling::Current::IdType &id) |
virtual RTScheduling::DistributableThread_ptr | spawn (RTScheduling::ThreadAction_ptr start, CORBA::VoidData data, const char *name, CORBA::Policy_ptr sched_param, CORBA::Policy_ptr implicit_sched_param, CORBA::ULong stack_size, RTCORBA::Priority base_priority) |
virtual ::RTScheduling::Current::IdType * | id (void) |
virtual ::CORBA::Policy_ptr | scheduling_parameter (void) |
virtual ::CORBA::Policy_ptr | implicit_scheduling_parameter (void) |
virtual ::RTScheduling::Current::NameList * | current_scheduling_segment_names (void) |
TAO_RTScheduler_Current_i * | implementation (void) |
TAO_RTScheduler_Current_i * | implementation (TAO_RTScheduler_Current_i *) |
TAO_ORB_Core * | orb (void) |
DT_Hash_Map * | dt_hash (void) |
Static Public Attributes | |
static ACE_Atomic_Op < TAO_SYNCH_MUTEX, long > | guid_counter |
Private Attributes | |
RTCORBA::Current_var | rt_current_ |
TAO_ORB_Core * | orb_ |
DT_Hash_Map | dt_hash_ |
Reference Related Methods | |
| |
typedef TAO_RTScheduler_Current_ptr | _ptr_type |
Useful for template programming. | |
typedef TAO_RTScheduler_Current_var | _var_type |
virtual const char * | _interface_repository_id (void) const |
static TAO_RTScheduler_Current_ptr | _duplicate (TAO_RTScheduler_Current_ptr obj) |
static TAO_RTScheduler_Current_ptr | _narrow (CORBA::Object_ptr obj) |
static TAO_RTScheduler_Current_ptr | _nil (void) |
Return a NIL object. |
Definition at line 78 of file Current.h.
Useful for template programming.
Reimplemented from CORBA::LocalObject.
Reimplemented from CORBA::LocalObject.
TAO_RTScheduler_Current::TAO_RTScheduler_Current | ( | void | ) |
Definition at line 27 of file Current.cpp.
{ }
TAO_RTScheduler_Current::~TAO_RTScheduler_Current | ( | void | ) | [virtual] |
Definition at line 31 of file Current.cpp.
{ }
TAO_RTScheduler_Current_ptr TAO_RTScheduler_Current::_duplicate | ( | TAO_RTScheduler_Current_ptr | obj | ) | [static] |
Definition at line 921 of file Current.cpp.
{ if (!CORBA::is_nil (obj)) obj->_add_ref (); return obj; }
const char * TAO_RTScheduler_Current::_interface_repository_id | ( | void | ) | const [virtual] |
The repository ID for the most derived class, this is an implementation method and does no remote invocations!
Reimplemented from CORBA::Object.
Definition at line 928 of file Current.cpp.
{ return "IDL:TAO_RTScheduler_Current:1.0"; }
TAO_RTScheduler_Current_ptr TAO_RTScheduler_Current::_narrow | ( | CORBA::Object_ptr | obj | ) | [static] |
is_local
member into CORBA::Object. I'll take the easier route for now. Reimplemented from CORBA::LocalObject.
Definition at line 909 of file Current.cpp.
{ return TAO_RTScheduler_Current::_duplicate ( dynamic_cast<TAO_RTScheduler_Current *> (obj) ); }
static TAO_RTScheduler_Current_ptr TAO_RTScheduler_Current::_nil | ( | void | ) | [inline, static] |
Return a NIL object.
Reimplemented from CORBA::LocalObject.
Definition at line 155 of file Current.h.
{ return (TAO_RTScheduler_Current_ptr)0; }
void TAO_RTScheduler_Current::begin_scheduling_segment | ( | const char * | name, | |
CORBA::Policy_ptr | sched_param, | |||
CORBA::Policy_ptr | implicit_sched_param | |||
) | [virtual] |
Definition at line 71 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) { ACE_NEW_THROW_EX (impl, TAO_RTScheduler_Current_i (this->orb_, &this->dt_hash_), CORBA::NO_MEMORY ( CORBA::SystemException::_tao_minor_code ( TAO::VMCID, ENOMEM), CORBA::COMPLETED_NO)); this->implementation (impl); } impl->begin_scheduling_segment (name, sched_param, implicit_sched_param ); }
RTScheduling::Current::NameList * TAO_RTScheduler_Current::current_scheduling_segment_names | ( | void | ) |
Definition at line 207 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) throw ::CORBA::BAD_INV_ORDER (); return impl->current_scheduling_segment_names (); }
DT_Hash_Map * TAO_RTScheduler_Current::dt_hash | ( | void | ) |
Definition at line 64 of file Current.cpp.
{ return &this->dt_hash_; }
void TAO_RTScheduler_Current::end_scheduling_segment | ( | const char * | name | ) | [virtual] |
Definition at line 117 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) { ACE_ERROR ((LM_ERROR, "Missing scheduling context OR DT cancelled\n")); throw ::CORBA::BAD_INV_ORDER (); return; } impl->end_scheduling_segment (name ); }
RTScheduling::Current::IdType * TAO_RTScheduler_Current::id | ( | void | ) |
Definition at line 173 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) throw ::CORBA::BAD_INV_ORDER (); return impl->id (); }
TAO_RTScheduler_Current_i * TAO_RTScheduler_Current::implementation | ( | TAO_RTScheduler_Current_i * | new_current | ) |
Definition at line 230 of file Current.cpp.
{ TAO_TSS_Resources *tss = TAO_TSS_Resources::instance (); TAO_RTScheduler_Current_i *old = static_cast<TAO_RTScheduler_Current_i *> (tss->rtscheduler_current_impl_); tss->rtscheduler_current_impl_ = new_current; return old; }
TAO_RTScheduler_Current_i * TAO_RTScheduler_Current::implementation | ( | void | ) |
Definition at line 243 of file Current.cpp.
{ TAO_TSS_Resources *tss = TAO_TSS_Resources::instance (); TAO_RTScheduler_Current_i* impl = static_cast<TAO_RTScheduler_Current_i *> (tss->rtscheduler_current_impl_); return impl; }
CORBA::Policy_ptr TAO_RTScheduler_Current::implicit_scheduling_parameter | ( | void | ) |
Definition at line 196 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) throw ::CORBA::BAD_INV_ORDER (); return impl->implicit_scheduling_parameter (); }
void TAO_RTScheduler_Current::init | ( | TAO_ORB_Core * | orb | ) |
Definition at line 36 of file Current.cpp.
{ this->orb_ = orb; // Create the RT_Current. RTCORBA::Current_ptr current; ACE_NEW_THROW_EX (current, TAO_RT_Current (orb), CORBA::NO_MEMORY (CORBA::SystemException::_tao_minor_code ( TAO::VMCID, ENOMEM), CORBA::COMPLETED_NO)); this->rt_current_ = current; }
RTScheduling::DistributableThread_ptr TAO_RTScheduler_Current::lookup | ( | const RTScheduling::Current::IdType & | id | ) | [virtual] |
Definition at line 134 of file Current.cpp.
{ RTScheduling::DistributableThread_var DT; int result = this->dt_hash_.find (id, DT); if (result == 0) return DT._retn (); else return RTScheduling::DistributableThread::_nil (); }
TAO_ORB_Core * TAO_RTScheduler_Current::orb | ( | void | ) |
Definition at line 58 of file Current.cpp.
{ return this->orb_; }
void TAO_RTScheduler_Current::rt_current | ( | RTCORBA::Current_ptr | rt_current | ) |
Definition at line 52 of file Current.cpp.
{ this->rt_current_ = RTCORBA::Current::_duplicate (rt_current); }
CORBA::Policy_ptr TAO_RTScheduler_Current::scheduling_parameter | ( | void | ) |
Definition at line 184 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) throw ::CORBA::BAD_INV_ORDER (); return impl->scheduling_parameter (); }
RTScheduling::DistributableThread_ptr TAO_RTScheduler_Current::spawn | ( | RTScheduling::ThreadAction_ptr | start, | |
CORBA::VoidData | data, | |||
const char * | name, | |||
CORBA::Policy_ptr | sched_param, | |||
CORBA::Policy_ptr | implicit_sched_param, | |||
CORBA::ULong | stack_size, | |||
RTCORBA::Priority | base_priority | |||
) | [virtual] |
Definition at line 149 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) throw ::CORBA::BAD_INV_ORDER (); return impl->spawn (start, data, name, sched_param, implicit_sched_param, stack_size, base_priority ); }
RTCORBA::Priority TAO_RTScheduler_Current::the_priority | ( | void | ) | [virtual] |
Definition at line 218 of file Current.cpp.
{ return this->rt_current_->the_priority (); }
void TAO_RTScheduler_Current::the_priority | ( | RTCORBA::Priority | the_priority | ) | [virtual] |
Definition at line 224 of file Current.cpp.
{ this->rt_current_->the_priority(the_priority); }
void TAO_RTScheduler_Current::update_scheduling_segment | ( | const char * | name, | |
CORBA::Policy_ptr | sched_param, | |||
CORBA::Policy_ptr | implicit_sched_param | |||
) | [virtual] |
Definition at line 100 of file Current.cpp.
{ TAO_RTScheduler_Current_i *impl = this->implementation (); if (impl == 0) throw ::CORBA::BAD_INV_ORDER (); impl->update_scheduling_segment (name, sched_param, implicit_sched_param ); }
DT_Hash_Map TAO_RTScheduler_Current::dt_hash_ [private] |
ACE_Atomic_Op< TAO_SYNCH_MUTEX, long > TAO_RTScheduler_Current::guid_counter [static] |
TAO_ORB_Core* TAO_RTScheduler_Current::orb_ [private] |
RTCORBA::Current_var TAO_RTScheduler_Current::rt_current_ [private] |