diff -r 1f0034e370aa -r 71ad690e91f5 javaextensions/wma/mms/pushplugin/src/mmsserverconnectionfactory.cpp --- a/javaextensions/wma/mms/pushplugin/src/mmsserverconnectionfactory.cpp Fri Sep 17 16:44:34 2010 +0300 +++ b/javaextensions/wma/mms/pushplugin/src/mmsserverconnectionfactory.cpp Mon Oct 04 11:29:25 2010 +0300 @@ -90,6 +90,40 @@ JELOG2(EWMA); } +ServerConnection& +MmsServerConnectionFactory::createPushServerConn(const std::wstring& aUri, + const std::wstring& aFilter, + ConnectionListener* aListener, + PendingConnectionListener* aPendingConnListener) +{ + JELOG2(EWMA); + ScopedLock lockObj(mMutex); + + SrvConnContainerIter_t iter = mServerConnections.find(aUri); + if (iter != mServerConnections.end()) + { + if ((SrvConnContainerData::NORMAL == iter->second.connType())) + { + LOG(EWMA,EInfo,"Clearing Unregister flag"); + MmsServerConnection* serverConn = 0; + serverConn = reinterpret_cast(iter->second.getConn()); + serverConn->clearUnregister(); + } + } + return ServerConnectionFactoryBase::createPushServerConn(aUri,aFilter, + aListener,aPendingConnListener); +} + +void MmsServerConnectionFactory::deletePushConnection(const std::wstring& aUri) +{ + JELOG2(EWMA); + LOG1(EWMA,EInfo,"MmsServerConnection on ID %S", aUri.c_str()); + MmsServerConnection* serverConn = 0; + serverConn = reinterpret_cast(getPushConnection(aUri)); + if (0 != serverConn) + serverConn->setUnregister(); + ServerConnectionFactoryBase::deletePushConnection(aUri); +} /** * */