diff options
Diffstat (limited to 'src/stream.h')
| -rw-r--r-- | src/stream.h | 58 |
1 files changed, 58 insertions, 0 deletions
diff --git a/src/stream.h b/src/stream.h index ba070d3..056de0c 100644 --- a/src/stream.h +++ b/src/stream.h | |||
| @@ -22,17 +22,66 @@ namespace Bu | |||
| 22 | Stream(); | 22 | Stream(); |
| 23 | virtual ~Stream(); | 23 | virtual ~Stream(); |
| 24 | 24 | ||
| 25 | /** | ||
| 26 | * Close the stream. | ||
| 27 | */ | ||
| 25 | virtual void close() = 0; | 28 | virtual void close() = 0; |
| 29 | |||
| 30 | /** | ||
| 31 | * Read data from the stream into a buffer. | ||
| 32 | *@param pBuf (void *) Buffer which will be filled. | ||
| 33 | *@param nBytes (size_t) Max data to read. | ||
| 34 | *@returns (size_t) Amount of data read. | ||
| 35 | */ | ||
| 26 | virtual size_t read( void *pBuf, size_t nBytes ) = 0; | 36 | virtual size_t read( void *pBuf, size_t nBytes ) = 0; |
| 37 | |||
| 38 | /** | ||
| 39 | * Write data to the stream. | ||
| 40 | *@param pBuf (const void *) The data to be written. | ||
| 41 | *@param nBytes (size_t) Amount of data to write from pBuf. | ||
| 42 | *@returns (size_t) Amount of data actually written. | ||
| 43 | */ | ||
| 27 | virtual size_t write( const void *pBuf, size_t nBytes ) = 0; | 44 | virtual size_t write( const void *pBuf, size_t nBytes ) = 0; |
| 28 | 45 | ||
| 46 | /** | ||
| 47 | * Get the current position in the stream. | ||
| 48 | *@returns (long) The current position in the stream. | ||
| 49 | */ | ||
| 29 | virtual long tell() = 0; | 50 | virtual long tell() = 0; |
| 51 | |||
| 52 | /** | ||
| 53 | * Seek to a position in the stream relative to the current position. | ||
| 54 | *@param offset (long) Offset from current position to seek to. | ||
| 55 | */ | ||
| 30 | virtual void seek( long offset ) = 0; | 56 | virtual void seek( long offset ) = 0; |
| 57 | |||
| 58 | /** | ||
| 59 | * Set position in the stream relative to the start of the stream. | ||
| 60 | *@param pos (long) The position. | ||
| 61 | */ | ||
| 31 | virtual void setPos( long pos ) = 0; | 62 | virtual void setPos( long pos ) = 0; |
| 63 | |||
| 64 | /** | ||
| 65 | * Set position in the stream relative to the end of the stream. | ||
| 66 | *@param pos (long) The position. | ||
| 67 | */ | ||
| 32 | virtual void setPosEnd( long pos ) = 0; | 68 | virtual void setPosEnd( long pos ) = 0; |
| 69 | |||
| 70 | /** | ||
| 71 | * Are we at the end of the stream? | ||
| 72 | *@returns (bool) Are we at the end of the stream? | ||
| 73 | */ | ||
| 33 | virtual bool isEOS() = 0; | 74 | virtual bool isEOS() = 0; |
| 75 | |||
| 76 | /** | ||
| 77 | * Is the stream open? | ||
| 78 | *@returns (bool) Is the stream open? | ||
| 79 | */ | ||
| 34 | virtual bool isOpen() = 0; | 80 | virtual bool isOpen() = 0; |
| 35 | 81 | ||
| 82 | /** | ||
| 83 | * Flush any data still held in buffers. | ||
| 84 | */ | ||
| 36 | virtual void flush() = 0; | 85 | virtual void flush() = 0; |
| 37 | 86 | ||
| 38 | /** | 87 | /** |
| @@ -71,7 +120,16 @@ namespace Bu | |||
| 71 | */ | 120 | */ |
| 72 | virtual bool isSeekable() = 0; | 121 | virtual bool isSeekable() = 0; |
| 73 | 122 | ||
| 123 | /** | ||
| 124 | * Are we currently set to block mode? | ||
| 125 | *@returns (bool) | ||
| 126 | */ | ||
| 74 | virtual bool isBlocking() = 0; | 127 | virtual bool isBlocking() = 0; |
| 128 | |||
| 129 | /** | ||
| 130 | * Set stream to blocking or non-blocking mode. | ||
| 131 | *@param bBlocking (bool) Whether we should block or not. | ||
| 132 | */ | ||
| 75 | virtual void setBlocking( bool bBlocking=true ) = 0; | 133 | virtual void setBlocking( bool bBlocking=true ) = 0; |
| 76 | 134 | ||
| 77 | public: // Filters | 135 | public: // Filters |
