diff options
author | Jose <jose@zeroc.com> | 2015-12-01 17:36:19 +0100 |
---|---|---|
committer | Jose <jose@zeroc.com> | 2015-12-01 17:36:19 +0100 |
commit | 2029ff368e49fae489b8ec8fc12f7d126b182dfb (patch) | |
tree | 6075d652b7851831c39e6f22004d8720864f1a60 /cpp/src/Ice/Incoming.cpp | |
parent | The default LMDB map size for IceGrid and IceStorm is now 10MB (Windows) (diff) | |
download | ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.bz2 ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.tar.xz ice-2029ff368e49fae489b8ec8fc12f7d126b182dfb.zip |
C++11 mapping initial commit
Diffstat (limited to 'cpp/src/Ice/Incoming.cpp')
-rw-r--r-- | cpp/src/Ice/Incoming.cpp | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/cpp/src/Ice/Incoming.cpp b/cpp/src/Ice/Incoming.cpp index 8b7e8a33ea4..55071b685c1 100644 --- a/cpp/src/Ice/Incoming.cpp +++ b/cpp/src/Ice/Incoming.cpp @@ -46,7 +46,12 @@ IceInternal::IncomingBase::IncomingBase(Instance* instance, ResponseHandler* res _responseHandler(responseHandler) { _current.adapter = adapter; +#ifdef ICE_CPP11_MAPPING + ::Ice::ConnectionI* conn = dynamic_cast<::Ice::ConnectionI*>(connection); + _current.con = conn ? dynamic_pointer_cast<::Ice::ConnectionI>(conn->shared_from_this()) : nullptr; +#else _current.con = connection; +#endif _current.requestId = requestId; } @@ -179,7 +184,7 @@ IceInternal::IncomingBase::__warning(const Exception& ex) const if(_current.con) { Ice::ConnectionInfoPtr connInfo = _current.con->getInfo(); - Ice::IPConnectionInfoPtr ipConnInfo = Ice::IPConnectionInfoPtr::dynamicCast(connInfo); + Ice::IPConnectionInfoPtr ipConnInfo = ICE_DYNAMIC_CAST(Ice::IPConnectionInfo, connInfo); if(ipConnInfo) { out << "\nremote host: " << ipConnInfo->remoteAddress << " remote port: " << ipConnInfo->remotePort; @@ -200,7 +205,7 @@ IceInternal::IncomingBase::__warning(const string& msg) const if(_current.con) { Ice::ConnectionInfoPtr connInfo = _current.con->getInfo(); - Ice::IPConnectionInfoPtr ipConnInfo = Ice::IPConnectionInfoPtr::dynamicCast(connInfo); + Ice::IPConnectionInfoPtr ipConnInfo = ICE_DYNAMIC_CAST(Ice::IPConnectionInfo, connInfo); if(ipConnInfo) { out << "\nremote host: " << ipConnInfo->remoteAddress << " remote port: " << ipConnInfo->remotePort; @@ -555,7 +560,14 @@ void IceInternal::Incoming::setActive(IncomingAsync& cb) { assert(_cb == 0); - _cb = &cb; // acquires a ref-count + // + // acquires a ref-count + // +#ifdef ICE_CPP11_MAPPING + _cb = cb.shared_from_this(); +#else + _cb = &cb; +#endif } void |