WvStreams
wvmagicloopback.h
00001 /* -*- Mode: C++ -*-
00002  * Worldvisions Weaver Software:
00003  *   Copyright (C) 1997-2004 Net Integration Technologies, Inc.
00004  */
00005 #ifndef __WVMAGICLOOPBACK_H
00006 #define __WVMAGICLOOPBACK_H
00007 
00008 #include "wvmagiccircle.h"
00009 #include "wvloopback.h"
00010 
00011 class WvMagicLoopback : public WvStream
00012 {
00013 public:
00014 
00015     WvMagicLoopback(size_t size);
00016     
00017     virtual void pre_select(SelectInfo &si);
00018     virtual bool post_select(SelectInfo &si);
00019     
00020     virtual size_t uread(void *buf, size_t len);
00021     virtual size_t uwrite(const void *buf, size_t len);
00022 
00023 private:
00024  
00025     WvMagicCircle circle;
00026     WvLoopback loop;
00027     
00028 public:
00029     const char *wstype() const { return "WvMagicLoopback"; }
00030 };
00031 
00032 #endif // __WVMAGICLOOPBACK_H