Public Member Functions

TAO_DiffServ_PolicyFactory Class Reference

Policy factory for all DiffServ related policies. More...

#include <DiffServPolicy_Factory.h>

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

List of all members.

Public Member Functions

CORBA::Policy_ptr create_policy (CORBA::PolicyType type, const CORBA::Any &value)
CORBA::Policy_ptr _create_policy (CORBA::PolicyType type)

Detailed Description

Policy factory for all DiffServ related policies.

Definition at line 40 of file DiffServPolicy_Factory.h.


Member Function Documentation

CORBA::Policy_ptr TAO_DiffServ_PolicyFactory::_create_policy ( CORBA::PolicyType  type  ) 

Definition at line 29 of file DiffServPolicy_Factory.cpp.

{
  CORBA::Policy_ptr policy = CORBA::Policy::_nil ();

  if (type == TAO::CLIENT_NETWORK_PRIORITY_TYPE)
    {
      ACE_NEW_THROW_EX (policy,
                        TAO_Client_Network_Priority_Policy (),
                        CORBA::NO_MEMORY (
                          CORBA::SystemException::_tao_minor_code (
                            TAO::VMCID,
                            ENOMEM),
                          CORBA::COMPLETED_NO));

      return policy;
    }

  if (type == TAO::NETWORK_PRIORITY_TYPE)
    {
      ACE_NEW_THROW_EX (policy,
                        TAO_Server_Network_Priority_Policy (),
                        CORBA::NO_MEMORY (
                          CORBA::SystemException::_tao_minor_code (
                            TAO::VMCID,
                            ENOMEM),
                          CORBA::COMPLETED_NO));

      return policy;
    }

  throw ::CORBA::PolicyError (CORBA::BAD_POLICY_TYPE);
}

CORBA::Policy_ptr TAO_DiffServ_PolicyFactory::create_policy ( CORBA::PolicyType  type,
const CORBA::Any value 
)

Definition at line 15 of file DiffServPolicy_Factory.cpp.

{
  if (type == TAO::CLIENT_NETWORK_PRIORITY_TYPE)
    return TAO_Client_Network_Priority_Policy::create (value);

  if (type == TAO::NETWORK_PRIORITY_TYPE)
    return TAO_Server_Network_Priority_Policy::create (value);

  throw ::CORBA::PolicyError (CORBA::BAD_POLICY_TYPE);
}


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