WvStreams
wvbufstream.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2002 Net Integration Technologies, Inc.
00004  *
00005  * A buffered loopback stream.
00006  */ 
00007 #ifndef __WVBUFSTREAM_H
00008 #define __WVBUFSTREAM_H
00009 
00010 #include "wvstream.h"
00011 
00031 class WvBufStream : public WvStream
00032 {
00033     bool dead, 
00034          eof;  
00036 public:
00037     WvBufStream();
00038     virtual ~WvBufStream();
00039         
00040     virtual void close();
00041     
00042     virtual size_t uread(void *buf, size_t size);
00043     virtual size_t uwrite(const void *buf, size_t size);
00044     virtual bool isok() const;
00045     virtual void pre_select(SelectInfo &si);
00046     virtual bool post_select(SelectInfo &si);
00047     
00048     void seteof() { eof = true; }
00049 };
00050 
00051 
00052 #endif // __WVBUFSTREAM_H