diff options
author | Thomas E. Dickey <dickey@invisible-island.net> | 2011-06-11 13:06:08 -0400 |
---|---|---|
committer | Thomas E. Dickey <dickey@invisible-island.net> | 2011-06-11 13:06:08 -0400 |
commit | f06f1fc3d95167ec780cb0963548f2afdd548b20 (patch) | |
tree | 6c12f0dea0a3c860994a46c37d7f32336d39d7db /WWW/Library/Implementation/HTStream.h | |
parent | 279010bc0791556e63b4951d83a2c45252142b80 (diff) | |
download | lynx-snapshots-f06f1fc3d95167ec780cb0963548f2afdd548b20.tar.gz |
snapshot of project "lynx", label v2-8-8dev_8m
Diffstat (limited to 'WWW/Library/Implementation/HTStream.h')
-rw-r--r-- | WWW/Library/Implementation/HTStream.h | 69 |
1 files changed, 69 insertions, 0 deletions
diff --git a/WWW/Library/Implementation/HTStream.h b/WWW/Library/Implementation/HTStream.h new file mode 100644 index 00000000..a7532666 --- /dev/null +++ b/WWW/Library/Implementation/HTStream.h @@ -0,0 +1,69 @@ +/* + * $LynxId: HTStream.h,v 1.16 2011/06/11 12:08:40 tom Exp $ + * + * The Stream class definition -- libwww + STREAM OBJECT DEFINITION + + A Stream object is something which accepts a stream of text. + + The creation methods will vary on the type of Stream Object. All creation + methods return a pointer to the stream type below. + + As you can see, but the methods used to write to the stream and close it are + pointed to be the object itself. + + */ +#ifndef HTSTREAM_H +#define HTSTREAM_H + +#ifndef HTUTILS_H +#include <HTUtils.h> +#endif + +#ifdef __cplusplus +extern "C" { +#endif + typedef struct _HTStream HTStream; + +/* + + These are the common methods of all streams. They should be + self-explanatory. + + */ + typedef struct _HTStreamClass { + + const char *name; /* Just for diagnostics */ + + void (*_free) (HTStream *me); + + void (*_abort) (HTStream *me, HTError e); + + void (*put_character) (HTStream *me, int ch); + + void (*put_string) (HTStream *me, const char *str); + + void (*put_block) (HTStream *me, const char *str, int len); + + } HTStreamClass; + +#ifndef HTSTREAM_INTERNAL + struct _HTStream { + HTStreamClass *isa; + }; +#endif +/* + + Generic Error Stream + + The Error stream simply signals an error on all output methods. + This can be used to stop a stream as soon as data arrives, for + example from the network. + + */ + extern HTStream *HTErrorStream(void); + +#ifdef __cplusplus +} +#endif +#endif /* HTSTREAM_H */ |