Update contrib.
1 // Copyright (c) 1998-2009 Nokia Corporation and/or its subsidiary(-ies).
2 // All rights reserved.
3 // This component and the accompanying materials are made available
4 // under the terms of "Eclipse Public License v1.0"
5 // which accompanies this distribution, and is available
6 // at the URL "http://www.eclipse.org/legal/epl-v10.html".
8 // Initial Contributors:
9 // Nokia Corporation - initial contribution.
23 // Largely default STDLIB file descriptor for accessing Win32 streams
24 // We could in principle widen the RWin32Stream interface to allow for
25 // things like stat, but that can wait until it seems to be necessary!
27 class CW32StreamDesc : public CFileDescBase
30 TInt Attach(TInt aStream);
31 virtual void Read(TDes8& aDesc, TRequestStatus& aStatus);
32 virtual void Write(TDes8& aDesc, TRequestStatus& aStatus);
33 virtual void Flush(TRequestStatus& aStatus);
35 virtual TInt FinalClose();
40 TInt CW32StreamDesc::Attach(TInt aStream)
42 return iStream.Open(aStream);
45 void CW32StreamDesc::Read(TDes8& aDesc, TRequestStatus& aStatus)
47 iStream.Read(aStatus, aDesc);
50 void CW32StreamDesc::Write(TDes8& aDesc, TRequestStatus& aStatus)
52 iStream.Write(aStatus, aDesc);
55 void CW32StreamDesc::Flush(TRequestStatus& aStatus)
57 iStream.Flush(aStatus);
60 TInt CW32StreamDesc::FinalClose()
68 void CPosixServer::DefaultConsoleL()
71 // Try to attach Win32 stdin/stdout/stderr
75 CW32StreamDesc* stream=new(ELeave) CW32StreamDesc;
76 if (stream->Attach(i)==KErrNone)
77 iFids.Attach(i, stream);
82 // set up default fids
83 CRedirDesc* redirector = new(ELeave) CRedirDesc;
84 // redirector->Connect();
85 iFids.Default(redirector);