os/ossrv/genericopenlibs/openenvcore/backend/inc/streambase.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200 (2012-06-15)
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
/*
sl@0
     2
* Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     3
* All rights reserved.
sl@0
     4
* This component and the accompanying materials are made available
sl@0
     5
* under the terms of "Eclipse Public License v1.0"
sl@0
     6
* which accompanies this distribution, and is available
sl@0
     7
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     8
*
sl@0
     9
* Initial Contributors:
sl@0
    10
* Nokia Corporation - initial contribution.
sl@0
    11
*
sl@0
    12
* Contributors:
sl@0
    13
*
sl@0
    14
* Description:
sl@0
    15
* Name        : streambase.h
sl@0
    16
* Part of     : stdio server
sl@0
    17
* base implementation for media types
sl@0
    18
*
sl@0
    19
*/
sl@0
    20
sl@0
    21
sl@0
    22
sl@0
    23
sl@0
    24
#ifndef _STREAMBASE_H_
sl@0
    25
#define _STREAMBASE_H_
sl@0
    26
sl@0
    27
#include <e32base.h>//CBase
sl@0
    28
sl@0
    29
sl@0
    30
const TInt KMaxStatusTextLength = 128;
sl@0
    31
sl@0
    32
enum TStreamType
sl@0
    33
	{
sl@0
    34
	EConsole =0,
sl@0
    35
	EFile,
sl@0
    36
	ESerial,
sl@0
    37
	ENull
sl@0
    38
	};
sl@0
    39
sl@0
    40
//-----------------------------------------------------------------------
sl@0
    41
//Class name: CStreamBase
sl@0
    42
//Description: Abstract class that defines stream like objects.
sl@0
    43
//-----------------------------------------------------------------------
sl@0
    44
class CStreamBase : public CBase
sl@0
    45
	{
sl@0
    46
public:
sl@0
    47
	virtual void WriteL(TDes8& aDes) = 0;
sl@0
    48
	virtual void Read(TRequestStatus& aStatus, const TInt aLength) = 0;
sl@0
    49
	virtual TDes8& Buf();
sl@0
    50
 	virtual void ReadCancel() = 0;	
sl@0
    51
 	virtual TStreamType Type() = 0;
sl@0
    52
	virtual ~CStreamBase()
sl@0
    53
		{
sl@0
    54
		}
sl@0
    55
protected:
sl@0
    56
	TBuf8<256> iBuf; 	// buffer for holding stdin characters
sl@0
    57
	CStreamBase()
sl@0
    58
		{
sl@0
    59
		iBuf.Zero();
sl@0
    60
		}
sl@0
    61
	};
sl@0
    62
sl@0
    63
#endif //_STREAMBASE_H_