email/pop3andsmtpmtm/clientmtms/inc/MIUTLOG.H
changeset 0 72b543305e3a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/email/pop3andsmtpmtm/clientmtms/inc/MIUTLOG.H	Thu Dec 17 08:44:11 2009 +0200
@@ -0,0 +1,78 @@
+// Copyright (c) 1998-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:
+//
+
+#if !defined(__MIUTLOG_H__)
+#define __MIUTLOG_H__
+
+#if !defined(__E32BASE_H__)
+#include <e32base.h>
+#endif
+
+#if !defined(__F32FILE_H__)
+#include <f32file.h>
+#endif
+
+_LIT(KMiutLogFile, "c:\\logs\\Email\\ImLog%d");
+_LIT(KMiutLogFileExtension, ".txt");
+_LIT(KMiutLogUnopenedFileFormatString, "%S(%u).txt");
+_LIT8(KMiutLogOutputString, ">> %S");
+_LIT8(KMiutLogResponseString, "<< %S");
+_LIT8(KMiutLogErrorString, "** %S %d");
+_LIT8(KMiutLogCommentString, "** %S");
+_LIT8(KMiutLogCR, "\r\n");
+_LIT(KMiutLogDateFormatString, "%D%M%*Y%1%/1%2%/2%3 %H%:1%T%:2%S ");
+
+
+// Setting to select whether a new log file will be created, 
+// or existing one will be appended to...
+
+/**
+@internalTechnology
+@released
+*/
+enum TImLogOpenMode
+	{ 
+	EReplace, 
+	EAppend
+	};
+
+class CImLog : public CBase
+/**
+@internalTechnology
+@released
+*/
+	{
+public:
+	IMPORT_C static CImLog* NewL(const TDesC& aFullFilePath, TImLogOpenMode aImLogOpenMode);
+	IMPORT_C static CImLog* NewL(TInt aPortNum);
+	IMPORT_C ~CImLog();
+	
+	IMPORT_C void AppendOut(const TDesC8 &outPut);
+	IMPORT_C void AppendResponse(const TDesC8 &theResponse);
+	IMPORT_C void AppendComment(const TDesC8 &theError);
+	IMPORT_C void AppendError(const TDesC8 &theError, TInt anErrorCode);
+private:
+	CImLog();
+	void ConstructL(TInt aPortNum);
+	void ConstructL(const TDesC& aFullFilePath, TImLogOpenMode aImLogOpenMode);
+
+	void BuildLogString(const TDesC8& aFormat,const TDesC8 &theOutPut, TBool aWriteCrLf = EFalse);
+	void WriteToLog(TRefByValue<const TDesC8> aFmt,...);
+private:
+	RFile	iFile;
+	RFs		iFs;
+	};
+
+#endif