--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/email/pop3andsmtpmtm/servermtmutils/inc/cimsocketidletimer.h Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,78 @@
+// Copyright (c) 2005-2009 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:
+//
+
+#ifndef __CIMSOCKETIDLETIMER_H__
+#define __CIMSOCKETIDLETIMER_H__
+
+#include <e32base.h>
+
+class CImTextServerSession;
+
+
+/**
+This class provides a timer for inactivity on the socket when either sending or receiving data
+When the timer expires, iObserver object is informed and the socket is closed
+*/
+
+class CImSocketIdleTimer : public CTimer
+/**
+@internalComponent
+*/
+
+ {
+public:
+
+/**
+ //cat Construction
+ Intended Usage : Static factory constructor. Uses two phase construction and
+ leaves nothing on the CleanupStack.
+ @since 7.0s
+ @return A pointer to the newly created CImSocketIdleTimer object.
+ @pre None
+ @post A fully constructed and initialised CImSocketIdleTimer object.
+
+ */
+ static CImSocketIdleTimer* NewL(CImTextServerSession& aObserver);
+
+/**
+ //cat Destruction
+ @fn ~CImSocketIdleTimer()
+ Intended Usage : Destructor.
+ @since 7.0s
+ */
+ virtual ~CImSocketIdleTimer();
+
+private: // methods from CActive
+ virtual void RunL();
+
+private:
+
+/**
+ //cat Construction
+ @fn CImSocketIdleTimer(CImTextServerSession& aObserver);
+ Intended Usage : Constructor. First phase of two-phase construction method. Does
+ non-allocating construction.
+ @since 7.0s
+ @param aObserver is the CImTextServerSession object that needs to be alerted when
+ the timer expires
+*/
+ CImSocketIdleTimer(CImTextServerSession& aObserver);
+
+private:
+ //the object that reads/writes to the socket
+ CImTextServerSession& iObserver;
+ };
+
+#endif // __CIMSOCKETIDLETIMER_H__