/****************************************************************************** * * abstract stream interfaces */ #ifndef KMLIB_STREAM_HPP_ #define KMLIB_STREAM_HPP_ /*! interface InputStream */ class InputStream { public: virtual ~InputStream(){} virtual bool isValid() const = 0; virtual unsigned long read(void *, unsigned long size) = 0; }; /*! interface OutputStream */ class OutputStream { public: virtual ~OutputStream() {} virtual bool isValid() const = 0; virtual unsigned long write(const void *, unsigned long size) = 0; }; #endif // KMLIB_STREAM_HPP_