PECengine/TransferAdapter2/Src/CPEngSessionManager.h
changeset 0 094583676ce7
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/PECengine/TransferAdapter2/Src/CPEngSessionManager.h	Thu Dec 17 08:41:52 2009 +0200
@@ -0,0 +1,149 @@
+/*
+* Copyright (c) 2004 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:  Access handler of the network session
+*
+*/
+
+#ifndef __CPENGSESSIONMANAGER_H__
+#define __CPENGSESSIONMANAGER_H__
+
+//  INCLUDES
+#include <E32Base.h>
+#include <ImpsClient.h>
+
+#include "MPEngSessionManager.h"
+
+
+// FORWARD DECLARATIONS
+class MPEngAccessHandler;
+class CPEngAccessHandler;
+class MPEngPureDataHandler;
+class CPEngPureDataHandler;
+class MPEngTransAdapFactory;
+class CPEngSessionSlotId;
+
+/**
+ * NWSessionSlotID implementation.
+ *
+ * @since 3.0
+ */
+NONSHARABLE_CLASS( CPEngSessionManager ) :
+        public CObject,
+        public MPEngSessionManager
+    {
+public: /* Construction */
+
+
+    /**
+     * Instantiates CPEngSessionManager object.
+     *
+     * @return New CPEngSessionManager instance.
+     */
+    static CPEngSessionManager* NewLC( MPEngTransAdapFactory& aFactory,
+    const CPEngSessionSlotId& aSesssId );
+
+
+    /**
+     * Destructor.
+     */
+    ~CPEngSessionManager();
+
+    //-----------------------------------------------------------------------
+public: // New function of the MPEngSessionManager
+
+    /**
+     *  Close Access handler reference, deleted it
+     *
+     *  @since 3.0
+     *
+     *  @param aHandler to be closed
+     */
+    void CloseAccessHandler( );
+
+    /**
+     *  Close Access handler
+     *
+     *  @since 3.0
+     *  @param aHandler handler to be closed
+     */
+    void ClosePureDataHandler( );
+
+
+    /**
+     * Open reference
+     * @since 3.0
+     */
+    void OpenRef();
+
+    //-----------------------------------------------------------------------
+public: // New functions
+
+    /**
+     *  Access handler
+     *
+     *  @since 3.0
+     *  @return Access handler
+     */
+    MPEngAccessHandler* AccessHandlerL();
+
+    /**
+     *  Pure Data handler
+     *
+     *  @since 3.0
+     *  @return Pure data handler
+     */
+    MPEngPureDataHandler* PureDataHandlerL();
+
+    /**
+     *  Session Id
+     *
+     *  @since 3.0
+     *  @return session Id class
+     */
+    const CPEngSessionSlotId& SessionId() const;
+
+protected: // construction
+
+    /**
+     * C++ constructor. protected
+     */
+    CPEngSessionManager( MPEngTransAdapFactory& aFactory );
+
+    /**
+     * Symbian Second phase constructor
+     */
+    void ConstructL( const CPEngSessionSlotId& aSesssId );
+
+private: //Data
+
+    /// REF: Session manager Factory
+    MPEngTransAdapFactory&  iFactory;
+
+    /// OWN: Session Id
+    CPEngSessionSlotId*     iSessionId;
+
+    /// OWN: WV Session main client
+    RImpsEng                iImpsClient;
+
+    /// OWN: Access handler
+    CPEngAccessHandler*     iAccessHandler;
+
+    /// OWN: Pure data handler
+    CPEngPureDataHandler*   iPureDataHandler;
+
+    };
+
+#endif  //__CPENGSESSIONMANAGER_H__
+
+// End of File