8#ifndef __WVISTREAMLIST_H
9#define __WVISTREAMLIST_H
14DeclareWvList2(WvIStreamListBase,
IWvStream);
25 virtual bool isok()
const;
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 void pre_select(SelectInfo &si)
pre_select() sets up for eventually calling ::select().
virtual bool post_select(SelectInfo &si)
post_select() is called after ::select(), and returns true if this object is now ready.
virtual bool isok() const
return true if the stream is actually usable right now
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().