--- a/obex/obexprotocol/obextransport/src/logengine.cpp Tue Sep 28 20:14:08 2010 +0800
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,355 +0,0 @@
-// 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:
-//
-
-/**
- @file
- @internalTechnology
-*/
-
-
-#include <e32base.h>
-#include <comms-infras/commsdebugutility.h>
-#include "logger.h"
-
-
-#ifdef __FLOG_ACTIVE
-_LIT8(KSubsystem, "obex");
-_LIT8(KLogCmpt, "logengine");
-#endif
-
-
-NONSHARABLE_CLASS(TLogData)
- {
- public:
-#ifdef __FLOG_ACTIVE
- TLogData();
-
- void SetLogTags(const TDesC8& aCmpt);
-
- TInt iAccessCount;
-
- RFileLogger iLogEngine;
- TBuf8<KMaxTagLength> iCurrentComponent;
-#endif
- };
-
-
-#ifdef __FLOG_ACTIVE
-TLogData::TLogData()
- : iAccessCount(0), iCurrentComponent(KNullDesC8)
- {}
-
-void TLogData::SetLogTags(const TDesC8& aCmpt)
- {
- if (aCmpt != iCurrentComponent)
- {
- iLogEngine.SetLogTags(KSubsystem, aCmpt.Left(KMaxTagLength));
- iCurrentComponent = aCmpt.Left(KMaxTagLength);
- }
- }
-#endif
-
-#define GETLOG TLogData* __logger = static_cast<TLogData*>(Dll::Tls());
-
-
-
-EXPORT_C /*static*/ TInt CObexLog::Connect()
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (!__logger)
- {
- CObexLog::Write(KLogCmpt, _L8("Opening new logger connection"));
- __logger = new TLogData();
- if (!__logger)
- {
- CObexLog::Write(KLogCmpt, _L8("Opening logger connection failed, no memory"));
- return KErrNoMemory;
- }
-
- __logger->iLogEngine.Connect();
- Dll::SetTls(__logger);
- }
-
- __logger->iAccessCount++;
- CObexLog::WriteFormat(KLogCmpt, _L8("Opening -- %d instances now open"), __logger->iAccessCount);
-
- return KErrNone;
-#else
- return KErrNotSupported;
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::Close()
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (__logger)
- {
- TInt& count = __logger->iAccessCount;
-
- if (count)
- {
- count--;
- CObexLog::WriteFormat(KLogCmpt, _L8("Closing -- %d instance(s) left open"), count);
- if (!count)
- {
- __logger->iLogEngine.Close();
- delete __logger;
- Dll::SetTls(NULL);
- CObexLog::Write(KLogCmpt, _L8("Fully closed and deleted, now flogging statically."));
- }
- }
- else
- {
- CObexLog::Write(KLogCmpt, _L8("Not closing -- not opened"));
- }
- }
-#endif
- }
-
-
-
-EXPORT_C /*static*/ void CObexLog::Write(const TDesC8& IF_FLOGGING(aCmpt), const TDesC8& IF_FLOGGING(aText))
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.Write(aText);
- }
- else
- {
- RFileLogger::Write(KSubsystem, aCmpt, aText);
- }
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::WriteFormat(const TDesC8& IF_FLOGGING(aCmpt), TRefByValue<const TDesC8> IF_FLOGGING(aFmt), ...)
- {
-#ifdef __FLOG_ACTIVE
- VA_LIST list;
- VA_START(list, aFmt);
-
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.WriteFormat(aFmt, list);
- }
- else
- {
- RFileLogger::WriteFormat(KSubsystem, aCmpt, aFmt, list);
- }
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::WriteFormat(const TDesC8& IF_FLOGGING(aCmpt), TRefByValue<const TDesC8> IF_FLOGGING(aFmt), VA_LIST& IF_FLOGGING(aList))
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.WriteFormat(aFmt, aList);
- }
- else
- {
- RFileLogger::WriteFormat(KSubsystem, aCmpt, aFmt, aList);
- }
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::Write(const TDesC8& IF_FLOGGING(aCmpt), const TDesC16& IF_FLOGGING(aText))
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.Write(aText);
- }
- else
- {
- RFileLogger::WriteFormat(KSubsystem, aCmpt, aText);
- }
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::WriteFormat(const TDesC8& IF_FLOGGING(aCmpt), TRefByValue<const TDesC16> IF_FLOGGING(aFmt), ...)
- {
-#ifdef __FLOG_ACTIVE
- VA_LIST list;
- VA_START(list, aFmt);
-
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.WriteFormat(aFmt, list);
- }
- else
- {
- RFileLogger::WriteFormat(KSubsystem, aCmpt, aFmt, list);
- }
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::WriteFormat(const TDesC8& IF_FLOGGING(aCmpt), TRefByValue<const TDesC16> IF_FLOGGING(aFmt), VA_LIST& IF_FLOGGING(aList))
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.WriteFormat(aFmt, aList);
- }
- else
- {
- RFileLogger::WriteFormat(KSubsystem, aCmpt, aFmt, aList);
- }
-#endif
- }
-
-
-EXPORT_C /*static*/ void CObexLog::HexDump(const TDesC8& IF_FLOGGING(aCmpt), const TText* IF_FLOGGING(aHeader), const TText* IF_FLOGGING(aMargin), const TUint8* IF_FLOGGING(aPtr), TInt IF_FLOGGING(aLen))
- {
-#ifdef __FLOG_ACTIVE
- GETLOG;
-
- if (__logger)
- {
- __logger->SetLogTags(aCmpt);
- __logger->iLogEngine.HexDump(aHeader, aMargin, aPtr, aLen);
- }
- else
- {
- RFileLogger::HexDump(KSubsystem, aCmpt, TPtrC8(aPtr, aLen), KNullDesC8);
- }
-#endif
- }
-
-
-
-
-
-
-
-/**
-Leave (if error) verbosely- log name of file and line number just before
-leaving.
-@param aFile The file we're leaving from.
-@param aLine The line number we're leaving from.
-@param aReason The leave code.
-*/
-EXPORT_C void VerboseLeaveIfErrorL(const TDesC8& IF_FLOGGING(aCpt),
- char* IF_FLOGGING(aFile),
- TInt IF_FLOGGING(aLine),
- TInt IF_FLOGGING(aReason))
- {
-#ifdef __FLOG_ACTIVE
- // only leave if an error value
- if ( aReason >= KErrNone )
- {
- return;
- }
-
- _LIT8(KLeavePrefix, "LEAVE: ");
-
- TPtrC8 fullFileName((const TUint8*)aFile);
- TPtrC8 fileName(fullFileName.Ptr()+fullFileName.LocateReverse('\\')+1);
-
- TBuf8<256> buf;
- buf.Append(KLeavePrefix);
- buf.AppendFormat(_L8("aReason = %d [file %S, line %d]"), aReason, &fileName,
- aLine);
- CObexLog::Write(aCpt, buf);
-
- // finally
- User::Leave(aReason);
-#endif
- }
-
-/**
-Panic verbosely- log name of file and line number just before panicking.
-@param aFile The file that's panicking.
-@param aLine The line number that's panicking.
-@param aReason The panic code.
-@param aPanicName The text of the panic code.
-@param aPanicCategory The panic category.
-*/
-EXPORT_C void VerbosePanic(const TDesC8& IF_FLOGGING(aCpt),
- char* IF_FLOGGING(aFile),
- TInt IF_FLOGGING(aLine),
- TInt IF_FLOGGING(aPanicCode),
- TText8* IF_FLOGGING(aPanicName),
- const TDesC& IF_FLOGGING(aPanicCategory))
- {
-#ifdef __FLOG_ACTIVE
- _LIT8(KPanicPrefix, "PANIC: code ");
-
- TPtrC8 fullFileName((const TUint8*)aFile);
- TPtrC8 fileName(fullFileName.Ptr()+fullFileName.LocateReverse('\\')+1);
-
- TBuf8<256> buf;
- buf.Append(KPanicPrefix);
- buf.AppendFormat(_L8("%d = %s [file %S, line %d]"),
- aPanicCode,
- aPanicName,
- &fileName,
- aLine);
- CObexLog::Write(aCpt, buf);
-
- // finally
- User::Panic(aPanicCategory, aPanicCode);
-#endif
- }
-
-#ifdef __FLOG_ACTIVE
-_LIT8(KInstrumentIn, ">>%S this = [0x%08x]");
-_LIT8(KInstrumentOut, "<<%S");
-#endif
-
-EXPORT_C TFunctionLogger::TFunctionLogger(const TDesC8& IF_FLOGGING(aCpt), const TDesC8& IF_FLOGGING(aString), TAny* IF_FLOGGING(aThis))
- {
-#ifdef __FLOG_ACTIVE
- iCpt.Set(aCpt);
- iString.Set(aString);
- CObexLog::WriteFormat(iCpt, KInstrumentIn, &iString, aThis);
-#endif
- }
-
-EXPORT_C TFunctionLogger::~TFunctionLogger()
- {
-#ifdef __FLOG_ACTIVE
- CObexLog::WriteFormat(iCpt, KInstrumentOut, &iString);
-#endif
- }
-