diff -r 3785f754ee62 -r 5360b7ddc251 upnpsharing/upnpcontentserver/inc/upnpcontentserver.h --- a/upnpsharing/upnpcontentserver/inc/upnpcontentserver.h Fri Sep 17 08:31:21 2010 +0300 +++ b/upnpsharing/upnpcontentserver/inc/upnpcontentserver.h Mon Nov 01 12:37:49 2010 +0200 @@ -1,193 +1,193 @@ -/* -* Copyright (c) 2006-2007 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: Header for upnpcontentserver -* -*/ - - - - - - -#ifndef __UPNPCONTENTSERVER_H__ -#define __UPNPCONTENTSERVER_H__ - -// INCLUDES -#include -#include "upnpconnectionmonitorobserver.h" -#include "upnpconnectionmonitor.h" -#include "upnpcontentserverhandler.h" -#include "upnpcontentserversession.h" - -// FORWARD DECLARATIONS -class CUPnPPeriodic; - -// Server shutdown delay in microseconds (2.5s) -const TInt KShutdownTimeout = 2500000; - -// FORWARD DECLARATIONS -class CUpnpContentServerSession; - -/** -* A server class to initialize server. -* -* @since S60 3.1 -*/ -class CUpnpContentServer : public CPolicyServer, - public MUPnPConnectionMonitorObserver - { -public: - /** - * A Method to initialize the CleanupStack and the ActiveScheduler. - * Creates an instance of CUpnpContentServer. - * @param None. - * @return KErrNone, if successful, otherwise one of the other system-wide - * error codes. - */ - static TInt LaunchServerL(); - - /** - * 2-phased constructor. - */ - static CUpnpContentServer* NewL(); - - /** - * C++ destructor. - */ - virtual ~CUpnpContentServer(); - - /** - * Returns pointer CUpnpContentserverHandler instanse - * @since S60 3.1 - */ - CUpnpContentServerHandler* Handler() const; - - /** - * Decrements session counter - * @since S60 3.1 - */ - void RemoveSession(); - - /** - * Decrements session counter - * @since S60 3.1 - */ - void AddSession(); - - /** - * Indicates if server can be stopped - * @since S60 3.1 - * @ return ETrue if there is no other session open - */ - TBool CanStop() const; - - /** - * Stop the server with delay - * @since S60 3.1 - */ - void Stop(); - - /** - * Perform the shutdown of the server - * @return KErrNone - */ - static TInt Shutdown( TAny* aPtr ); - - /** - * Start the connection monitor if not yet started - * Register for connection lost events - * @since S60 3.1 - */ - TInt RequestConnectionLostL( const TInt aIapId ); - - /** - * Stop the connection monitor if only session - * unregister the session from connection monitoring - * @since S60 3.1 - */ - void CancelConnectionLostL(); - -public: - /** - * From CServer2, creates a new session. - */ - CSession2* NewSessionL( const TVersion& aVersion, - const RMessage2& aMessage ) const; - -protected: - /** - * From CServer2, handle possible leaves - */ - TInt RunError( TInt aError ); - -private: - /** - * C++ constructor. - */ - CUpnpContentServer(); - - /** - * 2nd phase constructor. - */ - void ConstructL( ); - -private: - /** - * From MUPnPConnectionMonitorObserver - * Inform all sessions that connection has been lost - * @since S60 3.1 - */ - void ConnectionLost(); - - -private: - - /** - * Server has an object container index which - * creates an object container for each session - * owned - */ - CObjectConIx* iContainerIndex; - - /** - * Pointer to handler - * owned - */ - CUpnpContentServerHandler* iHandler; - - /** - * Session count - */ - TInt iSessionCount; - - /** - * Connection monitor handle - */ - CUPnPConnectionMonitor* iConMon; - - /** - * Id of the active IAP - */ - TInt iActiveIapId; - - /** - * Delayer for the server shutdown - */ - CUPnPPeriodic* iIdle; - - }; - - -#endif // __UPNPCONTENTSERVER_H__ - +/* +* Copyright (c) 2006-2007 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: Header for upnpcontentserver +* +*/ + + + + + + +#ifndef __UPNPCONTENTSERVER_H__ +#define __UPNPCONTENTSERVER_H__ + +// INCLUDES +#include +#include "upnpconnectionmonitorobserver.h" +#include "upnpconnectionmonitor.h" +#include "upnpcontentserverhandler.h" +#include "upnpcontentserversession.h" + +// FORWARD DECLARATIONS +class CUPnPPeriodic; + +// Server shutdown delay in microseconds (2.5s) +const TInt KShutdownTimeout = 2500000; + +// FORWARD DECLARATIONS +class CUpnpContentServerSession; + +/** +* A server class to initialize server. +* +* @since S60 3.1 +*/ +class CUpnpContentServer : public CPolicyServer, + public MUPnPConnectionMonitorObserver + { +public: + /** + * A Method to initialize the CleanupStack and the ActiveScheduler. + * Creates an instance of CUpnpContentServer. + * @param None. + * @return KErrNone, if successful, otherwise one of the other system-wide + * error codes. + */ + static TInt LaunchServerL(); + + /** + * 2-phased constructor. + */ + static CUpnpContentServer* NewL(); + + /** + * C++ destructor. + */ + virtual ~CUpnpContentServer(); + + /** + * Returns pointer CUpnpContentserverHandler instanse + * @since S60 3.1 + */ + CUpnpContentServerHandler* Handler() const; + + /** + * Decrements session counter + * @since S60 3.1 + */ + void RemoveSession(); + + /** + * Decrements session counter + * @since S60 3.1 + */ + void AddSession(); + + /** + * Indicates if server can be stopped + * @since S60 3.1 + * @ return ETrue if there is no other session open + */ + TBool CanStop() const; + + /** + * Stop the server with delay + * @since S60 3.1 + */ + void Stop(); + + /** + * Perform the shutdown of the server + * @return KErrNone + */ + static TInt Shutdown( TAny* aPtr ); + + /** + * Start the connection monitor if not yet started + * Register for connection lost events + * @since S60 3.1 + */ + TInt RequestConnectionLostL( const TInt aIapId ); + + /** + * Stop the connection monitor if only session + * unregister the session from connection monitoring + * @since S60 3.1 + */ + void CancelConnectionLostL(); + +public: + /** + * From CServer2, creates a new session. + */ + CSession2* NewSessionL( const TVersion& aVersion, + const RMessage2& aMessage ) const; + +protected: + /** + * From CServer2, handle possible leaves + */ + TInt RunError( TInt aError ); + +private: + /** + * C++ constructor. + */ + CUpnpContentServer(); + + /** + * 2nd phase constructor. + */ + void ConstructL( ); + +private: + /** + * From MUPnPConnectionMonitorObserver + * Inform all sessions that connection has been lost + * @since S60 3.1 + */ + void ConnectionLost( TBool aUserOriented ); + + +private: + + /** + * Server has an object container index which + * creates an object container for each session + * owned + */ + CObjectConIx* iContainerIndex; + + /** + * Pointer to handler + * owned + */ + CUpnpContentServerHandler* iHandler; + + /** + * Session count + */ + TInt iSessionCount; + + /** + * Connection monitor handle + */ + CUPnPConnectionMonitor* iConMon; + + /** + * Id of the active IAP + */ + TInt iActiveIapId; + + /** + * Delayer for the server shutdown + */ + CUPnPPeriodic* iIdle; + + }; + + +#endif // __UPNPCONTENTSERVER_H__ +