First public contribution.
1 // Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
14 // code for the F32 derived class
18 #include "../SERVER/w32cmd.h"
21 #define __FORCE_ASCII yes
23 #define DEFAULT_LOG_FILE_NAME _L("C:\\private\\10003b20\\WSERV.LOG")
25 /*#if defined(__WINS__)
26 #pragma data_seg(".E32_UID")
27 __WINS_UID(0, KWservLoggingDllUidValue, 0)
32 EXPORT_C CDebugLogBase *CreateDebugLog(TBool aIsFirst, TDesC &aParams)
34 CDebugLogFile *device=new(ELeave) CDebugLogFile();
36 TRAPD(err,log=new(ELeave) CDebugLog(device));
42 TRAP(err,log->ConstructL(aIsFirst, aParams));
51 CDebugLogFile::CDebugLogFile()
53 __DECLARE_NAME(_S("CDebugLogFile"));
56 CDebugLogFile::~CDebugLogFile()
62 void CDebugLogFile::ConstructL(TBool aIsFirst, TDesC &aParams)
64 TPtrC defaultFileName(DEFAULT_LOG_FILE_NAME);
65 TDesC *fileName=&aParams;
66 if (aParams.Length()==0)
67 fileName=&defaultFileName;
68 User::LeaveIfError(iFs.Connect());
69 //_LIT(KLog1,"Connected To File Server");
70 //RDebug::Print(KLog1);
71 iFs.MkDirAll(*fileName);
74 User::LeaveIfError(iFile.Replace(iFs,*fileName,EFileStreamText|EFileWrite|EFileShareReadersOrWriters));
75 //_LIT(KLog2,"Replaced File 1");
76 //RDebug::Print(KLog2);
77 #if !defined(__FORCE_ASCII)
78 TUint16 feffInt=0xFEFF;
79 User::LeaveIfError(iFile.Write(TPtrC8((TUint8 *)&feffInt,2)));
84 TInt err=iFile.Open(iFs,*fileName,EFileStreamText|EFileWrite|EFileShareReadersOrWriters);
85 //_LIT(KLog3,"Done ReOpen");
86 //RDebug::Print(KLog3);
90 User::LeaveIfError(iFile.Seek(ESeekEnd,seekpos));
93 User::LeaveIfError(iFile.Replace(iFs,*fileName,EFileStreamText|EFileWrite|EFileShareReadersOrWriters));
95 iEol16=TPtrC16((TUint16 *)_S("\r\n"));
96 iEol.Set((TUint8 *)iEol16.Ptr(),iEol16.Size());
97 iEol8=TPtrC8((TUint8 *)"\r\n");
100 void CDebugLogFile::WriteToLogL(const TDesC &aDes, const TDesC &aDes2)
102 #if defined(__FORCE_ASCII)
107 WriteToLog8L(des1,des2);
109 User::LeaveIfError(iFile.Write(TPtrC8((TUint8 *)aDes.Ptr(),aDes.Size())));
110 User::LeaveIfError(iFile.Write(iEol));
111 User::LeaveIfError(iFile.Write(TPtrC8((TUint8 *)aDes2.Ptr(),aDes2.Size())));
112 iFile.Flush(); //Ignore Error
116 void CDebugLogFile::WriteToLog8L(const TDesC8 &aDes, const TDesC8 &aDes2)
118 User::LeaveIfError(iFile.Write(aDes));
119 User::LeaveIfError(iFile.Write(iEol8));
120 User::LeaveIfError(iFile.Write(aDes2));
121 iFile.Flush(); //Ignore Error