diff -r 000000000000 -r 7f656887cf89 plugins/consoles/win32cons/src/win32cons.h --- /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 +#include + +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__ + +