diff options
author | Mike Buland <eichlan@xagasoft.com> | 2007-06-18 19:42:34 +0000 |
---|---|---|
committer | Mike Buland <eichlan@xagasoft.com> | 2007-06-18 19:42:34 +0000 |
commit | 8b12972092777af56ae21f65b41f4c40d52c2367 (patch) | |
tree | 3ee45c4b69899acb0cdbd013ea8e6ea54bcdc023 /src/stream.h | |
parent | 5292e5831934dc719d1ac06332bd252abe4ac3bc (diff) | |
download | libbu++-8b12972092777af56ae21f65b41f4c40d52c2367.tar.gz libbu++-8b12972092777af56ae21f65b41f4c40d52c2367.tar.bz2 libbu++-8b12972092777af56ae21f65b41f4c40d52c2367.tar.xz libbu++-8b12972092777af56ae21f65b41f4c40d52c2367.zip |
Added the protocol class. servers work, but don't send data, updated the streams
to include many more state indicators and caps queries, and everything is
working better in general.
Diffstat (limited to 'src/stream.h')
-rw-r--r-- | src/stream.h | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/src/stream.h b/src/stream.h index a80586b..ba070d3 100644 --- a/src/stream.h +++ b/src/stream.h | |||
@@ -31,12 +31,45 @@ namespace Bu | |||
31 | virtual void setPos( long pos ) = 0; | 31 | virtual void setPos( long pos ) = 0; |
32 | virtual void setPosEnd( long pos ) = 0; | 32 | virtual void setPosEnd( long pos ) = 0; |
33 | virtual bool isEOS() = 0; | 33 | virtual bool isEOS() = 0; |
34 | virtual bool isOpen() = 0; | ||
34 | 35 | ||
35 | virtual void flush() = 0; | 36 | virtual void flush() = 0; |
36 | 37 | ||
38 | /** | ||
39 | * In non-blocking streams this indicates if a read operation will | ||
40 | * return data at the moment or not. In blocking streams this should | ||
41 | * return the same value as isEOS(). | ||
42 | */ | ||
37 | virtual bool canRead() = 0; | 43 | virtual bool canRead() = 0; |
44 | |||
45 | /** | ||
46 | * In non-blocking streams this indicates if a write operation will | ||
47 | * succeed or fail. In some cases writing is not allowed (e.g. | ||
48 | * internal buffers are full) temporarilly. In blocking streams this | ||
49 | * should return the same value as isWritable. | ||
50 | */ | ||
38 | virtual bool canWrite() = 0; | 51 | virtual bool canWrite() = 0; |
39 | virtual bool canSeek() = 0; | 52 | |
53 | /** | ||
54 | * Indicates if the stream is capable of read operations. This does not | ||
55 | * indicate if such operations will return useful data, see canRead for | ||
56 | * that. | ||
57 | */ | ||
58 | virtual bool isReadable() = 0; | ||
59 | |||
60 | /** | ||
61 | * Indicates if the stream is capable of write operations. This does | ||
62 | * not indicate if such operations will succeed or fail, see canWrite | ||
63 | * for that. | ||
64 | */ | ||
65 | virtual bool isWritable() = 0; | ||
66 | |||
67 | /** | ||
68 | * Indicates if the stream is capable of seek operations. This is | ||
69 | * generally false for non-blocking streams. Some buffered streams may | ||
70 | * support limited in-buffer seeking. | ||
71 | */ | ||
72 | virtual bool isSeekable() = 0; | ||
40 | 73 | ||
41 | virtual bool isBlocking() = 0; | 74 | virtual bool isBlocking() = 0; |
42 | virtual void setBlocking( bool bBlocking=true ) = 0; | 75 | virtual void setBlocking( bool bBlocking=true ) = 0; |