ByteArrayInputStream.h
Go to the documentation of this file.00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00023 #ifndef _CLASS_BEE_IO_BYTEARRAYINPUTSTREAM_H
00024 #define _CLASS_BEE_IO_BYTEARRAYINPUTSTREAM_H
00025 
00026 #ifdef __cplusplus
00027 
00028 #include "beecrypt/c++/io/InputStream.h"
00029 using beecrypt::io::InputStream;
00030 
00031 namespace beecrypt {
00032     namespace io {
00035         class BEECRYPTCXXAPI ByteArrayInputStream : public InputStream
00036         {
00037         protected:
00038             bytearray _buf;
00039             jint      _count;
00040             jint      _mark;
00041             jint      _pos;
00042 
00043         public:
00044             ByteArrayInputStream(const byte* data, jint offset, jint length);
00045             ByteArrayInputStream(const bytearray& b);
00046             virtual ~ByteArrayInputStream();
00047 
00048             virtual jint available() throw (IOException);
00049             virtual void close() throw (IOException);
00050             virtual void mark(jint readlimit) throw ();
00051             virtual bool markSupported() throw ();
00052             virtual jint read() throw (IOException);
00053             virtual jint read(byte* data, jint offset, jint length) throw (IOException);
00054             virtual jint read(bytearray& b) throw (IOException);
00055             virtual void reset() throw (IOException);
00056             virtual jint skip(jint n) throw (IOException);
00057         };
00058     }
00059 }
00060 
00061 #endif
00062 
00063 #endif