SL3_ContextEstablishmentPolicy.h

Go to the documentation of this file.
00001 // -*- C++ -*-
00002 
00003 //=============================================================================
00004 /**
00005  * @file SL3_ContextEstablishmentPolicy.h
00006  *
00007  * $Id: SL3_ContextEstablishmentPolicy.h 77001 2007-02-12 07:54:49Z johnnyw $
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 
00070       virtual SecurityLevel3::OwnCredentialsList * creds_list ();
00071 
00072       virtual SecurityLevel3::FeatureDirective use_client_auth ();
00073 
00074       virtual SecurityLevel3::FeatureDirective use_target_auth ();
00075 
00076       virtual SecurityLevel3::FeatureDirective use_confidentiality ();
00077 
00078       virtual SecurityLevel3::FeatureDirective use_integrity ();
00079 
00080       virtual CORBA::PolicyType policy_type (void);
00081 
00082       virtual CORBA::Policy_ptr copy (void);
00083 
00084       virtual void destroy (void);
00085       //@}
00086 
00087     protected:
00088 
00089       /// Destructor
00090       /**
00091        * Protected destructor to enforce proper memory management
00092        * through the reference counting mechanism.
00093        */
00094       ~ContextEstablishmentPolicy (void);
00095 
00096     private:
00097 
00098       SecurityLevel3::CredsDirective     creds_directive_;
00099       SecurityLevel3::OwnCredentialsList creds_list_;
00100       SecurityLevel3::FeatureDirective   use_client_auth_;
00101       SecurityLevel3::FeatureDirective   use_target_auth_;
00102       SecurityLevel3::FeatureDirective   use_confidentiality_;
00103       SecurityLevel3::FeatureDirective   use_integrity_;
00104 
00105     };
00106 
00107   } // End SL3 namespace
00108 
00109 }  // End TAO namespace
00110 
00111 TAO_END_VERSIONED_NAMESPACE_DECL
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_CONTEXT_ESTABLISHMENT_POLICY_H */

Generated on Sun Jan 27 16:09:36 2008 for TAO_Security by doxygen 1.3.6