#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] |
1.7.0