00001
00002
00003 #include "orbsvcs/Security/SL3_SecurityManager.h"
00004 #include "orbsvcs/Security/SL3_ContextEstablishmentPolicy.h"
00005 #include "orbsvcs/Security/SL3_ObjectCredentialsPolicy.h"
00006
00007
00008 ACE_RCSID (Security,
00009 SL3_SecurityManager,
00010 "$Id: SL3_SecurityManager.cpp 77001 2007-02-12 07:54:49Z johnnyw $")
00011
00012
00013 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00014
00015 TAO::SL3::SecurityManager::SecurityManager (
00016 SecurityLevel3::CredentialsCurator_ptr cc)
00017 : credentials_curator_ (SecurityLevel3::CredentialsCurator::_duplicate (cc))
00018 {
00019 }
00020
00021 TAO::SL3::SecurityManager::~SecurityManager (void)
00022 {
00023 }
00024
00025 SecurityLevel3::CredentialsCurator_ptr
00026 TAO::SL3::SecurityManager::credentials_curator ()
00027 {
00028 return
00029 SecurityLevel3::CredentialsCurator::_duplicate (
00030 this->credentials_curator_.in ());
00031 }
00032
00033 SecurityLevel3::TargetCredentials_ptr
00034 TAO::SL3::SecurityManager::get_target_credentials (CORBA::Object_ptr )
00035 {
00036 throw CORBA::NO_IMPLEMENT ();
00037 }
00038
00039 SecurityLevel3::ContextEstablishmentPolicy_ptr
00040 TAO::SL3::SecurityManager::create_context_estab_policy (
00041 SecurityLevel3::CredsDirective creds_directive,
00042 const SecurityLevel3::OwnCredentialsList & creds_list,
00043 SecurityLevel3::FeatureDirective use_client_auth,
00044 SecurityLevel3::FeatureDirective use_target_auth,
00045 SecurityLevel3::FeatureDirective use_confidentiality,
00046 SecurityLevel3::FeatureDirective use_integrity)
00047 {
00048 SecurityLevel3::ContextEstablishmentPolicy_ptr policy;
00049 ACE_NEW_THROW_EX (policy,
00050 TAO::SL3::ContextEstablishmentPolicy (creds_directive,
00051 creds_list,
00052 use_client_auth,
00053 use_target_auth,
00054 use_confidentiality,
00055 use_integrity),
00056 CORBA::NO_MEMORY ());
00057
00058 return policy;
00059 }
00060
00061 SecurityLevel3::ObjectCredentialsPolicy_ptr
00062 TAO::SL3::SecurityManager::create_object_creds_policy (
00063 const SecurityLevel3::OwnCredentialsList & creds_list)
00064 {
00065 SecurityLevel3::ObjectCredentialsPolicy_ptr policy;
00066 ACE_NEW_THROW_EX (policy,
00067 TAO::SL3::ObjectCredentialsPolicy (creds_list),
00068 CORBA::NO_MEMORY ());
00069
00070 return policy;
00071 }
00072
00073 TAO_END_VERSIONED_NAMESPACE_DECL