00001 #include "orbsvcs/SSLIOP/IIOP_SSL_Transport.h" 00002 #include "orbsvcs/SSLIOP/IIOP_SSL_Connection_Handler.h" 00003 #include "orbsvcs/SSLIOP/SSLIOP_Util.h" 00004 00005 #include "tao/ORB_Core.h" 00006 #include "tao/ORB.h" 00007 #include "tao/Timeprobe.h" 00008 #include "tao/debug.h" 00009 00010 00011 ACE_RCSID (SSLIOP, 00012 IIOP_SSL_Transport, 00013 "$Id: IIOP_SSL_Transport.cpp 79151 2007-08-01 09:04:36Z johnnyw $") 00014 00015 TAO_BEGIN_VERSIONED_NAMESPACE_DECL 00016 00017 TAO::IIOP_SSL_Transport::IIOP_SSL_Transport ( 00018 IIOP_SSL_Connection_Handler *handler, 00019 TAO_ORB_Core *orb_core) 00020 : TAO_IIOP_Transport (handler, orb_core) 00021 { 00022 this->current_ = 00023 TAO::SSLIOP::Util::current (orb_core); 00024 } 00025 00026 TAO::IIOP_SSL_Transport::~IIOP_SSL_Transport (void) 00027 { 00028 } 00029 00030 int 00031 TAO::IIOP_SSL_Transport::handle_input (TAO_Resume_Handle &rh, 00032 ACE_Time_Value *max_wait_time) 00033 { 00034 int result = 0; 00035 00036 // Invalidate the TSS SSL session state to make sure that SSL state 00037 // from a previous SSL connection is not confused with this non-SSL 00038 // connection. 00039 TAO::Null_SSL_State_Guard guard (this->current_.in (), result); 00040 00041 if (result != 0) 00042 return -1; 00043 00044 return this->TAO_IIOP_Transport::handle_input (rh, max_wait_time); 00045 } 00046 00047 TAO_END_VERSIONED_NAMESPACE_DECL