diff options
author | Benoit Foucher <benoit@zeroc.com> | 2009-10-21 17:02:37 +0200 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2009-10-21 17:02:37 +0200 |
commit | a80b3c8cbb203c78b061e99e1a764685af4a93e9 (patch) | |
tree | 5448b1dd66499b8fc9e46c618aa65b6687855946 /cpp/src/IceSSL/PluginI.cpp | |
parent | Bug 4311 - change Ice::Service::start signature (diff) | |
download | ice-a80b3c8cbb203c78b061e99e1a764685af4a93e9.tar.bz2 ice-a80b3c8cbb203c78b061e99e1a764685af4a93e9.tar.xz ice-a80b3c8cbb203c78b061e99e1a764685af4a93e9.zip |
- Removed old IceSSL::ConnectionInfo struct, it's now replaced with
IceSSL::NativeConnectionInfo.
- Removed Ice::ConnectionInfo endpoint attribute.
- Added Ice::Connection::getEndpoint() method.
- Added Ice::ConnectionInfo adapterName and incoming attributes.
- Replaced Tcp and Udp prefixes with TCP and UDP in endpoint/info classes.
- Added IPEndpointInfo and IPConnectionInfo intermediate classes.
- Fixed 2058: deprecate ice_hash for Ice.Object & Ice.LocalObject, added ice_getHash
- Fixed bug where Ice::Endpoint comparison would only compare the endpoint object addresses rather than the endpoint attributes like in Java and C#.
- Added ice_getHash implementation for endpoints and cleaned up Reference::hash to use HashUtil.h helper methods.
- Added test/Ice/info and removed endpoint info test from test/Ice/proxy.
Diffstat (limited to 'cpp/src/IceSSL/PluginI.cpp')
-rw-r--r-- | cpp/src/IceSSL/PluginI.cpp | 69 |
1 files changed, 0 insertions, 69 deletions
diff --git a/cpp/src/IceSSL/PluginI.cpp b/cpp/src/IceSSL/PluginI.cpp index 67bf827d37e..414d205c37e 100644 --- a/cpp/src/IceSSL/PluginI.cpp +++ b/cpp/src/IceSSL/PluginI.cpp @@ -12,7 +12,6 @@ #include <IceSSL/TransceiverI.h> #include <Ice/LocalException.h> -#include <Ice/ConnectionI.h> // For implementation of getConnectionInfo. using namespace std; using namespace Ice; @@ -77,71 +76,3 @@ IceSSL::PluginI::setPasswordPrompt(const PasswordPromptPtr& prompt) { _instance->setPasswordPrompt(prompt); } - -const char* IceSSL::ConnectionInvalidException::_name = "IceSSL::ConnectionInvalidException"; - -ConnectionInvalidException::ConnectionInvalidException(const char* file, int line, const string& r) : - Exception(file, line), - reason(r) -{ -} - -ConnectionInvalidException::~ConnectionInvalidException() throw() -{ -} - -string -ConnectionInvalidException::ice_name() const -{ - return _name; -} - -Exception* -ConnectionInvalidException::ice_clone() const -{ - return new ConnectionInvalidException(*this); -} - -void -ConnectionInvalidException::ice_throw() const -{ - throw *this; -} - -IceSSL::ConnectionInfo -IceSSL::getConnectionInfo(const ConnectionPtr& connection) -{ - Ice::ConnectionIPtr con = Ice::ConnectionIPtr::dynamicCast(connection); - assert(con); - - // - // Lock the connection directly. This is done because the only - // thing that prevents the transceiver from being closed during - // the duration of the invocation is the connection. - // - IceUtil::Monitor<IceUtil::Mutex>::Lock sync(*con.get()); - IceInternal::TransceiverPtr transceiver = con->getTransceiver(); - if(!transceiver) - { - throw ConnectionInvalidException(__FILE__, __LINE__, "connection closed"); - } - - TransceiverIPtr ssltransceiver = TransceiverIPtr::dynamicCast(con->getTransceiver()); - if(!ssltransceiver) - { - throw ConnectionInvalidException(__FILE__, __LINE__, "not ssl connection"); - } - - try - { - return ssltransceiver->getConnectionInfo(); - } - catch(const Ice::LocalException& ex) - { - ostringstream os; - os << "couldn't get connection information:\n" << ex << endl; - throw ConnectionInvalidException(__FILE__, __LINE__, os.str()); - } - - return ConnectionInfo(); // Required to prevent compiler warning on Solaris. -} |