--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/plugins/consoles/win32cons/src/win32cons.h Wed Jun 23 15:52:26 2010 +0100
@@ -0,0 +1,86 @@
+// win32cons.h
+//
+// 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
+//
+
+#ifndef __win32cons_h__
+#define __win32cons_h__
+
+#define WIN32_LEAN_AND_MEAN
+#include <windows.h>
+#include <e32keys.h>
+
+class TWin32Console
+ {
+public:
+ /**
+ Return non-zero on success.
+ */
+ int AttachConsole();
+ void FreeConsole();
+ int Write(const char* aText, int aLen);
+ int Write(const WCHAR* aText, int aLen);
+ int WriteStdErr(const char* aText, int aLen);
+ int WriteStdErr(const WCHAR* aText, int aLen);
+ int Read(void* buf, int len, int& bytesRead);
+ int ReadKey(TKeyCode& aCode, TUint& aModifiers);
+ int GetCursorPos(int& aX, int& aY) const;
+ int SetCursorPos(int aX, int aY);
+ int SetCursorPosRel(int aX, int aY);
+ int SetCursorHeight(int aPercentage);
+ int SetTitle(const char* aTitle);
+ int ClearScreen();
+ int ClearToEndOfLine();
+ int GetScreenSize(int& aWidth, int& aHeight) const;
+
+ // Copied from consoleextensions.h
+ enum TAttribute
+ {
+ ENone = 0x0001,
+ EBold = 0x0002,
+ EUnderscore = 0x0004,
+ EBlink = 0x0008,
+ EInverse = 0x0010,
+ EConceal = 0x0020
+ };
+ enum TColor
+ {
+ EBlack,
+ ERed,
+ EGreen,
+ EYellow,
+ EBlue,
+ EMagenta,
+ ECyan,
+ EWhite,
+ EReset,
+ EUnchanged
+ };
+ int SetAttributes(unsigned aAttributes, TWin32Console::TColor aForegroundColor, TWin32Console::TColor aBackgroundColor);
+
+private:
+ int AttachOrAllocConsole();
+private:
+ bool iHaveConsole;
+ void* iStdOutHandle;
+ void* iStdErrHandle;
+ void* iStdinHandle;
+ unsigned long iOldConsMode;
+ bool iConsModeSet;
+ KEY_EVENT_RECORD iCachedKey;
+ WORD iOrigAttributes;
+ };
+
+void DebugMsg(const char* aMsg, ...);
+void DebugMsg(const unsigned short int* aMsg, ...);
+
+#endif //__win32cons_h__
+
+