Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | File List | Namespace Members | Class Members | File Members | Related Pages

wvconstream.cc

Go to the documentation of this file.
00001 /*
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  * 
00005  * Declarations for wvcon, wvin, wvout, and wverr global streams.
00006  */
00007 #include "wvfdstream.h"
00008 
00009 // just like WvFDStream, but doesn't close the fd
00010 class _WvConStream : public WvFDStream
00011 {
00012 public:
00013     bool isopen;
00014     
00015     _WvConStream(int _rfd, int _wfd);
00016     virtual ~_WvConStream();
00017     virtual void close();
00018     virtual bool isok() const;
00019 };
00020 
00021 
00022 _WvConStream::_WvConStream(int _rfd, int _wfd) : WvFDStream(_rfd, _wfd)
00023 {
00024     isopen = true;
00025 }
00026 
00027 
00028 _WvConStream::~_WvConStream()
00029 {
00030     close();
00031 }
00032 
00033 
00034 void _WvConStream::close()
00035 {
00036     isopen = false;
00037     setfd(-1); // prevent WvFdStream from closing our fds
00038     WvFDStream::close();
00039 }
00040 
00041 
00042 bool _WvConStream::isok() const
00043 {
00044     return isopen;
00045 }
00046 
00047 
00048 // console streams
00049 #ifdef _WIN32
00050 
00051 #include "../Win32WvStreams/streams/streams.h"
00052 SocketFromFDMaker _zero(0, fd2socket_fwd);
00053 SocketFromFDMaker _one(1, socket2fd_fwd);
00054 SocketFromFDMaker _two(2, socket2fd_fwd);
00055 
00056 static WvFDStream _wvcon(_zero.GetSocket(), _one.GetSocket());
00057 static WvFDStream _wvin(_zero.GetSocket(), -1);
00058 static WvFDStream _wvout(-1, _one.GetSocket());
00059 static WvFDStream _wverr(-1, _two.GetSocket());
00060 
00061 #else // _WIN32
00062 
00063 static _WvConStream _wvcon(0, 1);
00064 static _WvConStream _wvin(0, -1);
00065 static _WvConStream _wvout(-1, 1);
00066 static _WvConStream _wverr(-1, 2);
00067 
00068 #endif // !_WIN32
00069 
00070 WvStream *wvcon = &_wvcon;
00071 WvStream *wvin = &_wvin;
00072 WvStream *wvout = &_wvout;
00073 WvStream *wverr = &_wverr;
00074 

Generated on Sat Feb 21 21:05:26 2004 for WvStreams by doxygen 1.3.5