diff -r 000000000000 -r f5a58ecadc66 servicediscoveryandcontrol/pnp/test/upnp/Server/Flow/src/upnppint.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/servicediscoveryandcontrol/pnp/test/upnp/Server/Flow/src/upnppint.cpp Tue Feb 02 01:12:20 2010 +0200 @@ -0,0 +1,90 @@ +// Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// @file +// @internalComponent +// System Includes +// +// + +#include +#include + +//Local Includes +#include "upnppint.h" +#include "upnpflowbase.h" +#include "upnpflowfactory.h" +#include "httpserver.h" +#include "app_protintf_msgs.h" + +using namespace ESock; +using namespace Messages; + +CUPnPProtocolIntfBase* CUPnPProtocolIntfBase::NewL(CProtocolIntfFactoryBase& aFactory,const TNodeId& aId) + { + CUPnPProtocolIntfBase* protProv = new(ELeave) CUPnPProtocolIntfBase(aFactory, aId); + CleanupStack::PushL(protProv); + protProv->ConstructL(); + CleanupStack::Pop(protProv); + return protProv; + } + +CUPnPProtocolIntfBase::CUPnPProtocolIntfBase ( CProtocolIntfFactoryBase& aFactory,const TNodeId& aId ) + : CProtocolIntfBase ( aFactory, aId ) + { } + +void CUPnPProtocolIntfBase::ConstructL() + { + //The genreric listener. Should be moved to seperate library once EC120 is done. + iAppProtIntfFactoryContainer = CAppProtIntfFactoryContainer::NewL(); + TAppProtIntfMessage::RegisterL(); + } + +CUPnPProtocolIntfBase::~CUPnPProtocolIntfBase () + { + delete iAppProtIntfFactoryContainer; + TAppProtIntfMessage::DeRegister(); + } + +void CUPnPProtocolIntfBase::AddServiceUriL ( const TDesC8& aUri, MHttpEventObserver& aObserver, TNodeCtxId aServiceId, TNodeCtxId aControlProviderId ) + { + if ( !iHttpServer ) + iHttpServer = CHttpServer::NewL (this); + + iHttpServer->AddServiceUriL( aUri, aObserver, aServiceId, aControlProviderId ); + } + +void CUPnPProtocolIntfBase::RemoveServiceUri ( const TDesC8& aUri, TNodeCtxId aServiceId, TNodeCtxId aControlProviderId ) + { + if ( iHttpServer->RemoveServiceUri( aUri, aServiceId, aControlProviderId ) ) + { + iHttpServer = NULL; // httpserver makes self deletion, once listener leave completes + } + } + +void CUPnPProtocolIntfBase::SetChunkManager(CChunkManager* aChunkManager) + { + iMemChunkManager = aChunkManager; + } + +CChunkManager* CUPnPProtocolIntfBase::GetMemoryChunkManager() + { + return iMemChunkManager; + } + +const TNodeId& CUPnPProtocolIntfBase::GetAppProtIntfContainerId() + { + return iAppProtIntfFactoryContainer->Id(); + } + +