plugins/networking/winsockprt/src/wsp_log.cpp
author Tom Sutcliffe <thomas.sutcliffe@accenture.com>
Sat, 28 Aug 2010 00:12:38 +0100
changeset 42 e81b4e28b3e2
parent 0 7f656887cf89
permissions -rw-r--r--
Added sf\3tshell platform with support for building beagle textshell+fshell ROMs. As part of that: * Added baserom command and tweaked it to be more friendly with SF baselines. * Lots of build fixes Also cd now makes sure the current working directory matches the file system with respect to case.

// wsp_log.cpp
// 
// Copyright (c) 2004 - 2010 Accenture. All rights reserved.
// This component and the accompanying materials are made available
// under the terms of the "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:
// Accenture - Initial contribution
//

#include "wsp_log.h"

#ifdef WSP_LOGGING

#include <comms-infras/commsdebugutility.h>

_LIT8(KSubSystem, "fshell");
_LIT8(KComponent, "winsockprt");  


RFileLogger& Logger()
	{
	return *(static_cast<RFileLogger*>(Dll::Tls()));
	}

TInt WspLog::Open()
	{
	RFileLogger* logger = new RFileLogger();
	if (logger == NULL)
		{
		return KErrNoMemory;
		}

	TInt err = logger->Connect();
	if (err == KErrNone)
		{
		err = logger->SetLogTags(KSubSystem(), KComponent());
		if (err == KErrNone)
			{
			Dll::SetTls(logger);
			}
		}

	return err;
	}

void WspLog::Close()
	{
	RFileLogger* logger = &(Logger());
	logger->Close();
	delete logger;
	Dll::SetTls(NULL);
	}

void WspLog::Write(const TDesC& aDes)
	{
	Logger().Write(aDes);
	}

void WspLog::Printf(TRefByValue<const TDesC> aFmt, ...)
	{
	VA_LIST list;
	VA_START(list, aFmt);
	Logger().WriteFormat(aFmt, list);
	}

void WspLog::Printf(TRefByValue<const TDesC8> aFmt, ...)
	{
	VA_LIST list;
	VA_START(list, aFmt);
	Logger().WriteFormat(aFmt, list);
	}

void WspLog::HexDump(const TText* aHeader, const TText* aMargin, const TUint8* aPtr, TInt aLen)
	{
	Logger().HexDump(aHeader, aMargin, aPtr, aLen);
	}

void WspLog::WriteRawInbound(const TDesC8& aDes)
	{
	Logger().Write(_L("In-bound data:"));
	Logger().HexDump(aDes);
	}

void WspLog::WriteRawOutbound(const TDesC8& aDes)
	{
	Logger().Write(_L("Out-bound data:"));
	Logger().HexDump(aDes);
	}


#endif // _DEBUG