localconnectivityservice/dun/server/inc/DunServer.h
branchRCL_3
changeset 20 4a793f564d72
parent 19 0aa8cc770c8a
child 21 74aa6861c87d
--- a/localconnectivityservice/dun/server/inc/DunServer.h	Tue Aug 31 16:03:15 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,361 +0,0 @@
-/*
-* 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:  DUN server
-*
-*/
-
-
-#ifndef C_CDUNSERVER_H
-#define C_CDUNSERVER_H
-
-#include <e32base.h>
-#include "DunPlugin.h"
-#include "DunCloseWait.h"
-#include "dunserverdef.h"
-#include "dundomainpskeys.h"
-
-_LIT( KDunPluginBt,   "dunbt.dll"  );
-_LIT( KDunPluginIrda, "dunir.dll"  );
-_LIT( KDunPluginUsb,  "dunusb.dll" );
-
-class MDunSession;
-class MDunServerUtility;
-
-/**
- *  Class used to store data needed for each separate plugin
- *  One TDunConnectionData data contains objects needed for one plugin
- *
- *  @since S60 v3.2
- */
-NONSHARABLE_CLASS( TDunConnectionData )
-    {
-
-public:
-
-    /**
-     * Pointer to plugin DLL
-     * Not own.
-     */
-    MDunLocalMediaPlugin* iLocalModulePtr;
-
-    /**
-     * Current state of plugin
-     */
-    TDunPluginState iPluginState;
-
-    /**
-     * DLL library server needed to open/close existing plugin
-     */
-    RLibrary iModuleLibrary;
-
-    /**
-     * Loaded plugin's UID
-     */
-    TUid iLocalModuleUid;
-
-    };
-
-/**
- *  Main DUN server's class
- *
- *  @since S60 v3.2
- */
-class CDunServer : public CPolicyServer,
-                   public MDunServerCallback,
-                   public MDunCloseWait
-    {
-
-    friend class CDunServerUtils;
-
-public:
-
-    /**
-     * Two-phased constructor.
-     * @return Instance of self
-     */
-    static CDunServer* NewL();
-
-    /**
-    * Destructor.
-    */
-    virtual ~CDunServer();
-
-    /**
-     * Notification to manage local media On request
-     * This comes from client
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of the local media plugin to open
-     * @return None
-     */
-    TInt NotifyMediaOpenRequest( TUid aPluginUid );
-
-    /**
-     * Notification to manage local media Off request
-     * This comes from client
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of the local media plugin to close
-     * @return None
-     */
-    TInt NotifyMediaCloseRequest( TUid aPluginUid );
-
-    /**
-     * Current active connection
-     * (For testing purposes only)
-     *
-     * @since S60 5.0
-     * @return Active connection, NULL otherwise
-     */
-    TConnId ActiveConnection();
-
-    /**
-     * Increases reference count made by sessions
-     * This comes from client
-     *
-     * @since S60 3.2
-     * @return None
-     */
-    void IncRefCount();
-
-    /**
-     * Decreases reference count made by sessions
-     * This comes from client
-     *
-     * @since S60 3.2
-     * @return None
-     */
-    void DecRefCount();
-
-// from base class CServer2 (CPolicyServer -> CServer2)
-
-    /**
-     * From CServer2 (CPolicyServer derived from CServer2).
-     * Creates a server-side client session object.
-     *
-     * @since S60 3.2
-     * @param aVersion Version information supplied by the client
-     * @return A pointer to the newly created server-side client session
-     */
-    CSession2* NewSessionL( const TVersion& aVersion, const RMessage2& ) const;
-
-private:
-
-    CDunServer( TInt aPriority );
-
-    void ConstructL();
-
-    /**
-     * Opens local media plugin by UID
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of local media plugin to open
-     * @param aDequeue ETrue if restarting of queued plugins and plugin
-     *                 dequeue wanted after successful plugin close
-     *                 (normal case, see also TryClosePlugin()),
-     *                 EFalse if no restarting of queued plugins and plugin
-     *                 dequeue wanted after successful plugin close
-     *                 (in this case caller is reopener itself, see also
-     *                 ReopenQeueuedPlugins())
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt OpenMediaByUid( TUid aPluginUid, TBool aDequeue );
-
-    /**
-     * Closes local media plugin by UID
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of local media plugin to close
-     * @param aClearQueued ETrue if clear from plugin queue wanted,
-     *                     EFalse otherwise
-     * @param aClientClose ETrue if close originator is client
-     * @param aSelfDelete ETrue if plugin closes itself, EFalse otherwise
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt CloseMediaByUid( TUid aPluginUid,
-                          TBool aClearQueued,
-                          TBool aClientClose,
-                          TBool aSelfDelete );
-
-    /**
-     * Reopens plugins from plugin queue
-     *
-     * @since S60 3.2
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt ReopenQueuedPlugins();
-
-// from base class MDunServerCallback
-
-    /**
-     * From MDunServerCallback.
-     * Searches for plugin in connection data and returns its state
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of local media plugin to search for
-     * @return State of plugin
-     */
-    TDunPluginState GetPluginStateByUid( TUid aPluginUid );
-
-    /**
-     * From MDunServerCallback.
-     * Notification about request to change plugin state up by one level
-     *
-     * @since S60 3.2
-     * @param aPluginState New state to set for a local media plugin
-     * @param aPluginUid UID of the local media plugin whose state to change
-     * @return KErrNotFound if plugin not found by UID,
-               KErrNotSupported if unknown state,
-               KErrNone otherwise
-     */
-    TInt NotifyPluginStateChangeUp( TDunPluginState aPluginState,
-                                    TUid aPluginUid );
-
-    /**
-     * From MDunServerCallback.
-     * Notification about request to change plugin state down by one level
-     *
-     * @since S60 3.2
-     * @param aPluginState New state to set for a local media plugin
-     * @param aPluginUid UID of the local media plugin whose state to change
-     * @return KErrNotFound if plugin not found by UID,
-               KErrNotSupported if unknown state,
-               KErrNone otherwise
-     */
-    TInt NotifyPluginStateChangeDown( TDunPluginState aPluginState,
-                                      TUid aPluginUid );
-
-    /**
-     * From MDunServerCallback.
-     * Notification about plugin restart request
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of the local media plugin to restart
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt NotifyPluginRestart( TUid aPluginUid );
-
-    /**
-     * From MDunServerCallback.
-     * Notification about plugin reopen request
-     *
-     * @since S60 3.2
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt NotifyPluginReopenRequest();
-
-// from base class MDunPluginManager (MDunServerCallback->MDunPluginManager).
-
-    /**
-     * From MDunPluginManager (MDunServerCallback->MDunPluginManager).
-     * Notification about request to enqueue a plugin to plugin queue
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of the local media plugin to enqueue
-     * @return KErrNotFound = plugin not found by UID,
-               KErrAlreadyExists = plugin already in queue,
-               KErrNone otherwise
-     */
-    TInt NotifyPluginEnqueueRequest( TUid aPluginUid );
-
-    /**
-     * From MDunPluginManager (MDunServerCallback->MDunPluginManager).
-     * Notification about request to dequeue a plugin from plugin queue
-     * Just removes a found UID from the queue
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of the local media plugin to dequeue
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt NotifyPluginDequeueRequest( TUid aPluginUid );
-
-    /**
-     * From MDunPluginManager (MDunServerCallback->MDunPluginManager).
-     * Notification about request to close a plugin
-     *
-     * @since S60 3.2
-     * @param aPluginUid UID of the local media plugin to close
-     * @param aSelfClose ETrue if plugin closes itself, EFalse otherwise
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    TInt NotifyPluginCloseRequest( TUid aPluginUid,
-                                   TBool aSelfClose );
-
-// from base class MDunCloseWait
-
-    /**
-     * From MDunCloseWait.
-     * Notification about request to close a plugin after wait
-     *
-     * @since S60 5.0
-     * @param aPluginsToClose Plugins to be closed
-     * @return Symbian error code on error, KErrNone otherwise
-     */
-    void NotifyPluginCloseAfterWait(
-        RPointerArray<MDunLocalMediaPlugin>& aPluginsToClose );
-
-private:  // data
-
-    /**
-     * Pointer to common utility class
-     * Own.
-     */
-    MDunServerUtility* iUtility;
-
-    /**
-     * Transporter to use for network side communication
-     * Own.
-     */
-    CDunTransporter* iTransporter;
-
-    /**
-     * Waiter for closing self-destruct plugins
-     * Own.
-     */
-    CDunCloseWait* iCloseWait;
-
-    /**
-     * Array of TDunConnectionData needed for each loaded plugin
-     */
-    RArray<TDunConnectionData> iConnData;
-
-    /**
-     * Array of plugin UIDs
-     * Used for queuing plugins that have no resources to use
-     * Used for dequeuing plugins when free resources detected
-     */
-    RArray<TUid> iPluginQueue;
-
-    /**
-     * Array of plugin UIDs
-     * Used for queuing plugins that were successfully closed outside
-     * this server. This is to avoid returning KErrNotFound to LOCOD
-     * when NotifyMediaCloseRequest() is caught
-     */
-    RArray<TUid> iClosedQueue;
-
-    /**
-     * Connection status of dialup: active or inactive
-     * Used for updating KPSUidDialupConnStatus Pub&Sub key
-     */
-    TDialupConnStatus iConnStatus;
-
-    /**
-     * Reference count of client sides
-     */
-    TInt iRefCount;
-
-    };
-
-#endif  // C_CDUNSERVER_H