TAO::Security::ORBInitializer Class Reference

ORBInitializer that configures CORBA Security features into an ORB. More...

#include <Security_ORBInitializer.h>

Inheritance diagram for TAO::Security::ORBInitializer:

Inheritance graph
[legend]
Collaboration diagram for TAO::Security::ORBInitializer:

Collaboration graph
[legend]
List of all members.

Public Member Functions

PortableInterceptor::ORBInitializer Methods.
Methods required by the PortableInterceptor::ORBInitializer interface.

virtual void pre_init (PortableInterceptor::ORBInitInfo_ptr info)
virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info)

Private Member Functions

void register_policy_factories (PortableInterceptor::ORBInitInfo_ptr info)
 Register Security policy factories.


Private Attributes

PortableInterceptor::PolicyFactory_var policy_factory_

Detailed Description

ORBInitializer that configures CORBA Security features into an ORB.

This ORBInitializer configures CORBA Security features into an ORB, such as CSIv2, security objects, security policy factories, etc, into an ORB.

Definition at line 55 of file Security_ORBInitializer.h.


Member Function Documentation

void TAO::Security::ORBInitializer::post_init PortableInterceptor::ORBInitInfo_ptr  info  )  [virtual]
 

Definition at line 153 of file Security_ORBInitializer.cpp.

References register_policy_factories().

00155 {
00156   this->register_policy_factories (info);
00157 }

virtual void TAO::Security::ORBInitializer::pre_init PortableInterceptor::ORBInitInfo_ptr  info  )  [virtual]
 

void TAO::Security::ORBInitializer::register_policy_factories PortableInterceptor::ORBInitInfo_ptr  info  )  [private]
 

Register Security policy factories.

Definition at line 160 of file Security_ORBInitializer.cpp.

References ACE_NEW_THROW_EX, CORBA::is_nil(), and policy_factory_.

Referenced by post_init().

00162 {
00163   // Register the security policy factories.
00164 
00165   if (CORBA::is_nil (this->policy_factory_.in ()))
00166     {
00167       PortableInterceptor::PolicyFactory_ptr policy_factory;
00168       ACE_NEW_THROW_EX (policy_factory,
00169                         TAO::Security::PolicyFactory,
00170                           CORBA::NO_MEMORY (
00171                             CORBA::SystemException::_tao_minor_code (
00172                               TAO::VMCID,
00173                               ENOMEM),
00174                             CORBA::COMPLETED_NO));
00175 
00176       this->policy_factory_ = policy_factory;
00177     }
00178 
00179   // Bind the same policy factory to all security related policy
00180   // types since a single policy factory is used to create each of
00181   // the different types of security policies.
00182 
00183   CORBA::PolicyType type;
00184 
00185   type = ::Security::SecQOPPolicy;
00186   info->register_policy_factory (type, this->policy_factory_.in ());
00187 
00188   type = ::Security::SecMechanismsPolicy;
00189   info->register_policy_factory (type, this->policy_factory_.in ());
00190 
00191   type = ::Security::SecInvocationCredentialsPolicy;
00192   info->register_policy_factory (type, this->policy_factory_.in ());
00193 
00194   type = ::Security::SecFeaturePolicy;   // Deprecated
00195   info->register_policy_factory (type, this->policy_factory_.in ());
00196 
00197   type = ::Security::SecDelegationDirectivePolicy;
00198   info->register_policy_factory (type, this->policy_factory_.in ());
00199 
00200   type = ::Security::SecEstablishTrustPolicy;
00201   info->register_policy_factory (type, this->policy_factory_.in ());
00202 
00203   type = SecurityLevel3::ContextEstablishmentPolicyType;
00204   info->register_policy_factory (type, this->policy_factory_.in ());
00205 
00206   type = SecurityLevel3::ObjectCredentialsPolicyType;
00207   info->register_policy_factory (type, this->policy_factory_.in ());
00208 
00209   // ----------------------------------------------------------------
00210 }


Member Data Documentation

PortableInterceptor::PolicyFactory_var TAO::Security::ORBInitializer::policy_factory_ [private]
 

PolicyFactory that is used to create all security related policies capable of being created via ORB::create_policy().

Definition at line 82 of file Security_ORBInitializer.h.

Referenced by register_policy_factories().


The documentation for this class was generated from the following files:
Generated on Sun Jan 27 16:10:40 2008 for TAO_Security by doxygen 1.3.6