00001
00002
00003
00004
00005
00006
00007
#include "wvfdstream.h"
00008
00009
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);
00038
WvFDStream::close();
00039 }
00040
00041
00042
bool _WvConStream::isok()
const
00043
{
00044
return isopen;
00045 }
00046
00047
00048
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