--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/debuglog/DEBLOGSR.CPP Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,123 @@
+// Copyright (c) 1996-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:
+// code for the serial device derived class
+//
+//
+
+#include "../SERVER/w32cmd.h"
+#include "DEBLOGSR.H"
+
+/*#if defined(__WINS__)
+#pragma data_seg(".E32_UID")
+__WINS_UID(0, KWservLoggingDllUidValue, 0)
+#pragma data_seg()
+#endif*/
+
+//#define DEBUGLOG_SHOW_TRACE
+
+#ifdef DEBUGLOG_SHOW_TRACE
+void ShowTrace(TRefByValue<const TDesC> aFmt,...)
+ {
+ RDebug::Print(aFmt);
+ }
+#else
+void ShowTrace(TRefByValue<const TDesC> /*aFmt*/,...)
+ {
+ }
+#endif
+
+
+
+EXPORT_C CDebugLogBase *CreateDebugLog(TBool aIsFirst, TDesC &aParams)
+ {
+ CDebugLogSerial *device=new(ELeave) CDebugLogSerial();
+ CDebugLog *log=NULL;
+ ShowTrace(_L("!!$L Allocating Log"));
+ TRAPD(err,log=new(ELeave) CDebugLog(device));
+ if (err!=KErrNone)
+ {
+ delete device;
+ User::Leave(err);
+ }
+ ShowTrace(_L("!!$L Initialising Log"));
+ TRAP(err,log->ConstructL(aIsFirst, aParams));
+ if (err!=KErrNone)
+ {
+ delete log;
+ User::Leave(err);
+ }
+ return(log);
+ }
+
+
+CDebugLogSerial::CDebugLogSerial()
+ {
+ __DECLARE_NAME(_S("CDebugLogSerial"));
+ }
+
+CDebugLogSerial::~CDebugLogSerial()
+ {
+ iSerialPort.Close();
+ }
+
+void CDebugLogSerial::ConstructL(TBool , TDesC &)
+ {
+#if defined(__EPOC32__)
+ ShowTrace(_L("!!$L Getting Dev1"));
+ User::LeaveIfError(User::LoadPhysicalDevice(_L("EUART1")));
+#else
+ User::LeaveIfError(User::LoadPhysicalDevice(_L("ECDRV")));
+#endif
+ ShowTrace(_L("!!$L Getting Dev2"));
+ User::LeaveIfError(User::LoadLogicalDevice(_L("ECOMM")));
+ iSerialPort.Open(0);
+//
+ TCommConfig cBuf;
+ TCommConfigV01& c=cBuf();
+ iSerialPort.Config(cBuf);
+// c.iRate=EBps19200;
+ c.iRate=EBps115200;
+ c.iHandshake=0;
+ ShowTrace(_L("!!$L Configering Port"));
+ User::LeaveIfError(iSerialPort.SetConfig(cBuf));
+ }
+
+void CDebugLogSerial::WriteToLogL(const TDesC &aDes, const TDesC &aDes2)
+ {
+ TBuf<LogTBufSize+2> buf(aDes);
+ buf.Append(TPtrC(_S("\r\n")));
+ TRequestStatus stat;
+ iSerialPort.Write(stat,TPtrC8((TUint8 *)buf.Ptr(),buf.Size()));
+ User::WaitForRequest(stat);
+ User::LeaveIfError(stat.Int());
+//
+ iSerialPort.Write(stat,TPtrC8((TUint8 *)aDes2.Ptr(),aDes2.Size()));
+ User::WaitForRequest(stat);
+ User::LeaveIfError(stat.Int());
+ }
+
+void CDebugLogSerial::WriteToLog8L(const TDesC8 &aDes, const TDesC8 &aDes2)
+ {
+ TBuf8<LogTBufSize+2> buf(aDes);
+ buf.Append(TPtrC(_S("\r\n")));
+ TRequestStatus stat;
+ iSerialPort.Write(stat,buf);
+ User::WaitForRequest(stat);
+ User::LeaveIfError(stat.Int());
+//
+ iSerialPort.Write(stat,aDes2);
+ User::WaitForRequest(stat);
+ User::LeaveIfError(stat.Int());
+ }
+