#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) 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_ |
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.
|
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 } |
|
|
|
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 } |
|
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(). |