diff -r 3785f754ee62 -r 5360b7ddc251 upnpavcontroller/upnpavcontrollerclient/inc/upnpavcontrolleractive.h --- a/upnpavcontroller/upnpavcontrollerclient/inc/upnpavcontrolleractive.h Fri Sep 17 08:31:21 2010 +0300 +++ b/upnpavcontroller/upnpavcontrollerclient/inc/upnpavcontrolleractive.h Mon Nov 01 12:37:49 2010 +0200 @@ -1,228 +1,231 @@ -/* -* 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: AO for monitoring device events -* -*/ - - - - - - - -#ifndef C_UPNPAVCONTROLLERACTIVE_H -#define C_UPNPAVCONTROLLERACTIVE_H - -// INCLUDE FILES -#include -#include "upnpavcontroller.h" - -#include "upnpconnectionmonitorobserver.h" -#include "upnpavcontrollerclient.h" - -// FORWARD DECLARATIONS -class MUPnPAVDeviceObserver; - -class CUPnPAVBrowsingSessionImpl; -class CUPnPAVRenderingSessionImpl; -class CUPnPAVDeviceActive; -class CUPnPAVConnectionActive; -class MUPnPFileDownloadSession; -class MUPnPFileUploadSession; -class CUPnPFileUploadSessionImpl; -class CUPnPFileDownloadSessionImpl; - -/** - * Implements the AV Controller interface - * - * This class implements the AV Controller interface. Provides methods to - * get devices and to start and stop rendering and browsing sessions. - * - * @lib upnpavcontrollerclient.lib - * @since S60 v3.1 - */ -class CUPnPAVControllerActive : public CActive, - public MUPnPAVController, - public MUPnPConnectionMonitorObserver - { - -private: - - /** - * Release (delete) state. Declares state variables to determine if - * deletion is safe. - */ - enum TReleaseState - { - EStateReleasable = 0, - EStateWLANLost, - EStateWaitingForRelease - }; - -public: - - /** - * Static constructor - * - * @param nonr - * @return a new av controller instance - */ - static CUPnPAVControllerActive* NewL(); - - /** - * Static constructor - * - * @param nonr - * @return a new av controller instance - */ - static CUPnPAVControllerActive* NewLC(); - - /** - * Destructor. Ensures safe deletion (also during WLAN disconnection). - */ - virtual void Release(); - - /** - * Destructor - * DEPRACATED, usage of Release() recommended. Will be removed in the - * future. Safe deletion is not guaranteed. - */ - virtual ~CUPnPAVControllerActive(); - -private: - - /** - * 2nd phase construct - */ - CUPnPAVControllerActive(); - - /** - * 2nd phase construct - */ - void ConstructL(); - -protected: // From CActive - - void RunL(); - - void DoCancel(); - - TInt RunError( TInt aError ); - -protected: // From MUPnPAVController - - /** - * See upnpavcontroller.h - */ - void SetDeviceObserver( MUPnPAVDeviceObserver& aObserver ); - - /** - * See upnpavcontroller.h - */ - void RemoveDeviceObserver(); - - /** - * See upnpavcontroller.h - */ - MUPnPAVDeviceObserver* DeviceObserver(); - - /** - * See upnpavcontroller.h - */ - CUpnpAVDeviceList* GetMediaServersL(); - - /** - * See upnpavcontroller.h - */ - CUpnpAVDeviceList* GetMediaRenderersL(); - - /** - * See upnpavcontroller.h - */ - MUPnPAVBrowsingSession& StartBrowsingSessionL( - const CUpnpAVDevice& aDevice ); - - /** - * See upnpavcontroller.h - */ - void StopBrowsingSession( MUPnPAVBrowsingSession& aSession ); - - /** - * See upnpavcontroller.h - */ - MUPnPAVRenderingSession& StartRenderingSessionL( - const CUpnpAVDevice& aDevice ); - - /** - * See upnpavcontroller.h - */ - void StopRenderingSession( MUPnPAVRenderingSession& aSession ); - - /** - * See upnpavcontroller.h - */ - MUPnPFileUploadSession& StartUploadSessionL( - const CUpnpAVDevice& aDevice ); - - /** - * See upnpavcontroller.h - */ - void StopUploadSession( MUPnPFileUploadSession& aSession ); - - /** - * See upnpavcontroller.h - */ - MUPnPFileDownloadSession& StartDownloadSessionL( - const CUpnpAVDevice& aDevice ); - - /** - * See upnpavcontroller.h - */ - void StopDownloadSession( MUPnPFileDownloadSession& aSession ); - -protected: // From CUPnPConnectionMonitorObserver - - void ConnectionLost(); - -private: - - MUPnPAVDeviceObserver* iDeviceObserver; // not owned - - CUPnPAVConnectionActive* iConnectionActive; // owned - - RUPnPAVControllerClient iServer; - - RPointerArray iBrowsingSessions; - - RPointerArray iRenderingSessions; - - RPointerArray iUploadSessions; - - RPointerArray iDownloadSessions; - - TInt iRespBufSize; - TPckg iRespBufSizePkg; - - TAVControllerDeviceDiscovery iDiscovered; - TPckg iDiscoveredPkg; - - TBool iAlive; - - CActiveSchedulerWait iWait; - - TReleaseState iReleaseState; - - }; - -#endif // C_UPNPAVCONTROLLERACTIVE_H +/* +* 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: AO for monitoring device events +* +*/ + + + + + + + +#ifndef C_UPNPAVCONTROLLERACTIVE_H +#define C_UPNPAVCONTROLLERACTIVE_H + +// INCLUDE FILES +#include +#include "upnpavcontroller.h" + +#include "upnpconnectionmonitorobserver.h" +#include "upnpavcontrollerclient.h" + +// FORWARD DECLARATIONS +class MUPnPAVDeviceObserver; + +class CUPnPAVBrowsingSessionImpl; +class CUPnPAVRenderingSessionImpl; +class CUPnPAVDeviceActive; +class CUPnPAVConnectionActive; +class MUPnPFileDownloadSession; +class MUPnPFileUploadSession; +class CUPnPFileUploadSessionImpl; +class CUPnPFileDownloadSessionImpl; + +/** + * Implements the AV Controller interface + * + * This class implements the AV Controller interface. Provides methods to + * get devices and to start and stop rendering and browsing sessions. + * + * @lib upnpavcontrollerclient.lib + * @since S60 v3.1 + */ +class CUPnPAVControllerActive : public CActive, + public MUPnPAVController, + public MUPnPConnectionMonitorObserver + { + +private: + + /** + * Release (delete) state. Declares state variables to determine if + * deletion is safe. + */ + enum TReleaseState + { + EStateReleasable = 0, + EStateWLANLost, + EStateWaitingForRelease + }; + +public: + + /** + * Static constructor + * + * @param nonr + * @return a new av controller instance + */ + static CUPnPAVControllerActive* NewL(); + + /** + * Static constructor + * + * @param nonr + * @return a new av controller instance + */ + static CUPnPAVControllerActive* NewLC(); + + /** + * Destructor. Ensures safe deletion (also during WLAN disconnection). + */ + virtual void Release(); + + /** + * Destructor + * DEPRACATED, usage of Release() recommended. Will be removed in the + * future. Safe deletion is not guaranteed. + */ + virtual ~CUPnPAVControllerActive(); + +private: + + /** + * 2nd phase construct + */ + CUPnPAVControllerActive(); + + /** + * 2nd phase construct + */ + void ConstructL(); + +protected: // From CActive + + void RunL(); + + void DoCancel(); + + TInt RunError( TInt aError ); + +protected: // From MUPnPAVController + + /** + * See upnpavcontroller.h + */ + void SetDeviceObserver( MUPnPAVDeviceObserver& aObserver ); + + /** + * See upnpavcontroller.h + */ + void RemoveDeviceObserver(); + + /** + * See upnpavcontroller.h + */ + MUPnPAVDeviceObserver* DeviceObserver(); + + /** + * See upnpavcontroller.h + */ + CUpnpAVDeviceList* GetMediaServersL(); + + /** + * See upnpavcontroller.h + */ + CUpnpAVDeviceList* GetMediaRenderersL(); + + /** + * See upnpavcontroller.h + */ + MUPnPAVBrowsingSession& StartBrowsingSessionL( + const CUpnpAVDevice& aDevice ); + + /** + * See upnpavcontroller.h + */ + void StopBrowsingSession( MUPnPAVBrowsingSession& aSession ); + + /** + * See upnpavcontroller.h + */ + MUPnPAVRenderingSession& StartRenderingSessionL( + const CUpnpAVDevice& aDevice ); + + /** + * See upnpavcontroller.h + */ + void StopRenderingSession( MUPnPAVRenderingSession& aSession ); + + /** + * See upnpavcontroller.h + */ + MUPnPFileUploadSession& StartUploadSessionL( + const CUpnpAVDevice& aDevice ); + + /** + * See upnpavcontroller.h + */ + void StopUploadSession( MUPnPFileUploadSession& aSession ); + + /** + * See upnpavcontroller.h + */ + MUPnPFileDownloadSession& StartDownloadSessionL( + const CUpnpAVDevice& aDevice ); + + /** + * See upnpavcontroller.h + */ + void StopDownloadSession( MUPnPFileDownloadSession& aSession ); + + /** + * See upnpavcontroller.h + */ + HBufC8* GetDeviceIconL( const TDesC8& aUuid ); + +protected: // From CUPnPConnectionMonitorObserver + + void ConnectionLost( TBool aUserOriented ); + +private: + + MUPnPAVDeviceObserver* iDeviceObserver; // not owned + + CUPnPAVConnectionActive* iConnectionActive; // owned + + RUPnPAVControllerClient iServer; + + RPointerArray iBrowsingSessions; + + RPointerArray iRenderingSessions; + + RPointerArray iUploadSessions; + + RPointerArray iDownloadSessions; + + TInt iRespBufSize; + TPckg iRespBufSizePkg; + + TAVControllerDeviceDiscovery iDiscovered; + TPckg iDiscoveredPkg; + + TBool iAlive; + + TReleaseState iReleaseState; + + }; + +#endif // C_UPNPAVCONTROLLERACTIVE_H