00001
00002
00003
00004
00005
00006
00007
00008
00009
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
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
00032
00033 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00034
00035 namespace TAO
00036 {
00037 namespace SL3
00038 {
00039
00040
00041
00042
00043
00044
00045
00046 class ContextEstablishmentPolicy
00047 : public virtual SecurityLevel3::ContextEstablishmentPolicy,
00048 public virtual TAO_Local_RefCounted_Object
00049 {
00050 public:
00051
00052
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
00063
00064
00065
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
00090
00091
00092
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 }
00108
00109 }
00110
00111 TAO_END_VERSIONED_NAMESPACE_DECL
00112
00113 #if defined(_MSC_VER)
00114 #pragma warning(pop)
00115 #endif
00116
00117 #include "ace/post.h"
00118
00119 #endif