00001
00002
00003
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