diff -r 000000000000 -r 7f85d04be362 upnpavcontroller/upnpavcontrollerserver/src/upnpavdispatcher.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/upnpavcontroller/upnpavcontrollerserver/src/upnpavdispatcher.cpp Thu Dec 17 08:52:00 2009 +0200 @@ -0,0 +1,1072 @@ +/* +* Copyright (c) 2006 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: dispatches control point events to AVController clients +* +*/ + + + + + + +// INCLUDE FILES + +#include "upnpavdispatcher.h" + +#include "upnpavactioninfo.h" +#include "upnpavcontrolpointobserver.h" +//#include "upnpavcontrollerimpl.h" +#include "upnpavcontrollerserver.h" + +_LIT( KComponentLogfile, "CUPnPAVDispatcher.txt"); +#include "upnplog.h" + +// ============================ MEMBER FUNCTIONS ============================ + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::CUPnPAVDispatcher +// C++ default constructor can NOT contain any code, that +// might leave. +// -------------------------------------------------------------------------- +// +CUPnPAVDispatcher::CUPnPAVDispatcher( CUpnpAVControllerServer& aServer ) : + iServer( aServer ) + { + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::ConstructL +// Symbian 2nd phase constructor can leave. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::ConstructL() + { + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewL +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +CUPnPAVDispatcher* CUPnPAVDispatcher::NewL( CUpnpAVControllerServer& aServer ) + { + CUPnPAVDispatcher* self = NewLC( aServer); + CleanupStack::Pop( self ); + return self; + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +CUPnPAVDispatcher* CUPnPAVDispatcher::NewLC( + CUpnpAVControllerServer& aServer ) + { + CUPnPAVDispatcher* self = new( ELeave ) + CUPnPAVDispatcher( aServer ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + + +// Destructor +CUPnPAVDispatcher::~CUPnPAVDispatcher() + { + iActionInfos.ResetAndDestroy(); +// iActionInfosDevice.ResetAndDestroy(); + iActionInfosEvent.ResetAndDestroy(); + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::RcSetVolumeResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstance, + const TDesC8& aChannel, + const TDesC8& aDesiredVolume) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.RcSetVolumeResponse( aUuid, aSessionId, aErr, aInstance, aChannel, + aDesiredVolume ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::RcVolumeResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstance, + const TDesC8& aChannel, + const TDesC8& aCurrentVolume) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.RcVolumeResponse( aUuid, aSessionId, aErr, aInstance, aChannel, + aCurrentVolume ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::RcSetMuteResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstance, + const TDesC8& aChannel, + const TDesC8& aDesiredMute) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + + obs.RcSetMuteResponse( aUuid, aSessionId, aErr, aInstance, aChannel, + aDesiredMute ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::RcMuteResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstance, + const TDesC8& aChannel, + const TDesC8& aCurrentMute) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + + obs.RcMuteResponse( aUuid, aSessionId, aErr, aInstance, aChannel, + aCurrentMute ); + } + } + + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtSetTransportUriResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstanceId, + const TDesC8& aCurrentUri, + const TDesC8& aCurrentUriMetaData) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.AvtSetTransportUriResponse( aUuid, aSessionId, aErr, aInstanceId, + aCurrentUri, aCurrentUriMetaData ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtSetNextTransportUriResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstanceId, + const TDesC8& aNextUri, + const TDesC8& aNextUriMetaData ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.AvtSetNextTransportUriResponse( aUuid, aSessionId, aErr, + aInstanceId, aNextUri, aNextUriMetaData ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtMediaInfoResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aNrTracks*/, + const TDesC8& /*aMediaDuration*/, + const TDesC8& /*aCurrentUri*/, + const TDesC8& /*aCurrentUriMetaData*/, + const TDesC8& /*aNextUri*/, + const TDesC8& /*aNextUriMetaData*/, + const TDesC8& /*aPlayMedium*/, + const TDesC8& /*aRecordMedium*/, + const TDesC8& /*aWriteStatus*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtGetTransportInfoResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aCurrenTransportState*/, + const TDesC8& /*aCurrentTransportStatus*/, + const TDesC8& /*aCurrentSpeed*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtPositionInfoResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstanceId, + const TDesC8& aTrack, + const TDesC8& aTrackDuration, + const TDesC8& aTrackMetaData, + const TDesC8& aTrackURI, + const TDesC8& aRelTime, + const TDesC8& aAbsTime, + const TDesC8& aRelCount, + const TDesC8& aAbsCount) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.AvtPositionInfoResponse( aUuid, aSessionId, aErr, + aInstanceId, aTrack, aTrackDuration, aTrackMetaData, + aTrackURI, aRelTime, aAbsTime, aRelCount, aAbsCount ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtDeviceCapabilitiesResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aPlayMedia*/, + const TDesC8& /*aRecMedia*/, + const TDesC8& /*aRecQualityMode*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtTransportSettingsResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aPlayMode*/, + const TDesC8& /*aRecQualityMode*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtStopResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstanceId) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.AvtStopResponse( aUuid, aSessionId, aErr, aInstanceId ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtPlayResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstanceId, + const TDesC8& aSpeed) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.AvtPlayResponse( aUuid, aSessionId, aErr, aInstanceId, + aSpeed ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtPauseResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aInstanceId) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.AvtPauseResponse( aUuid, aSessionId, aErr, aInstanceId ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtRecordResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtSeekResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aUnit*/, + const TDesC8& /*aTarget*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtNextResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtPreviousResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtSetPlayModeResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aNewPlayMode*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtSetRecordModeResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aInstanceId*/, + const TDesC8& /*aNewRecordQuality*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsSearchCapabilitiesResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aSearchCaps) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsSearchCapabilitiesResponse( aUuid, aSessionId, aErr, + aSearchCaps ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsSortCapabilitiesResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aSortCaps*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsSystemUpdateIdResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + TInt /*aSystemUpdateId*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsBrowseResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aObjectID, + const TDesC8& aBrowseFlag, + const TDesC8& aFilter, + TInt aIndex, + TInt aRequest, + const TDesC8& aSortCriteria, + const TDesC8& aResult, + TInt aReturned, + TInt aMatches, + const TDesC8& aUpdateID) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsBrowseResponse( aUuid, aSessionId, aErr, aObjectID, + aBrowseFlag, aFilter, aIndex, aRequest, aSortCriteria, + aResult, aReturned, aMatches, aUpdateID ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsSearchResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aContainerId, + const TDesC8& aSearchCriteria, + const TDesC8& aFilter, + TInt aIndex, + TInt aRequest, + const TDesC8& aSortCriteria, + const TDesC8& aResult, + TInt aReturned, + TInt aMatches, + const TDesC8& aUpdateID) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsSearchResponse( aUuid, aSessionId, aErr, aContainerId, + aSearchCriteria, aFilter, aIndex, aRequest, aSortCriteria, + aResult, aReturned, aMatches, aUpdateID ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsDestroyObjectResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aObjectId ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsDestroyObjectResponse( aUuid, aSessionId, aErr, aObjectId ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsUpdateObjectResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aObjectId*/, + const TDesC8& /*aCurrentTagValue*/, + const TDesC8& /*aNewTagValue*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsImportResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aSourceURI, + const TDesC8& aDestinationURI, + const TDesC8& aTransferId ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsImportResponse( aUuid, aSessionId, aErr, aSourceURI, + aDestinationURI, aTransferId ); + } + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsExportResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aSourceURI, + const TDesC8& aDestinationURI, + const TDesC8& aTransferId ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsExportResponse( aUuid, aSessionId, aErr, aSourceURI, + aDestinationURI, aTransferId ); + } + + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsStopTransferResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aTransferId ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsStopTransferResponse( aUuid, aSessionId, aErr, aTransferId ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsCTransferProgressResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aTransferId, + const TDesC8& aTransferStatus, + const TDesC8& aTransferLength, + const TDesC8& aTransferTotal ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsCTransferProgressResponse( aUuid, aSessionId, + aErr, aTransferId, aTransferStatus, aTransferLength, + aTransferTotal ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsDeleteResourceResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aResourceUri*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsCreateReferenceResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aContainerId*/, + const TDesC8& /*aObjectId*/, + const TDesC8& /*aNewId*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsCreateObjectResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aContainerID, + const TDesC8& aElements, + const TDesC8& aObjectID, + const TDesC8& aResult ) + { + MUpnpAVControlPointObserver& obs = FindObserver( aSessionId ); + if( &obs ) + { + obs.CdsCreateObjectResponse( aUuid, aSessionId, aErr, aContainerID, + aElements, aObjectID, aResult ); + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmProtocolInfoResponse( + const TDesC8& aUuid, + TInt aSessionId, + TInt aErr, + const TDesC8& aSource, + const TDesC8& aSink ) + { + iServer.CmProtocolInfoResponse( aUuid, aSessionId, aErr, aSource, aSink ); + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmPrepareResponse( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aRemoteProtocolInfo*/, + const TDesC8& /*aPeerConnectionManager*/, + const TDesC8& /*aPeerConnectionId*/, + const TDesC8& /*aDirection*/, + TInt /*aConnection*/, + TInt /*aTransport*/, + TInt /*aRsc*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmComplete( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + TInt /*aConnection*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmCurrentConnections( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + const TDesC8& /*aConnections*/) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmCurrentInfo( + const TDesC8& /*aUuid*/, + TInt /*aSessionId*/, + TInt /*aErr*/, + TInt /*rscId*/, + TInt /*transportId*/, + const TDesC8& /*aProtocolInfo*/, + const TDesC8& /*aPeerConnectionManager*/, + TInt /*peerId*/, + const TDesC8& /*aDirection*/, + const TDesC8& /*aStatus*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsUpdateEvent( + const TDesC8& /*aUuid*/, + TInt /*aSystemUpdateId*/ + ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsContainerEvent( + const TDesC8& /*aUuid*/, + const TDesC8& /*aConteinerIds*/ + ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CdsTransferEvent( + const TDesC8& /*aUuid*/, + const TDesC8& /*aTransferIds*/ + ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::RcLastChangeEvent( + const TDesC8& aUuid, + const TDesC8& aLastChange + ) + { + // Forward to each observer + TInt tempCount = iActionInfosEvent.Count(); + + for( TInt i = 0; i < tempCount; i++ ) + { + if( aUuid == iActionInfosEvent[ i ]->Uuid() ) + { + iActionInfosEvent[ i ]->Observer().RcLastChangeEvent( + aUuid, aLastChange ); + } + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::AvtLastChangeEvent( + const TDesC8& aUuid, + const TDesC8& aLastChange + ) + { + // Forward to each observer + TInt tempCount = iActionInfosEvent.Count(); + + for( TInt i = 0; i < tempCount; i++ ) + { + if( aUuid == iActionInfosEvent[ i ]->Uuid() ) + { + iActionInfosEvent[ i ]->Observer().AvtLastChangeEvent( + aUuid, aLastChange ); + } + } + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmSourceEvent( + const TDesC8& /*aUuid*/, + const TDesC8& /*aSource*/ + ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmSinkEvent( + const TDesC8& /*aUuid*/, + const TDesC8& /*aSink*/ + ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::CmConnectionsEvent( + const TDesC8& /*aUuid*/, + const TDesC8& /*aConnections*/ + ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::HttpResponseL( CUpnpHttpMessage* /*aMessage*/ ) + { + + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::DeviceDiscoveredL( CUpnpDevice* aDevice ) + { + __ASSERTD( aDevice, __FILE__, __LINE__ ) + + if( aDevice ) + { + iServer.DeviceDiscoveredL( *aDevice ); + } + else + { + // No can do? + } + } + +// -------------------------------------------------------------------------- +// CUPnPAVDispatcher::NewLC +// Two-phased constructor. +// -------------------------------------------------------------------------- +// +void CUPnPAVDispatcher::DeviceDisappearedL( CUpnpDevice* aDevice ) + { + __ASSERTD( aDevice, __FILE__, __LINE__ ); + + if( aDevice ) + { + iServer.DeviceDisappearedL( *aDevice ); + } + else + { + // No can do? + } + } + +void CUPnPAVDispatcher::RegisterL( TInt aSessionId, + MUpnpAVControlPointObserver& aObserver/*, const TDesC8& aUuid*/ ) + { + CUPnPAVActionInfo* tempInfo = CUPnPAVActionInfo::NewLC(); + tempInfo->SetSessionId( aSessionId ); + tempInfo->SetObserver( aObserver ); + //tempInfo->SetUuidL( aUuid ); + CleanupStack::Pop( tempInfo ); + iActionInfos.Append( tempInfo ); + } + +void CUPnPAVDispatcher::UnRegister( TInt aSessionId + /*, const TDesC8& aUuid*/ ) + { + TInt tempCount = iActionInfos.Count(); + + for( TInt i = 0; i < tempCount; i++ ) + { + if( iActionInfos[ i ]->SessionId() == aSessionId ) + { + delete iActionInfos[ i ]; + iActionInfos.Remove( i ); + i = tempCount; + } + } + } + +MUpnpAVControlPointObserver& CUPnPAVDispatcher::FindObserver( + TInt aSessionId ) + { + MUpnpAVControlPointObserver* tempObserver = NULL; + TInt tempCount = iActionInfos.Count(); + + for( TInt i = 0; i < tempCount; i++ ) + { + if( iActionInfos[ i ]->SessionId() == aSessionId ) + { + tempObserver = &( iActionInfos[ i ]->Observer() ); + i = tempCount; + } + } + return *tempObserver; + } + +void CUPnPAVDispatcher::RegisterForEventsL( + MUpnpAVControlPointObserver& aObserver, const TDesC8& aUuid ) + { + CUPnPAVActionInfo* tempInfo = CUPnPAVActionInfo::NewLC(); + tempInfo->SetObserver( aObserver ); + tempInfo->SetUuidL( aUuid ); + CleanupStack::Pop( tempInfo ); + iActionInfosEvent.Append( tempInfo ); + } + +void CUPnPAVDispatcher::UnRegisterEvents( + MUpnpAVControlPointObserver& aObserver ) + { + TInt tempCount = iActionInfosEvent.Count(); + + for( TInt i = 0; i < tempCount; i++ ) + { + if( &aObserver == &iActionInfosEvent[ i ]->Observer() ) + { + delete iActionInfosEvent[ i ]; + iActionInfosEvent.Remove( i ); + i = tempCount; + } + } + } + + +// End of File +