00001
00002
00003
00004
00005
00006
00007
00008 #ifndef _SK_IO_INPUTSTREAM_
00009 #define _SK_IO_INPUTSTREAM_
00010
00011 #include <sk/util/Object.h>
00012 #include <vector>
00013
00014 namespace sk {
00015 namespace io {
00016 class InputStream
00017 : public virtual sk::util::Object
00018 {
00019 public:
00021 virtual char read() = 0;
00022
00025 virtual int read(char* buffer, int offset, int length) = 0;
00026
00029 virtual std::vector<char> read(int number) = 0;
00030
00035 virtual std::vector<char>& read(std::vector<char>& buffer, int number) = 0;
00036
00039 virtual void close() = 0;
00040
00042 virtual int skip(int number) = 0;
00043
00047 virtual long long available() const = 0;
00048
00050 virtual bool markSupported() const = 0;
00051
00053 virtual void mark(int readlimit) = 0;
00054
00057 virtual void reset() = 0;
00058 };
00059 }
00060 }
00061
00062 #endif