upnpmpxplugins/upnpplaybackplugins/inc/upnpsingleton.h
branchIOP_Improvements
changeset 40 08b5eae9f9ff
parent 39 6369bfd1b60d
child 41 b4d83ea1d6e2
--- a/upnpmpxplugins/upnpplaybackplugins/inc/upnpsingleton.h	Mon Nov 01 13:44:24 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,250 +0,0 @@
-/*
-* Copyright (c) 2008 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:      Singleton class for main upnp related services
-*
-*/
-
-
-
-
-
-
-#ifndef C_UPNPSINGLETON_H
-#define C_UPNPSINGLETON_H
-
-// INCLUDES
-#include <e32base.h>
-#include "upnpavdeviceobserver.h"
-#include "upnpmusicperiodizer.h"
-
-// FORWARD DECLARATIONS
-class MUPnPAVController;
-class MUPnPRendererSelectorObserver;
-class CUpnpAVDevice;
-class CUpnpAVDeviceList;
-class MUPnPAVRenderingSession;
-
-/**
- * A singleton class that provides main upnp services
- *
- * The class owns the AVController client session. Plugins that
- * use this singleton class may then share the same session, or
- * start rendering sessions in it.
- *
- * The class also provides device discovery routines.
- *
- * @lib upnpmusicplugins.lib
- * @since S60 v3.1
- */
-class CUPnPSingleton : public CBase,
-                       public MUPnPAVDeviceObserver,
-                       public MUPnPMusicPeriodizerObserver
-    {
-
-private:
-
-    /**
-     * State of renderer selection subprocess
-     *
-     * @since Series 60 3.1
-     */   
-    enum TSelectorState
-        {
-        EStateWaiting, // waiting in device discovery phase
-        EStateComplete, // device discovery complete, still updating list
-        EStateReady, // steady state - list is untouched
-        EStateError, // WLAN connection lost
-        };
-    
-public:
-
-    /**
-     * Singleton constructor
-     *
-     * @since Series 60 3.1
-     * @return a new instance
-     */
-    static CUPnPSingleton* GetInstanceL();
-
-    /**
-     * Singleton destructor
-     *
-     * @since Series 60 3.1
-     * @param aInstance the instance pointer to lose
-     */
-    static void LoseInstance( CUPnPSingleton* aInstance );
-
-    /**
-     * Destructor
-     *
-     * @since Series 60 3.1
-     */
-    ~CUPnPSingleton();
-
-    /**
-     * Get list of renderers from AVController. Returns names (async)
-     *
-     * @param aObserver the observer to receive the response
-     * @since Series 60 3.1
-     */
-    void GetRendererNamesL( MUPnPRendererSelectorObserver& aObserver );
-
-    /**
-     * Cancels an asynchronous query if it is pending
-     */
-    void CancelGetRendererNames();
-
-    /**
-     * Selects renderer by index
-     *
-     * @since Series 60 3.1
-     * @param aIndex Index of renderer to be selected
-     */
-    const CUpnpAVDevice* SelectRendererByIndexL( TInt aIndex );
-
-    /**
-     * Return used renderer device
-     *
-     * @since Series 60 3.1
-     * @return CUpnpAVDevice used renderer device
-     */
-    const CUpnpAVDevice* DefaultDevice();
-
-    /**
-     * Provides reference to the AVController resource
-     */
-    MUPnPAVController& AVC();
-
-    
-protected: // From MUPnPAVDeviceObserver
-
-    /**
-     * See MUPnPAVDeviceObserver
-     */
-     void UPnPDeviceDiscovered( const CUpnpAVDevice& aDevice );
-
-    /**
-     * See MUPnPAVDeviceObserver
-     */
-     void UPnPDeviceDisappeared( const CUpnpAVDevice& aDevice );
-     
-    /**
-     * See MUPnPAVDeviceObserver
-     */
-     void WLANConnectionLost();
-
-protected: // From MUPnPMusicPeriodizerObserver 
-
-    /**
-     * See MUPnPMusicPeriodizerObserver
-     */
-    void HandlePeriod();
-    
-private:
-
-    /**
-     * Clears the current device cache and copies the renderer list again
-     * from AVController
-     */
-    void CacheRendererListL();
-
-    /**
-     * Sends an asynchronous response for subplayer names to observer.
-     * Uses the class members as parameters.
-     * @param aComplete the complete parameter to use in callback
-     * @param aError the error code to be transmitted
-     */
-    void DeliverNamesToObserverL( TBool aComplete, TInt aError = KErrNone );
-
-    /**
-     * Checks if the device is available. If a device is not available, it
-     * has been disappeared. The method uses a proprietary flag.
-     * @param aDevice the device to check
-     * @return EFalse if the device has disappeared.
-     */
-    TBool IsAvailable( const CUpnpAVDevice& aDevice ) const;
-
-    /**
-     * Sets a device availability flag. If a device is not available, it
-     * has been disappeared. The method uses a proprietary flag.
-     * @param aDevice the device to set
-     * @param aAvailable if false, the device has disappeared.
-     */
-    void SetAvailable( CUpnpAVDevice& aDevice, TBool aAvailable ) const;
-
-    /**
-     * Private default constructor
-     *
-     * @since Series 60 3.1
-     */
-    CUPnPSingleton();
-
-    /**
-     * 2nd phase constructor
-     *
-     * @since Series 60 3.1
-     */
-    void ConstructL();
-
-private: // data
-
-    /**
-     * Reference count
-     */
-    static TInt                         iInstanceCount;
-
-    /**
-     * The singleton
-     */
-    static CUPnPSingleton*              iInstance;
-
-    /**
-     * Pointer to AVController
-     */
-    MUPnPAVController*                  iAVController;
-
-    /**
-     * Temporary pointer to renderer selector observer 
-     */
-    MUPnPRendererSelectorObserver*      iRendererselectorObserver;
-
-    /**
-     * default device index
-     */
-    static TInt                         iDefaultRendererIndex;
-    
-    /**
-     * Timer support
-     */
-    CUPnPMusicPeriodizer*               iPeriodizer;
-                       
-    /**
-     * Array of renderer
-     */        
-    RPointerArray<CUpnpAVDevice>        iMediaRenderers;
-
-    /**
-     * Current selector state
-     */
-    TSelectorState                      iSelectorState;
-
-    /**
-     * Indicator for activity during next call to GetSubplayerNames
-     */
-    TSelectorState                      iStateChangeDuringNextCall;
-
-    };
-
-
-#endif // C_UPNPSINGLETON_H