Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | Friends

TAO_PriorityModelPolicy Class Reference

RTCORBA::PriorityModelPolicy implementation. More...

#include <RT_Policy_i.h>

Inheritance diagram for TAO_PriorityModelPolicy:
Inheritance graph
[legend]
Collaboration diagram for TAO_PriorityModelPolicy:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 TAO_PriorityModelPolicy (RTCORBA::PriorityModel priority_model, RTCORBA::Priority server_priority)
 Constructor.
 TAO_PriorityModelPolicy (const TAO_PriorityModelPolicy &rhs)
 Copy constructor.
RTCORBA::PriorityModel get_priority_model (void)
RTCORBA::PriorityModel priority_model (void)
RTCORBA::Priority server_priority (void)
CORBA::PolicyType policy_type (void)
CORBA::Policy_ptr copy (void)
void destroy (void)
CORBA::Boolean _tao_encode (TAO_OutputCDR &out_cdr)
 This method writes a CDR representation of the object state.
CORBA::Boolean _tao_decode (TAO_InputCDR &in_cdr)
 This method reads the object state from a CDR representation.
TAO_Cached_Policy_Type _tao_cached_type (void) const
TAO_Policy_Scope _tao_scope (void) const

Static Public Member Functions

static CORBA::Policy_ptr create (const CORBA::Any &val)

Protected Member Functions

virtual ~TAO_PriorityModelPolicy (void)
 TAO_PriorityModelPolicy (void)

Private Attributes

RTCORBA::PriorityModel priority_model_
 Attributes.
RTCORBA::Priority server_priority_

Friends

class TAO_RT_PolicyFactory

Detailed Description

RTCORBA::PriorityModelPolicy implementation.

This policy controls how the priority at which a server handles requests from clients is determined.

Definition at line 48 of file RT_Policy_i.h.


Constructor & Destructor Documentation

TAO_PriorityModelPolicy::TAO_PriorityModelPolicy ( RTCORBA::PriorityModel  priority_model,
RTCORBA::Priority  server_priority 
)

Constructor.

Definition at line 24 of file RT_Policy_i.cpp.

TAO_PriorityModelPolicy::TAO_PriorityModelPolicy ( const TAO_PriorityModelPolicy rhs  ) 

Copy constructor.

Definition at line 36 of file RT_Policy_i.cpp.

  : ::CORBA::Object ()
  , ::CORBA::Policy ()
  , RTCORBA::PriorityModelPolicy ()
  , ::CORBA::LocalObject ()
  , priority_model_ (rhs.priority_model_)
  , server_priority_ (rhs.server_priority_)
{
}

TAO_PriorityModelPolicy::~TAO_PriorityModelPolicy ( void   )  [protected, virtual]

Protected destructor to enforce proper memory management of this reference counted object.

Definition at line 52 of file RT_Policy_i.cpp.

{
}

TAO_PriorityModelPolicy::TAO_PriorityModelPolicy ( void   )  [protected]

Definition at line 46 of file RT_Policy_i.cpp.

  : priority_model_ (RTCORBA::SERVER_DECLARED),
    server_priority_ (0)
{
}


Member Function Documentation

TAO_Cached_Policy_Type TAO_PriorityModelPolicy::_tao_cached_type ( void   )  const

Definition at line 125 of file RT_Policy_i.cpp.

{
  return TAO_CACHED_POLICY_PRIORITY_MODEL;
}

CORBA::Boolean TAO_PriorityModelPolicy::_tao_decode ( TAO_InputCDR in_cdr  ) 

This method reads the object state from a CDR representation.

Definition at line 119 of file RT_Policy_i.cpp.

{
  return ((in_cdr >> priority_model_) && (in_cdr >> server_priority_));
}

CORBA::Boolean TAO_PriorityModelPolicy::_tao_encode ( TAO_OutputCDR out_cdr  ) 

This method writes a CDR representation of the object state.

Definition at line 109 of file RT_Policy_i.cpp.

{
  // Note: the fields are encoded according to
  // the order specified in the RTCORBA 1.0 spec (ptc/99-05-03)
  // section 4.7.3.

  return ((out_cdr << priority_model_) && (out_cdr << server_priority_));
}

TAO_Policy_Scope TAO_PriorityModelPolicy::_tao_scope ( void   )  const

Definition at line 131 of file RT_Policy_i.cpp.

{
  // Note that this policy is propogated to the client even though
  // it is not specified here.  The reason for this is that the
  // server priority field is set dynamically depending on the model
  // and the servant's priority.  Therefore, it can't be simply
  // copied to the list of client exposed policies.
  return static_cast<TAO_Policy_Scope> (TAO_POLICY_ORB_SCOPE |
                          TAO_POLICY_POA_SCOPE);
}

CORBA::Policy_ptr TAO_PriorityModelPolicy::copy ( void   ) 

Definition at line 92 of file RT_Policy_i.cpp.

{
  TAO_PriorityModelPolicy* tmp = 0;
  ACE_NEW_THROW_EX (tmp,
                    TAO_PriorityModelPolicy (*this),
                    CORBA::NO_MEMORY (TAO::VMCID,
                                      CORBA::COMPLETED_NO));

  return tmp;
}

CORBA::Policy_ptr TAO_PriorityModelPolicy::create ( const CORBA::Any val  )  [static]

Helper method for the implementation of CORBA::ORB::create_policy.

Definition at line 57 of file RT_Policy_i.cpp.

{
  /*
   * @@ The following code should be changed once the OMG spec has
   * been fixed such that a RTCORBA::PriorityModelPolicy can be
   * created by using the ORB::create_policy interface.
   */
  throw ::CORBA::PolicyError (CORBA::BAD_POLICY_VALUE);
}

void TAO_PriorityModelPolicy::destroy ( void   ) 

Definition at line 104 of file RT_Policy_i.cpp.

{
}

RTCORBA::PriorityModel TAO_PriorityModelPolicy::get_priority_model ( void   ) 

Accessor for the <priority_model_> attribute. This method is used internally by the orb. This is a more efficient (non-virtual, no exception handling) relative of the idl interface implementation <priority_model> below.

Definition at line 68 of file RT_Policy_i.cpp.

{
  return this->priority_model_;
}

CORBA::PolicyType TAO_PriorityModelPolicy::policy_type ( void   ) 

Definition at line 86 of file RT_Policy_i.cpp.

{
  return RTCORBA::PRIORITY_MODEL_POLICY_TYPE;
}

RTCORBA::PriorityModel TAO_PriorityModelPolicy::priority_model ( void   ) 

Definition at line 74 of file RT_Policy_i.cpp.

{
  return this->priority_model_;
}

RTCORBA::Priority TAO_PriorityModelPolicy::server_priority ( void   ) 

Definition at line 80 of file RT_Policy_i.cpp.

{
  return this->server_priority_;
}


Friends And Related Function Documentation

friend class TAO_RT_PolicyFactory [friend]

This constructor is used by TAO_RT_PolicyFactory when decoding policies from tagged components in an IOR.

Definition at line 102 of file RT_Policy_i.h.


Member Data Documentation

RTCORBA::PriorityModel TAO_PriorityModelPolicy::priority_model_ [private]

Attributes.

Definition at line 108 of file RT_Policy_i.h.

RTCORBA::Priority TAO_PriorityModelPolicy::server_priority_ [private]

Definition at line 109 of file RT_Policy_i.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines