diff -r 3785f754ee62 -r 5360b7ddc251 upnpavcontroller/upnpavcontrollerserver/inc/upnpavcontrollerimpl.h --- a/upnpavcontroller/upnpavcontrollerserver/inc/upnpavcontrollerimpl.h Fri Sep 17 08:31:21 2010 +0300 +++ b/upnpavcontroller/upnpavcontrollerserver/inc/upnpavcontrollerimpl.h Mon Nov 01 12:37:49 2010 +0200 @@ -1,547 +1,653 @@ -/* -* 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: AV Controller Implementation -* -*/ - - - - - - - -#ifndef C_UPNPAVCONTROLLERIMPL_H -#define C_UPNPAVCONTROLLERIMPL_H - -// INDLUDE FILES -#include -#include -#include -#include "upnpavcontrollerglobals.h" -#include "upnpconnectionmonitorobserver.h" - -// FORWARD DECLARATIONS -class MUPnPAVDeviceObserver; -class MUPnPAVMediaObserver; -class MUPnPAVFileObserver; -class CUPnPPlaybackSession; -class CUpnpAVControllerServer; -class CUpnpAVDevice; -class CUpnpHttpMessage; -class CUpnpDevice; -class CUpnpAVDeviceExtended; -class CUPnPBrowsingSession; -class CUpnpDeviceDiscoveryMessage; - -class CUPnPUploadSession; -class CUPnPDownloadSession; - -/** - * AV Controller server side implementation. Impmements the base session. - * Rendering and browsing sessions are created from this session. - * Handles device discovery and fetching of device listst. - * - * @lib upnpavcontrollerclient.lib - * @since S60 v3.1 - */ -class CUPnPAVControllerImpl : public CBase, - public MUPnPConnectionMonitorObserver - - { - -public: - - /** - * Two-phased constructor. - * - * @param aControlPoint control point reference - * @param aClient media server client reference - * @param aDispatcher callback dispatcher reference - * @param aServer server class reference - */ - static CUPnPAVControllerImpl* NewL - ( - RUpnpMediaServerClient& aClient, - CUpnpAVControllerServer& aServer - ); - - /** - * Destructor - */ - virtual ~CUPnPAVControllerImpl(); - -private: - - /** - * Private constructor - * - * @param aControlPoint control point reference - * @param aClient media server client reference - * @param aDispatcher callback dispatcher reference - * @param aServer server class reference - */ - CUPnPAVControllerImpl - ( - RUpnpMediaServerClient& aClient, - CUpnpAVControllerServer& aServer - ); - - /** - * Destructor - */ - void ConstructL(); - -public: // From MUPnPConnectionMonitorObserver - - /** - * See upnpconnectionmonitorobserver.h - */ - void ConnectionLost(); - -public: // New functions - - /** - * Handles UPnP device discoveries. - * @since Series 60 2.6 - * @param aDevice Device that is discovered. - */ - void DeviceDiscoveredL( CUpnpAVDeviceExtended& aDevice ); - - /** - * Handles UPnP device disappears. - * @since Series 60 2.6 - * @param aDevice Device that disappeared. - */ - void DeviceDisappearedL( CUpnpAVDeviceExtended& aDevice ); - - - /** - * Enables device discovery by storing a message to server side, which - * is completed when a device has been discovered. - * - * @param aMessage message - */ - void EnableDeviceDiscoveryL( const RMessage2& aMessage ); - - /** - * Disables (cancels) device discovery (and message). - */ - void DisableDeviceDiscoveryL(); - - /** - * Returns a discovered/disappeared device to client side. - * - * @param aMessage message - */ - void GetDeviceL( const RMessage2& aMessage ); - - /** - * Returns the size of device list to client side. - * - * @param aMessage message - */ - void GetDeviceListSizeL( const RMessage2& aMessage ); - - /** - * Returns the device list to client side. - * - * @param aMessage message - */ - void GetDeviceListL( const RMessage2& aMessage ); - - /** - * Creates a rendering session. - * - * @param aMessage message - */ - void CreateRenderingSessionL( const RMessage2& aMessage ); - - /** - * Destroys a rendering session - * - * @param aMessage message - */ - void DestroyRenderingSessionL( const RMessage2& aMessage ); - - /** - * Enables (unsolicited) eventing from a remote device. Stores - * the message in to redering session to return an event. - * - * @param aMessage message - */ - void EventRequestL( const RMessage2& aMessage ); - - /** - * Cancels eventing message. - * - * @param aMessage message - */ - void CancelEventRequestL( const RMessage2& aMessage ); - - /** - * Sets URI - * - * @param aMessage message - */ - void SetURIL( const RMessage2& aMessage ); - - /** - * Cancels SetURI (basically just ignores the result) - * - * @param aMessage message - */ - void CancelSetURIL( const RMessage2& aMessage ); - - /** - * Sets Next URI - * - * @param aMessage message - */ - void SetNextURIL( const RMessage2& aMessage ); - - /** - * Cancels SetNextURI (basically just ignores the result) - * - * @param aMessage message - */ - void CancelSetNextURIL( const RMessage2& aMessage ); - - /** - * Send the play-action - * - * @param aMessage message - */ - void PlayL( const RMessage2& aMessage ); - - /** - * Cancels the play-action (basically just ignores the result) - * - * @param aMessage message - */ - void CancelPlayL( const RMessage2& aMessage ); - - /** - * Send the stop-action - * - * @param aMessage message - */ - void StopL( const RMessage2& aMessage ); - - /** - * Cancels stop (basically just ignores the result) - * - * @param aMessage message - */ - void CancelStopL( const RMessage2& aMessage ); - - /** - * Send the pause-action - * - * @param aMessage message - */ - void PauseL( const RMessage2& aMessage ); - - /** - * Cancels pause (basically just ignores the result) - * - * @param aMessage message - */ - void CancelPauseL( const RMessage2& aMessage ); - - /** - * Send the setvolume-action - * - * @param aMessage message - */ - void SetVolumeL( const RMessage2& aMessage ); - - /** - * Cancels setvolume (basically just ignores the result) - * - * @param aMessage message - */ - void CancelSetVolumeL( const RMessage2& aMessage ); - - /** - * Send the getvolume-action - * - * @param aMessage message - */ - void GetVolumeL( const RMessage2& aMessage ); - - /** - * Cancels getvolume (basically just ignores the result) - * - * @param aMessage message - */ - void CancelGetVolumeL( const RMessage2& aMessage ); - - /** - * Send the setmute-action - * - * @param aMessage message - */ - void SetMuteL( const RMessage2& aMessage ); - - /** - * Cancels setmute (basically just ignores the result) - * - * @param aMessage message - */ - void CancelSetMuteL( const RMessage2& aMessage ); - - /** - * Send the getmute-action - * - * @param aMessage message - */ - void GetMuteL( const RMessage2& aMessage ); - - /** - * Cancels getmute (basically just ignores the result) - * - * @param aMessage message - */ - void CancelGetMuteL( const RMessage2& aMessage ); - - /** - * Send the getpositioninfo-action - * - * @param aMessage message - */ - void GetPositionInfoL( const RMessage2& aMessage ); - - /** - * Cancels getpositioninfo (basically just ignores the result) - * - * @param aMessage message - */ - void CancelGetPositionInfoL( const RMessage2& aMessage ); - - /** - * Create a browsing session - * - * @param aMessage message - */ - void CreateBrowsingSessionL( const RMessage2& aMessage ); - - /** - * Destroy a browsing session - * - * @param aMessage message - */ - void DestroyBrowsingSessionL( const RMessage2& aMessage ); - - /** - * Get browse response (return the size of it to client side) - * - * @param aMessage message - */ - void GetBrowseResponseSizeL( const RMessage2& aMessage ); - - /** - * Cancel get browse response (ignore result) - * - * @param aMessage message - */ - void CancelGetBrowseResponseSizeL( const RMessage2& aMessage ); - - /** - * Return browse response to client side - * - * @param aMessage message - */ - void GetBrowseResponseL( const RMessage2& aMessage ); - - /** - * Get search response (return the size of it to client side) - * - * @param aMessage message - */ - void GetSearchResponseSizeL( const RMessage2& aMessage ); - - /** - * Cancel search response (ignore result) - * - * @param aMessage message - */ - void CancelGetSearchResponseSizeL( const RMessage2& aMessage ); - - /** - * Return search response to client side - * - * @param aMessage message - */ - void GetSearchResponseL( const RMessage2& aMessage ); - - /** - * Get search capabilities (return the size of it to client side) - * - * @param aMessage message - */ - void GetSearchCapabitiesSizeL( const RMessage2& aMessage ); - - /** - * Cancel get search capabilities (ignore result) - * - * @param aMessage message - */ - void CancelGetSearchCapabitiesSizeL( const RMessage2& aMessage ); - - /** - * Return search capabilities to client side - * - * @param aMessage message - */ - void GetSearchCapabitiesL( const RMessage2& aMessage ); - - /** - * Create container action. - * - * @param aMessage message - */ - void CreateContainerL( const RMessage2& aMessage ); - - /** - * Cancels create container. - * - * @param aMessage message - */ - void CancelCreateContainerL( const RMessage2& aMessage ); - - /** - * Delete object action - * - * @param aMessage message - */ - void DeleteObjectL( const RMessage2& aMessage ); - - /** - * Cancels delete object - * - * @param aMessage message - */ - void CancelDeleteObjectL( const RMessage2& aMessage ); - - /** - * Stores a message in to rendering or browsing session, which is - * completed when the session specific device has disappeared. As a - * result the client knows that the device is no longer available and - * the session has became absolete. - * - * @param aMessage message - */ - void DeviceDisappearedRequestL( const RMessage2& aMessage ); - - /** - * Cancels the msg. - * - * @param aMessage message - */ - void CancelDeviceDisappearedRequestL( const RMessage2& aMessage ); - - /** - * Stores a message in to base session, which is completed when the - * WLAN is disconnected. - * - * @param aMessage message - */ - void MonitorConnectionL( const RMessage2& aMessage ); - - /** - * Cancels the msg. - * - * @param aMessage message - */ - void CancelMonitorConnectionL( const RMessage2& aMessage ); - - void CreateDownloadSessionL( const RMessage2& aMessage ); - - void DestroyDownloadSessionL( const RMessage2& aMessage ); - - void StartDownloadL( const RMessage2& aMessage ); - - void StartDownloadFHL( const RMessage2& aMessage ); - - void CancelDownloadL( const RMessage2& aMessage ); - - void CancelAllDownloadsL( const RMessage2& aMessage ); - - void StartTrackingDownloadProgressL( const RMessage2& aMessage ); - - void StopTrackingDownloadProgressL( const RMessage2& aMessage ); - - void GetDownloadEventL( const RMessage2& aMessage ); - - void CancelGetDownloadEventL( const RMessage2& aMessage ); - - void CreateUploadSessionL( const RMessage2& aMessage ); - - void DestroyUploadSessionL( const RMessage2& aMessage ); - - void StartUploadL( const RMessage2& aMessage ); - - void CancelUploadL( const RMessage2& aMessage ); - - void CancelAllUploadsL( const RMessage2& aMessage ); - - void StartTrackingUploadProgressL( const RMessage2& aMessage ); - - void StopTrackingUploadProgressL( const RMessage2& aMessage ); - - void GetUploadEventL( const RMessage2& aMessage ); - - void CancelGetUploadEventL( const RMessage2& aMessage ); - -private: - - /** - * Device queu handling. Checks the queu and dequeus it if needed. - * - * @param aDevice av device - * @param aType discovered/disappeared - */ - void DequeDeviceL( const CUpnpAVDevice& aDevice, - TAVControllerDeviceDiscovery aType ); - -private: - - RUpnpMediaServerClient& iMediaServer; // Not own - - CUpnpAVControllerServer& iServer; // Not own - - RMessage2* iDeviceDiscoveryMsg; // Own - - TBool iDeviceDiscoveryEnabled; - - RMessage2* iConnectionMsg; // Own - - HBufC8* iDeviceRespBuf; // Own - - HBufC8* iDeviceListRespBuf; // Own - - RPointerArray iPlaybackSessions; // Own - - RPointerArray iBrowsingSessions; // Own - - RPointerArray iUploadSessions; // Own - - RPointerArray iDownloadSessions; // Own - - - TSglQue iDeviceMsgQue; // Own - TSglQueIter iDeviceMsgQueIter; - }; - -#endif // C_UPNPAVCONTROLLERIMPL_H +/* +* Copyright (c) 2006-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: AV Controller Implementation +* +*/ + + + + + + + +#ifndef C_UPNPAVCONTROLLERIMPL_H +#define C_UPNPAVCONTROLLERIMPL_H + +// INDLUDE FILES +#include +#include "upnpavcontrollerglobals.h" + +// FORWARD DECLARATIONS + +class CUPnPPlaybackSession; +class CUpnpAVControllerServer; +class CUpnpAVDevice; +class CUpnpAVDeviceExtended; +class CUPnPBrowsingSession; +class CUpnpDeviceDiscoveryMessage; +class CUPnPUploadSession; +class CUPnPDownloadSession; + +/** + * AV Controller server side implementation. Impmements the base session. + * Rendering and browsing sessions are created from this session. + * Handles device discovery and fetching of device listst. + * + * @exe upnpavcontrollerserver.exe + * @since S60 v3.1 + */ +class CUPnPAVControllerImpl : public CBase + + { + +public: + + /** + * Two-phased constructor. + * + * @param aClient media server client reference + * @param aServer server class reference + */ + static CUPnPAVControllerImpl* NewL + ( + CUpnpAVControllerServer& aServer + ); + + /** + * Destructor + */ + virtual ~CUPnPAVControllerImpl(); + +private: + + /** + * Private constructor + * + * @param aClient media server client reference + * @param aServer server class reference + */ + CUPnPAVControllerImpl( CUpnpAVControllerServer& aServer ); + + /** + * Destructor + */ + void ConstructL(); + +public: // New functions + + /** + * Handles connection lost. + */ + void ConnectionLost(); + + /** + * Handles UPnP device discoveries. + * @since Series 60 2.6 + * @param aDevice Device that is discovered. + */ + void DeviceDiscoveredL( CUpnpAVDeviceExtended& aDevice ); + + /** + * Handles UPnP device disappears. + * @since Series 60 2.6 + * @param aDevice Device that disappeared. + */ + void DeviceDisappearedL( CUpnpAVDeviceExtended& aDevice ); + + /** + * Handles UPnP device icon download completions. + * @param aDevice Device that's icon was downloaded. + */ + void DeviceIconDownloadedL( CUpnpAVDeviceExtended& aDevice ); + + /** + * Enables device discovery by storing a message to server side, which + * is completed when a device has been discovered. + * + * @param aMessage message + */ + void EnableDeviceDiscoveryL( const RMessage2& aMessage ); + + /** + * Disables (cancels) device discovery (and message). + */ + void DisableDeviceDiscoveryL(); + + /** + * Returns a discovered/disappeared device to client side. + * + * @param aMessage message + */ + void GetDeviceL( const RMessage2& aMessage ); + + /** + * Returns the size of device list to client side. + * + * @param aMessage message + */ + void GetDeviceListSizeL( const RMessage2& aMessage ); + + /** + * Returns the device list to client side. + * + * @param aMessage message + */ + void GetDeviceListL( const RMessage2& aMessage ); + + /** + * Returns the icon to client side. + * + * @param aMessage message + */ + void GetDeviceIconRequestL( const RMessage2& aMessage ); + + /** + * Creates a rendering session. + * + * @param aMessage message + */ + void CreateRenderingSessionL( const RMessage2& aMessage ); + + /** + * Destroys a rendering session + * + * @param aMessage message + */ + void DestroyRenderingSessionL( const RMessage2& aMessage ); + + /** + * Enables (unsolicited) eventing from a remote device. Stores + * the message in to redering session to return an event. + * + * @param aMessage message + */ + void EventRequestL( const RMessage2& aMessage ); + + /** + * Cancels eventing message. + * + * @param aMessage message + */ + void CancelEventRequestL( const RMessage2& aMessage ); + + /** + * Sets URI + * + * @param aMessage message + */ + void SetURIL( const RMessage2& aMessage ); + + /** + * Cancels SetURI (basically just ignores the result) + * + * @param aMessage message + */ + void CancelSetURIL( const RMessage2& aMessage ); + + /** + * Sets Next URI + * + * @param aMessage message + */ + void SetNextURIL( const RMessage2& aMessage ); + + /** + * Cancels SetNextURI (basically just ignores the result) + * + * @param aMessage message + */ + void CancelSetNextURIL( const RMessage2& aMessage ); + + /** + * Send the play-action + * + * @param aMessage message + */ + void PlayL( const RMessage2& aMessage ); + + /** + * Cancels the play-action (basically just ignores the result) + * + * @param aMessage message + */ + void CancelPlayL( const RMessage2& aMessage ); + + /** + * Send the stop-action + * + * @param aMessage message + */ + void StopL( const RMessage2& aMessage ); + + /** + * Cancels stop (basically just ignores the result) + * + * @param aMessage message + */ + void CancelStopL( const RMessage2& aMessage ); + + /** + * Send the pause-action + * + * @param aMessage message + */ + void PauseL( const RMessage2& aMessage ); + + /** + * Cancels pause (basically just ignores the result) + * + * @param aMessage message + */ + void CancelPauseL( const RMessage2& aMessage ); + + /** + * Send the setvolume-action + * + * @param aMessage message + */ + void SetVolumeL( const RMessage2& aMessage ); + + /** + * Cancels setvolume (basically just ignores the result) + * + * @param aMessage message + */ + void CancelSetVolumeL( const RMessage2& aMessage ); + + /** + * Send the getvolume-action + * + * @param aMessage message + */ + void GetVolumeL( const RMessage2& aMessage ); + + /** + * Cancels getvolume (basically just ignores the result) + * + * @param aMessage message + */ + void CancelGetVolumeL( const RMessage2& aMessage ); + + /** + * Send the setmute-action + * + * @param aMessage message + */ + void SetMuteL( const RMessage2& aMessage ); + + /** + * Cancels setmute (basically just ignores the result) + * + * @param aMessage message + */ + void CancelSetMuteL( const RMessage2& aMessage ); + + /** + * Send the getmute-action + * + * @param aMessage message + */ + void GetMuteL( const RMessage2& aMessage ); + + /** + * Cancels getmute (basically just ignores the result) + * + * @param aMessage message + */ + void CancelGetMuteL( const RMessage2& aMessage ); + + /** + * Send the getpositioninfo-action + * + * @param aMessage message + */ + void GetPositionInfoL( const RMessage2& aMessage ); + + /** + * Cancels getpositioninfo (basically just ignores the result) + * + * @param aMessage message + */ + void CancelGetPositionInfoL( const RMessage2& aMessage ); + + /** + * Send the seek action with unit REL_TIME. + * + * @param aMessage message + */ + void SeekRelTimeL( const RMessage2& aMessage ); + + /** + * Get initial state of the renderer + * + * @param aMessage message + */ + void GetRendererStateL( const RMessage2& aMessage ); + + /** + * Cancels seeking with unit REL_TIME (basically just ignores the result). + * + * @param aMessage message + */ + void CancelSeekRelTimeL( const RMessage2& aMessage ); + + /** + * Create a browsing session + * + * @param aMessage message + */ + void CreateBrowsingSessionL( const RMessage2& aMessage ); + + /** + * Destroy a browsing session + * + * @param aMessage message + */ + void DestroyBrowsingSessionL( const RMessage2& aMessage ); + + /** + * Get browse response (return the size of it to client side) + * + * @param aMessage message + */ + void GetBrowseResponseSizeL( const RMessage2& aMessage ); + + /** + * Cancel get browse response (ignore result) + * + * @param aMessage message + */ + void CancelGetBrowseResponseSizeL( const RMessage2& aMessage ); + + /** + * Return browse response to client side + * + * @param aMessage message + */ + void GetBrowseResponseL( const RMessage2& aMessage ); + + /** + * Get search response (return the size of it to client side) + * + * @param aMessage message + */ + void GetSearchResponseSizeL( const RMessage2& aMessage ); + + /** + * Cancel search response (ignore result) + * + * @param aMessage message + */ + void CancelGetSearchResponseSizeL( const RMessage2& aMessage ); + + /** + * Return search response to client side + * + * @param aMessage message + */ + void GetSearchResponseL( const RMessage2& aMessage ); + + /** + * Get search capabilities (return the size of it to client side) + * + * @param aMessage message + */ + void GetSearchCapabitiesSizeL( const RMessage2& aMessage ); + + /** + * Cancel get search capabilities (ignore result) + * + * @param aMessage message + */ + void CancelGetSearchCapabitiesSizeL( const RMessage2& aMessage ); + + /** + * Return search capabilities to client side + * + * @param aMessage message + */ + void GetSearchCapabitiesL( const RMessage2& aMessage ); + + /** + * Create container action. + * + * @param aMessage message + */ + void CreateContainerL( const RMessage2& aMessage ); + + /** + * Cancels create container. + * + * @param aMessage message + */ + void CancelCreateContainerL( const RMessage2& aMessage ); + + /** + * Delete object action + * + * @param aMessage message + */ + void DeleteObjectL( const RMessage2& aMessage ); + + /** + * Cancels delete object + * + * @param aMessage message + */ + void CancelDeleteObjectL( const RMessage2& aMessage ); + + /** + * Stores a message in to rendering or browsing session, which is + * completed when the session specific device has disappeared. As a + * result the client knows that the device is no longer available and + * the session has became absolete. + * + * @param aMessage message + */ + void DeviceDisappearedRequestL( const RMessage2& aMessage ); + + /** + * Cancels the msg. + * + * @param aMessage message + */ + void CancelDeviceDisappearedRequestL( const RMessage2& aMessage ); + + /** + * Stores a message in to base session, which is completed when the + * WLAN is disconnected. + * + * @param aMessage message + */ + void MonitorConnectionL( const RMessage2& aMessage ); + + /** + * Cancels the connection monitoring message. + * + * @param aMessage message + */ + void CancelMonitorConnectionL( const RMessage2& aMessage ); + + /** + * Create a download session + * + * @param aMessage message + */ + void CreateDownloadSessionL( const RMessage2& aMessage ); + + /** + * Destroy the download session + * + * @param aMessage message + */ + void DestroyDownloadSessionL( const RMessage2& aMessage ); + + /** + * Start download + * + * @param aMessage message + */ + void StartDownloadL( const RMessage2& aMessage ); + + /** + * Start FHL download. + * + * @param aMessage message + */ + void StartDownloadFHL( const RMessage2& aMessage ); + + /** + * Cancel download + * + * @param aMessage message + */ + void CancelDownloadL( const RMessage2& aMessage ); + + /** + * Cancel all download + * + * @param aMessage message + */ + void CancelAllDownloadsL( const RMessage2& aMessage ); + + /** + * Start tracking the download progress + * + * @param aMessage message + */ + void StartTrackingDownloadProgressL( const RMessage2& aMessage ); + + /** + * Stop tracking the download progress + * + * @param aMessage message + */ + void StopTrackingDownloadProgressL( const RMessage2& aMessage ); + + /** + * Get download event + * + * @param aMessage message + */ + void GetDownloadEventL( const RMessage2& aMessage ); + + /** + * Cancel download event + * + * @param aMessage message + */ + void CancelGetDownloadEventL( const RMessage2& aMessage ); + + /** + * Create upload session + * + * @param aMessage message + */ + void CreateUploadSessionL( const RMessage2& aMessage ); + + /** + * Destroy upload session + * + * @param aMessage message + */ + void DestroyUploadSessionL( const RMessage2& aMessage ); + + /** + * Start upload + * + * @param aMessage message + */ + void StartUploadL( const RMessage2& aMessage ); + + /** + * Cancel upload + * + * @param aMessage message + */ + void CancelUploadL( const RMessage2& aMessage ); + + /** + * Cancel all upload + * + * @param aMessage message + */ + void CancelAllUploadsL( const RMessage2& aMessage ); + + /** + * Start tracking the upload progress + * + * @param aMessage message + */ + void StartTrackingUploadProgressL( const RMessage2& aMessage ); + + /** + * Stop tracking upload progress + * + * @param aMessage message + */ + void StopTrackingUploadProgressL( const RMessage2& aMessage ); + + /** + * Get upload event + * + * @param aMessage message + */ + void GetUploadEventL( const RMessage2& aMessage ); + + /** + * Cancel get upload event + * + * @param aMessage message + */ + void CancelGetUploadEventL( const RMessage2& aMessage ); + +private: + + /** + * Device queu handling. Checks the queu and dequeus it if needed. + * + * @param aDevice av device + * @param aType discovered/disappeared + */ + void DequeDeviceL( const CUpnpAVDevice& aDevice, + TAVControllerDeviceDiscovery aType ); + +private: + + CUpnpAVControllerServer& iServer; // Not own + + RMessage2* iDeviceDiscoveryMsg; // Own + + TBool iDeviceDiscoveryEnabled; + + RMessage2* iConnectionMsg; // Own + + HBufC8* iDeviceRespBuf; // Own + + HBufC8* iDeviceListRespBuf; // Own + + RPointerArray iPlaybackSessions; // Own + + RPointerArray iBrowsingSessions; // Own + + RPointerArray iUploadSessions; // Own + + RPointerArray iDownloadSessions; // Own + + + TSglQue iDeviceMsgQue; // Own + TSglQueIter iDeviceMsgQueIter; + }; + +#endif // C_UPNPAVCONTROLLERIMPL_H