diff -r 000000000000 -r e4d67989cc36 genericopenlibs/openenvcore/backend/inc/consolestream.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/genericopenlibs/openenvcore/backend/inc/consolestream.h Tue Feb 02 02:01:42 2010 +0200 @@ -0,0 +1,71 @@ +/* +* Copyright (c) 2006-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: +* Name : consolestream.h +* Part of : stdio server +* To handle console read and write +* +* +*/ + + + + +#ifndef _CONSOLESTREAM_H_ +#define _CONSOLESTREAM_H_ + +#include "streambase.h" //CStreamBase +#include "ReadRequestHandler.h" //MRead and CReadRequestHandler +#include + + +class CConsoleBase; + +//Enumerations for the console echo - server side +enum TConsoleEcho + { + EOff = 0, //Turn Off the echo + EOn = 1, //Turn On the echo + EPrintValid = 33, //Printable ascii character set <33-126> + EPrintInvalid=127 + }; + +//----------------------------------------------------------------------- +//Class name: CConsoleStream +//Description: This class represents the console stream abstraction. +// It is created through the factory class CConsoleStreamFactory +//----------------------------------------------------------------------- +class CConsoleStream : public CStreamBase + { +public: + static CConsoleStream* NewL(TInt aWidth, TInt aHeight); + virtual void WriteL(TDes8& aDes); + virtual void Read(TRequestStatus& aStatus, const TInt aLength); + ~CConsoleStream(); + virtual void ReadCancel(); + TDes8& Buf(); + TInt SetEcho(TUint8 aEcho); + TStreamType Type() { return EConsole;} + +private: + CConsoleStream(); + void ConstructL(TSize aConsoleSize); + CConsoleBase* iConsole; + TInt iBufPos; + TUint8 iEchoVal; //decides what to echo + void HandleBuf(TKeyCode & key); + TBuf8<1> iTbuf; + }; + + #endif //_CONSOLESTREAM_H_