8#ifndef __WVISTREAMLIST_H
9#define __WVISTREAMLIST_H
14DeclareWvList2(WvIStreamListBase,
IWvStream);
31 { sure_thing.unlink(data); WvIStreamListBase::unlink(data); }
36 WvIStreamListBase::add_after(after, data, autofree,
id);
38 void add(
IWvStream *data,
bool autofree,
const char *
id)
40 WvIStreamListBase::add(data, autofree,
id);
42 void prepend(
IWvStream *data,
bool autofree,
const char *
id)
44 WvIStreamListBase::prepend(data, autofree,
id);
52 WvIStreamListBase sure_thing;
67 static void onfork(pid_t p);
71 void append(
IWvStream *s,
bool auto_free,
const char *
id)
73 if (s->wsname() == NULL)
75 WvIStreamListBase::append(s, auto_free,
id);
77 void append(
IWvStream *s,
bool auto_free, WVSTRING_FORMAT_DECL)
79 if (s->wsname() == NULL)
80 s->set_wsname(
WvString(WVSTRING_FORMAT_CALL));
81 WvIStreamListBase::append(s, auto_free, s->wsname());
85 const char *wstype()
const {
return "WvIStreamList"; }
88 static void add_debugger_commands();
92 WvStreamsDebugger::ResultCallback result_cb,
void *);
A WvFastString acts exactly like a WvString, but can take (const char *) strings without needing to a...
WvStreamList holds a list of WvStream objects – and its select() and callback() functions know how to...
virtual bool isok() const
return true if the stream is actually usable right now
virtual bool post_select(SelectInfo &si)
post_select() is called after select(), and returns true if this object is now ready.
virtual void pre_select(SelectInfo &si)
pre_select() sets up for eventually calling select().
virtual void execute()
The callback() function calls execute(), and then calls the user- specified callback if one is define...
WvLink is one element of a WvList<T>.
Unified support for streams, that is, sequences of bytes that may or may not be ready for read/write ...
This is a WvList of WvStrings, and is a really handy way to parse strings.
WvString is an implementation of a simple and efficient printable-string class.
the data structure used by pre_select()/post_select() and internally by select().