From c54abe884b175add134cc07e8fda31ffa65cac26 Mon Sep 17 00:00:00 2001 From: Bertrand Guiheneuf Date: Sun, 1 Aug 1999 21:36:42 +0000 Subject: new memory buffer based stream. * camel/camel-stream-mem.c: * camel/camel-stream-mem.h: new memory buffer based stream. * camel/camel-stream-fs.c (_seek): implementation for file system based stream. * camel/camel-stream.c (camel_stream_seek): new method. * camel/camel-stream-fs.c (camel_stream_fs_class_init): pass CamelStreamFsClass instead of CamelStreamClass. svn path=/trunk/; revision=1056 --- camel/camel-stream.h | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'camel/camel-stream.h') diff --git a/camel/camel-stream.h b/camel/camel-stream.h index 9818e492fb..4b4ea50b5b 100644 --- a/camel/camel-stream.h +++ b/camel/camel-stream.h @@ -38,7 +38,12 @@ extern "C" { #define CAMEL_STREAM_CLASS(k) (GTK_CHECK_CLASS_CAST ((k), CAMEL_STREAM_TYPE, CamelStreamClass)) #define IS_CAMEL_STREAM(o) (GTK_CHECK_TYPE((o), CAMEL_STREAM_TYPE)) - +typedef enum +{ + CAMEL_STREAM_SET, + CAMEL_STREAM_CUR, + CAMEL_STREAM_END +} CamelStreamSeekPolicy; typedef struct { @@ -58,6 +63,7 @@ typedef struct { gint (*available) (CamelStream *stream); gboolean (*eos) (CamelStream *stream); void (*close) (CamelStream *stream); + gint (*seek) (CamelStream *stream, gint offset, CamelStreamSeekPolicy policy); } CamelStreamClass; @@ -73,6 +79,7 @@ void camel_stream_flush (CamelStream *stream); gint camel_stream_available (CamelStream *stream); gboolean camel_stream_eos (CamelStream *stream); void camel_stream_close (CamelStream *stream); +gint camel_stream_seek (CamelStream *stream, gint offset, CamelStreamSeekPolicy policy); /* utility macros and funcs */ #define camel_stream_write_string(stream, string) camel_stream_write ((stream), (string), strlen (string)) -- cgit