summaryrefslogtreecommitdiff
path: root/TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp')
-rw-r--r--TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp47
1 files changed, 28 insertions, 19 deletions
diff --git a/TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp b/TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp
index 2704acc9628..b53c0995b31 100644
--- a/TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp
+++ b/TAO/tao/RTCORBA/Multi_Priority_Mapping.cpp
@@ -1,5 +1,4 @@
// $Id$
-// Multi_Priority_Mapping.cpp,v 1.0
#include "tao/orbconf.h"
@@ -14,20 +13,22 @@ ACE_RCSID (RTCORBA,
Multi_Priority_Mapping,
"$Id$")
-TAO_Multi_Priority_Mapping::TAO_Multi_Priority_Mapping (int base_native_priority,
- int base_corba_priority,
- int priority_spacing,
- int priorities_contiguous,
- int policy)
+TAO_BEGIN_VERSIONED_NAMESPACE_DECL
+
+TAO_Multi_Priority_Mapping::TAO_Multi_Priority_Mapping (
+ int base_native_priority,
+ int base_corba_priority,
+ int priority_spacing,
+ int priorities_contiguous,
+ int policy)
: base_native_priority_ (base_native_priority)
, base_corba_priority_ (base_corba_priority)
, priority_spacing_ (priority_spacing)
, priorities_contiguous_(priorities_contiguous)
, policy_ (policy)
+ , min_ (ACE_Sched_Params::priority_min (this->policy_))
+ , max_ (ACE_Sched_Params::priority_max (this->policy_))
{
- this->min_ = ACE_Sched_Params::priority_min (this->policy_);
- this->max_ = ACE_Sched_Params::priority_max (this->policy_);
-
if ( this->min_ < this->max_ )
{
if (base_native_priority_ < this->min_)
@@ -91,7 +92,7 @@ TAO_Multi_Priority_Mapping::to_native (RTCORBA::Priority corba_priority,
if (corba_priority == base_corba_priority_)
{
// If this is the highest priority endpoint, then just give it the highest priority corba base priority
- native_priority = base_native_priority_;
+ native_priority = static_cast<RTCORBA::NativePriority> (base_native_priority_);
}
else
{
@@ -99,11 +100,13 @@ TAO_Multi_Priority_Mapping::to_native (RTCORBA::Priority corba_priority,
{
if ( this->min_ < this->max_ )
{
- native_priority = ( (corba_priority - base_corba_priority_) / priority_spacing_ ) + base_native_priority_;
+ native_priority = static_cast<RTCORBA::NativePriority>
+ (((corba_priority - base_corba_priority_) / priority_spacing_) + base_native_priority_);
}
else
{
- native_priority = ( (base_corba_priority_ - corba_priority) / priority_spacing_ ) + base_native_priority_;
+ native_priority = static_cast<RTCORBA::NativePriority>
+ (((base_corba_priority_ - corba_priority) / priority_spacing_) + base_native_priority_);
}
}
else
@@ -128,9 +131,10 @@ TAO_Multi_Priority_Mapping::to_native (RTCORBA::Priority corba_priority,
last_priority = this->base_native_priority_;
for (int current_ndx = 0; current_ndx < priority_ndx; current_ndx++)
{
- native_priority = ACE_Sched_Params::previous_priority (this->policy_,
- last_priority,
- ACE_SCOPE_THREAD);
+ native_priority = static_cast<RTCORBA::NativePriority>
+ (ACE_Sched_Params::previous_priority (this->policy_,
+ last_priority,
+ ACE_SCOPE_THREAD));
}
}
}
@@ -159,7 +163,7 @@ TAO_Multi_Priority_Mapping::to_CORBA (RTCORBA::NativePriority native_priority,
if (native_priority == base_native_priority_)
{
// If this is the highest priority endpoint, then just give it the highest priority corba base priority
- corba_priority = base_corba_priority_;
+ corba_priority = static_cast<RTCORBA::Priority> (base_corba_priority_);
}
else
{
@@ -167,11 +171,13 @@ TAO_Multi_Priority_Mapping::to_CORBA (RTCORBA::NativePriority native_priority,
{
if ( this->min_ < this->max_ )
{
- corba_priority = ( (native_priority - base_native_priority_) * priority_spacing_ ) + base_corba_priority_;
+ corba_priority = static_cast<RTCORBA::Priority>
+ (((native_priority - base_native_priority_) * priority_spacing_) + base_corba_priority_);
}
else
{
- corba_priority = ( (base_native_priority_ - native_priority) * priority_spacing_ ) + base_corba_priority_;
+ corba_priority = static_cast<RTCORBA::Priority>
+ (((base_native_priority_ - native_priority) * priority_spacing_) + base_corba_priority_);
}
}
else
@@ -224,11 +230,14 @@ TAO_Multi_Priority_Mapping::to_CORBA (RTCORBA::NativePriority native_priority,
priority_ndx++;
}
- corba_priority = base_corba_priority_ - priority_ndx;
+ corba_priority = static_cast<RTCORBA::Priority>
+ (base_corba_priority_ - priority_ndx);
}
}
return 1;
}
+TAO_END_VERSIONED_NAMESPACE_DECL
+
#endif /* TAO_HAS_CORBA_MESSAGING && TAO_HAS_CORBA_MESSAGING != 0 */