SL3_SecurityManager.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  * @file SL3_SecurityManager.h
00006  *
00007  * SL3_SecurityManager.h,v 1.6 2005/11/16 07:53:25 ossama Exp
00008  *
00009  * @author Ossama Othman <ossama@dre.vanderbilt.edu>
00010  */
00011 //=============================================================================
00012 
00013 
00014 #ifndef TAO_SL3_SECURITY_MANAGER_H
00015 #define TAO_SL3_SECURITY_MANAGER_H
00016 
00017 #include /**/ "ace/pre.h"
00018 #include "orbsvcs/Security/security_export.h"
00019 
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif /* ACE_LACKS_PRAGMA_ONCE */
00023 
00024 #include "orbsvcs/SecurityLevel3C.h"
00025 
00026 #include "tao/LocalObject.h"
00027 
00028 #if defined(_MSC_VER)
00029 #pragma warning(push)
00030 #pragma warning(disable:4250)
00031 #endif /* _MSC_VER */
00032 
00033 
00034 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00035 
00036 namespace TAO
00037 {
00038   namespace SL3
00039   {
00040     /**
00041      * @class SecurityManager
00042      *
00043      * @brief
00044      *
00045      *
00046      */
00047     class SecurityManager
00048       : public virtual SecurityLevel3::SecurityManager,
00049         public virtual TAO_Local_RefCounted_Object
00050     {
00051     public:
00052 
00053       /// Constructor
00054       SecurityManager (SecurityLevel3::CredentialsCurator_ptr cc);
00055 
00056       /**
00057        * @name SecurityLevel3::SecurityManager Methods
00058        *
00059        * Methods required by the SecurityLevel3::SecurityManager
00060        * interface.
00061        */
00062       //@{
00063       virtual SecurityLevel3::CredentialsCurator_ptr credentials_curator (
00064           ACE_ENV_SINGLE_ARG_DECL)
00065         ACE_THROW_SPEC ((CORBA::SystemException));
00066 
00067       virtual SecurityLevel3::TargetCredentials_ptr get_target_credentials (
00068           CORBA::Object_ptr the_object
00069           ACE_ENV_ARG_DECL)
00070         ACE_THROW_SPEC ((CORBA::SystemException));
00071 
00072       virtual SecurityLevel3::ContextEstablishmentPolicy_ptr
00073       create_context_estab_policy (
00074           SecurityLevel3::CredsDirective creds_directive,
00075           const SecurityLevel3::OwnCredentialsList & creds_list,
00076           SecurityLevel3::FeatureDirective use_client_auth,
00077           SecurityLevel3::FeatureDirective use_target_auth,
00078           SecurityLevel3::FeatureDirective use_confidentiality,
00079           SecurityLevel3::FeatureDirective use_integrity
00080           ACE_ENV_ARG_DECL)
00081         ACE_THROW_SPEC ((CORBA::SystemException));
00082 
00083       virtual SecurityLevel3::ObjectCredentialsPolicy_ptr
00084       create_object_creds_policy (
00085           const SecurityLevel3::OwnCredentialsList & cred_list
00086           ACE_ENV_ARG_DECL)
00087         ACE_THROW_SPEC ((CORBA::SystemException));
00088       //@}
00089 
00090     protected:
00091 
00092       /// Destructor
00093       /**
00094        * Protected destructor to enforce proper memory management
00095        * through the reference counting mechanism.
00096        */
00097       virtual ~SecurityManager (void);
00098 
00099     private:
00100 
00101       /// The ORB-specific SecurityLevel3::CredentialsCurator
00102       /// reference.
00103       SecurityLevel3::CredentialsCurator_var credentials_curator_;
00104 
00105     };
00106 
00107   } // End SL3 namespace
00108 }  // End TAO namespace
00109 
00110 TAO_END_VERSIONED_NAMESPACE_DECL
00111 
00112 
00113 #if defined(_MSC_VER)
00114 #pragma warning(pop)
00115 #endif /* _MSC_VER */
00116 
00117 #include /**/ "ace/post.h"
00118 
00119 #endif  /* TAO_SL3_SECURITY_MANAGER_H */

Generated on Thu Nov 9 13:50:48 2006 for TAO_Security by doxygen 1.3.6