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) throw (CORBA::SystemException)
virtual void post_init (PortableInterceptor::ORBInitInfo_ptr info) throw (CORBA::SystemException)

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 59 of file Security_ORBInitializer.h.


Member Function Documentation

void TAO::Security::ORBInitializer::post_init PortableInterceptor::ORBInitInfo_ptr  info  )  throw (CORBA::SystemException) [virtual]
 

Definition at line 148 of file Security_ORBInitializer.cpp.

References ACE_CHECK, and ACE_ENV_ARG_PARAMETER.

00152 {
00153   this->register_policy_factories (info
00154                                    ACE_ENV_ARG_PARAMETER);
00155   ACE_CHECK;
00156 }

virtual void TAO::Security::ORBInitializer::pre_init PortableInterceptor::ORBInitInfo_ptr  info  )  throw (CORBA::SystemException) [virtual]
 

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

Register Security policy factories.

Definition at line 159 of file Security_ORBInitializer.cpp.

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

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       ACE_CHECK;
00176 
00177       this->policy_factory_ = policy_factory;
00178     }
00179 
00180   // Bind the same policy factory to all security related policy
00181   // types since a single policy factory is used to create each of
00182   // the different types of security policies.
00183 
00184   CORBA::PolicyType type;
00185 
00186   type = ::Security::SecQOPPolicy;
00187   info->register_policy_factory (type,
00188                                  this->policy_factory_.in ()
00189                                  ACE_ENV_ARG_PARAMETER);
00190   ACE_CHECK;
00191 
00192   type = ::Security::SecMechanismsPolicy;
00193   info->register_policy_factory (type,
00194                                  this->policy_factory_.in ()
00195                                  ACE_ENV_ARG_PARAMETER);
00196   ACE_CHECK;
00197 
00198   type = ::Security::SecInvocationCredentialsPolicy;
00199   info->register_policy_factory (type,
00200                                  this->policy_factory_.in ()
00201                                  ACE_ENV_ARG_PARAMETER);
00202   ACE_CHECK;
00203 
00204   type = ::Security::SecFeaturePolicy;   // Deprecated
00205   info->register_policy_factory (type,
00206                                  this->policy_factory_.in ()
00207                                  ACE_ENV_ARG_PARAMETER);
00208   ACE_CHECK;
00209 
00210   type = ::Security::SecDelegationDirectivePolicy;
00211   info->register_policy_factory (type,
00212                                  this->policy_factory_.in ()
00213                                  ACE_ENV_ARG_PARAMETER);
00214   ACE_CHECK;
00215 
00216   type = ::Security::SecEstablishTrustPolicy;
00217   info->register_policy_factory (type,
00218                                  this->policy_factory_.in ()
00219                                  ACE_ENV_ARG_PARAMETER);
00220   ACE_CHECK;
00221 
00222 
00223   type = SecurityLevel3::ContextEstablishmentPolicyType;
00224   info->register_policy_factory (type,
00225                                  this->policy_factory_.in ()
00226                                  ACE_ENV_ARG_PARAMETER);
00227   ACE_CHECK;
00228 
00229 
00230   type = SecurityLevel3::ObjectCredentialsPolicyType;
00231   info->register_policy_factory (type,
00232                                  this->policy_factory_.in ()
00233                                  ACE_ENV_ARG_PARAMETER);
00234   ACE_CHECK;
00235 
00236 
00237   // ----------------------------------------------------------------
00238 }


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 91 of file Security_ORBInitializer.h.

Referenced by register_policy_factories().


The documentation for this class was generated from the following files:
Generated on Thu Nov 9 13:52:31 2006 for TAO_Security by doxygen 1.3.6