Public Member Functions

TAO_BiDir_PolicyFactory Class Reference

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

#include <BiDir_PolicyFactory.h>

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

List of all members.

Public Member Functions

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

Detailed Description

Policy factory for all Messaging related policies.

Definition at line 37 of file BiDir_PolicyFactory.h.


Member Function Documentation

CORBA::Policy_ptr TAO_BiDir_PolicyFactory::create_policy ( CORBA::PolicyType  type,
const CORBA::Any value 
) [virtual]

Definition at line 17 of file BiDir_PolicyFactory.cpp.

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

  if (type == BiDirPolicy::BIDIRECTIONAL_POLICY_TYPE)
    {
      BiDirPolicy::BidirectionalPolicyValue val;

      // Extract the value from the any.
      if ((value >>= val) == 0)
        {
          throw ::CORBA::PolicyError (CORBA::BAD_POLICY_VALUE);
        }

      ACE_NEW_THROW_EX (policy,
                        TAO_BidirectionalPolicy (val),
                        CORBA::NO_MEMORY (
                          CORBA::SystemException::_tao_minor_code (
                            TAO::VMCID,
                            ENOMEM),
                          CORBA::COMPLETED_NO));

      return policy;
    }

  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