SL3_ContextEstablishmentPolicy.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  * @file SL3_ContextEstablishmentPolicy.h
00006  *
00007  * SL3_ContextEstablishmentPolicy.h,v 1.5 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_CONTEXT_ESTABLISHMENT_POLICY_H
00015 #define TAO_SL3_CONTEXT_ESTABLISHMENT_POLICY_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 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034 
00035 namespace TAO
00036 {
00037   namespace SL3
00038   {
00039     /**
00040      * @class ContextEstablishmentPolicy
00041      *
00042      * @brief
00043      *
00044      *
00045      */
00046     class ContextEstablishmentPolicy
00047       : public virtual SecurityLevel3::ContextEstablishmentPolicy,
00048         public virtual TAO_Local_RefCounted_Object
00049     {
00050     public:
00051 
00052       /// Constructor
00053       ContextEstablishmentPolicy (
00054         SecurityLevel3::CredsDirective             creds_directive,
00055         const SecurityLevel3::OwnCredentialsList & creds_list,
00056         SecurityLevel3::FeatureDirective           use_client_auth,
00057         SecurityLevel3::FeatureDirective           use_target_auth,
00058         SecurityLevel3::FeatureDirective           use_confidentiality,
00059         SecurityLevel3::FeatureDirective           use_integrity);
00060 
00061       /**
00062        * @name SecurityLevel3::ContextEstablishmentPolicy Methods
00063        *
00064        * Methods required by the
00065        * SecurityLevel3::ContextEstablishmentPolicy interface.
00066        */
00067       //@{
00068       virtual SecurityLevel3::CredsDirective creds_directive (
00069           ACE_ENV_SINGLE_ARG_DECL)
00070         ACE_THROW_SPEC ((CORBA::SystemException));
00071 
00072       virtual SecurityLevel3::OwnCredentialsList * creds_list (
00073           ACE_ENV_SINGLE_ARG_DECL)
00074         ACE_THROW_SPEC ((CORBA::SystemException));
00075 
00076       virtual SecurityLevel3::FeatureDirective use_client_auth (
00077           ACE_ENV_SINGLE_ARG_DECL)
00078         ACE_THROW_SPEC ((CORBA::SystemException));
00079 
00080       virtual SecurityLevel3::FeatureDirective use_target_auth (
00081           ACE_ENV_SINGLE_ARG_DECL)
00082         ACE_THROW_SPEC ((CORBA::SystemException));
00083 
00084       virtual SecurityLevel3::FeatureDirective use_confidentiality (
00085           ACE_ENV_SINGLE_ARG_DECL)
00086         ACE_THROW_SPEC ((CORBA::SystemException));
00087 
00088       virtual SecurityLevel3::FeatureDirective use_integrity (
00089           ACE_ENV_SINGLE_ARG_DECL)
00090         ACE_THROW_SPEC ((CORBA::SystemException));
00091 
00092       virtual CORBA::PolicyType policy_type (ACE_ENV_SINGLE_ARG_DECL)
00093         ACE_THROW_SPEC ((CORBA::SystemException));
00094 
00095       virtual CORBA::Policy_ptr copy (ACE_ENV_SINGLE_ARG_DECL)
00096         ACE_THROW_SPEC ((CORBA::SystemException));
00097 
00098       virtual void destroy (ACE_ENV_SINGLE_ARG_DECL)
00099         ACE_THROW_SPEC ((CORBA::SystemException));
00100       //@}
00101 
00102     protected:
00103 
00104       /// Destructor
00105       /**
00106        * Protected destructor to enforce proper memory management
00107        * through the reference counting mechanism.
00108        */
00109       ~ContextEstablishmentPolicy (void);
00110 
00111     private:
00112 
00113       SecurityLevel3::CredsDirective     creds_directive_;
00114       SecurityLevel3::OwnCredentialsList creds_list_;
00115       SecurityLevel3::FeatureDirective   use_client_auth_;
00116       SecurityLevel3::FeatureDirective   use_target_auth_;
00117       SecurityLevel3::FeatureDirective   use_confidentiality_;
00118       SecurityLevel3::FeatureDirective   use_integrity_;
00119 
00120     };
00121 
00122   } // End SL3 namespace
00123 
00124 }  // End TAO namespace
00125 
00126 TAO_END_VERSIONED_NAMESPACE_DECL
00127 
00128 #if defined(_MSC_VER)
00129 #pragma warning(pop)
00130 #endif /* _MSC_VER */
00131 
00132 #include /**/ "ace/post.h"
00133 
00134 #endif  /* TAO_SL3_CONTEXT_ESTABLISHMENT_POLICY_H */

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