--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/wim/WimServer/inc/WimSession.h Tue Jan 26 15:20:08 2010 +0200
@@ -0,0 +1,176 @@
+/*
+* Copyright (c) 2002 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: Represents a session for a client thread on the server-side.
+*
+*/
+
+#ifndef CWIMSESSION_H
+#define CWIMSESSION_H
+
+#include "WimClsv.h"
+#include "WimTimer.h"
+#include "Wimi.h" //WIMI definitions
+
+// FORWARD DECLARATION
+class CWimServer;
+class CWimCertHandler;
+class CWimAuthObjHandler;
+class CWimTokenHandler;
+class CWimKeyMgmtHandler;
+class CWimSignTextHandler;
+class CWimMemMgmt;
+class CWimUtilityFuncs;
+class CWimUtilityFuncs;
+class CWimOmaProvisioning;
+class CWimJavaProvisioning;
+class CWimTrustSettingsHandler;
+
+/**
+* A session acts as a channel of communication between the client and
+* the server.
+* A client thread can have multiple concurrent sessions with a server.
+*
+* @since Series60 2.1
+*/
+class CWimSession : public CSession2, public MWimTimerListener
+ {
+
+ public: // Constructors and destructor
+
+ /**
+ * Two-phased constructor.
+ */
+ static CWimSession* NewL( CWimServer* aWimServer );
+
+ /**
+ * Destructor.
+ */
+ virtual ~CWimSession();
+
+ public: // New functions
+
+ /**
+ * Handles the servicing of client requests to the server.
+ * @param aMessage Encapsulates a client request.
+ * @return void
+ */
+ virtual void ServiceL( const RMessage2& aMessage );
+
+ /**
+ * Complete NotifyOnRemoval message, meaning that card is removed.
+ * @return void
+ */
+ void NotifyComplete();
+
+ private:
+
+ /**
+ * C++ default constructor.
+ */
+ CWimSession();
+
+ /**
+ * By default Symbian 2nd phase constructor is private.
+ */
+ void ConstructL( CWimServer* aWimServer );
+
+ /**
+ * Handles client requests and forwards
+ * them to appropriate handler class.
+ * @param aMessage Encapsulates a client request.
+ * @return void
+ */
+ void DispatchMessageL( const RMessage2& aMessage );
+
+ /**
+ * Fetches the list of the references of WIMs currently associated
+ * with readers.
+ * @return void
+ */
+ void GetWimRefListL();
+
+ /**
+ * Fetches the count of WIM cards in use.
+ * @return void
+ */
+ void GetWimCountL();
+
+ /**
+ * Timer for closing connection to the WIM card.
+ * @return void
+ */
+ void TimerExpired();
+
+ /**
+ * NotifyOnRemoval message received. Store the message for completing.
+ * @return void
+ */
+ void NotifyOnRemovalL();
+
+ /**
+ * Cancel NotifyOnRemoval. Complete notification message with KErrCancel.
+ * @return void
+ */
+ void CancelNotifyOnRemoval();
+
+ /**
+ * Check if current request accesses HW.
+ * @param TInt Request ID
+ * @return TBool
+ */
+ TBool RequestAccessesHW( TInt aFunction );
+
+ /**
+ * Re-initializes WIMlib.
+ * Executed when card data has been changed.
+ * @return void
+ */
+ void RefreshWimi();
+
+ private: // Data
+ // total number of resources allocated
+ TInt iResourceCount;
+ // Pointer to the server. Not owned.
+ CWimServer* iWimSvr;
+ // Pointer for memory management. Owned.
+ CWimMemMgmt* iWimMgmt;
+ // Pointer to timer. Owned.
+ //CWimTimer* iTimer;
+ // Certificate Handler class pointer. Owned.
+ CWimCertHandler* iWimCertHandler;
+ // Authentication Object Handler class pointer. Owned.
+ CWimAuthObjHandler* iWimAuthObjHandler;
+ // Token Handler class pointer. Owned.
+ CWimTokenHandler* iWimTokenHandler;
+ // Key Management Handler class pointer. Owned.
+ CWimKeyMgmtHandler* iWimKeyMgmtHandler;
+ // Pointer to Sign Text handler. Owned.
+ CWimSignTextHandler* iWimSignTextHandler;
+ // Utility functions. Owned.
+ CWimUtilityFuncs* iWimUtilFuncs;
+ // Pointer to OMA Provisioning class. Owned.
+ CWimOmaProvisioning* iWimOmaProvisioning;
+
+ CWimJavaProvisioning* iWimJavaProvisioning;
+ // Pointer to WimTrustSettingsHandler. Owned.
+ CWimTrustSettingsHandler* iWimTrustSettingsHandler;
+ // NotifyOnRemoval Message, to be completed. Owned.
+ RMessage2* iNotifyMessage;
+ // Message to be server. Owned.
+ RMessage2* iMessage;
+ };
+
+#endif // CWIMSESSION_H
+
+// End of File