plugins/consoles/rcons/server/win32/Misc.cpp
changeset 0 7f656887cf89
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/consoles/rcons/server/win32/Misc.cpp	Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,100 @@
+// Misc.cpp
+// 
+// Copyright (c) 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 "Misc.h"
+
+void* operator new(size_t n, TThrow)
+	{
+	void* cell = ::operator new(n);
+	if (!cell)
+		{
+		throw KExceptionNoMemory;
+		}
+	return cell;
+	}
+
+void operator delete(void* const p, TThrow)
+	{
+	::operator delete(p);
+	}
+
+void* operator new[](size_t n, TThrow)
+	{
+	void* cell = ::operator new[](n);
+	if (!cell)
+		{
+		throw KExceptionNoMemory;
+		}
+	return cell;
+	}
+
+void operator delete[](void* const p, TThrow)
+	{
+	::operator delete[](p);
+	}
+
+void Panic()
+	{
+	_asm int 3;
+	}
+
+void DebugLog(LPCTSTR aFormat, ...)
+	{
+	const int KMaxFormatBuf = 256;
+	va_list args;
+	va_start(args, aFormat);
+	TCHAR buf[KMaxFormatBuf];
+	int length = _vsnwprintf(buf, KMaxFormatBuf, aFormat, args);
+	OutputDebugString(buf);
+	OutputDebugString(TEXT("\r\n"));
+	}
+
+bool FileExists(LPCTSTR aFileName)
+	{
+	int att = GetFileAttributes(aFileName);
+	return (att > 0);
+	}
+
+void ConvertNarrowToWide(const char* aNarrow, int aLength, WCHAR* aWide)
+	{
+	for (int i = 0; i < aLength; ++i)
+		{
+		aWide[i] = (unsigned short)aNarrow[i];
+		}
+	aWide[aLength] = TCHAR('\0');
+	}
+
+void ConvertNarrowToWideAlloc(const char* aNarrow, int aLength, WCHAR*& aWide)
+	{
+	aWide = new WCHAR[aLength + 1];
+	if (aWide)
+		{
+		ConvertNarrowToWide(aNarrow, aLength, aWide);
+		}
+	}
+
+void ConvertWideToNarrow(const WCHAR* aWide, int aLength, char* aNarrow)
+	{
+	for (int i = 0; i < aLength; ++i)
+		{
+		aNarrow[i] = (char)aWide[i];
+		}
+	aNarrow[aLength] = '\0';
+	}
+
+void ConvertWideToNarrowAlloc(const WCHAR* aWide, int aLength, char*& aNarrow)
+	{
+	aNarrow = new char[aLength + 1];
+	if (aNarrow)
+		{
+		ConvertWideToNarrow(aWide, aLength, aNarrow);
+		}
+	}