#include <Security_ORBInitializer.h>
Inheritance diagram for TAO::Security::ORBInitializer:
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_ |
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.
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 CORBA::SystemException::_tao_minor_code(), ACE_NEW_THROW_EX, CORBA::COMPLETED_NO, CORBA::is_nil(), policy_factory_, Security::SecDelegationDirectivePolicy, Security::SecEstablishTrustPolicy, Security::SecFeaturePolicy, Security::SecInvocationCredentialsPolicy, Security::SecMechanismsPolicy, Security::SecQOPPolicy, and TAO::VMCID.
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 }
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().