00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013 #ifndef TAO_SECURITY_CURRENT_H
00014 #define TAO_SECURITY_CURRENT_H
00015
00016 #include "ace/pre.h"
00017
00018 #include "orbsvcs/Security/security_export.h"
00019
00020 #if !defined (ACE_LACKS_PRAGMA_ONCE)
00021 # pragma once
00022 #endif
00023
00024 #include "orbsvcs/SecurityLevel2C.h"
00025 #include "tao/ORB_Core.h"
00026 #include "tao/LocalObject.h"
00027
00028 #include "orbsvcs/Security/Security_Current_Impl.h"
00029
00030
00031
00032 #if defined(_MSC_VER)
00033 #pragma warning(push)
00034 #pragma warning(disable:4250)
00035 #endif
00036
00037 TAO_BEGIN_VERSIONED_NAMESPACE_DECL
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047 class TAO_Security_Export TAO_Security_Current
00048 : public SecurityLevel2::Current,
00049 public TAO_Local_RefCounted_Object
00050 {
00051 public:
00052
00053
00054 TAO_Security_Current (size_t tss_slot, const char *orb_id);
00055
00056
00057
00058
00059
00060
00061
00062
00063
00064
00065 virtual Security::AttributeList * get_attributes (
00066 const Security::AttributeTypeList & attributes
00067 ACE_ENV_ARG_DECL_WITH_DEFAULTS)
00068 ACE_THROW_SPEC ((CORBA::SystemException));
00069
00070
00071
00072
00073
00074
00075
00076
00077
00078
00079
00080 virtual SecurityLevel2::ReceivedCredentials_ptr received_credentials (
00081 ACE_ENV_SINGLE_ARG_DECL_WITH_DEFAULTS)
00082 ACE_THROW_SPEC ((CORBA::SystemException));
00083
00084
00085
00086
00087
00088
00089
00090 size_t tss_slot (void) const;
00091
00092 protected:
00093
00094
00095
00096 ~TAO_Security_Current (void);
00097
00098
00099
00100 int init (void);
00101
00102
00103
00104
00105
00106
00107
00108
00109
00110
00111
00112 TAO::Security::Current_Impl *implementation (void);
00113
00114 private:
00115
00116
00117
00118
00119 TAO_Security_Current (const TAO_Security_Current &);
00120 void operator= (const TAO_Security_Current &);
00121
00122
00123 private:
00124
00125
00126 size_t const tss_slot_;
00127
00128
00129 CORBA::String_var orb_id_;
00130
00131
00132
00133 TAO_ORB_Core * orb_core_;
00134
00135 };
00136
00137 TAO_END_VERSIONED_NAMESPACE_DECL
00138
00139 #if defined (__ACE_INLINE__)
00140 # include "orbsvcs/Security/Security_Current.inl"
00141 #endif
00142
00143 #if defined(_MSC_VER)
00144 #pragma warning(pop)
00145 #endif
00146
00147 #include "ace/post.h"
00148
00149 #endif