#ifndef __REWIND_INPUT_STREAM_H #define __REWIND_INPUT_STREAM_H #include "CrawlerExportable.hpp" #include "URL.hpp" #include #include class RewindInputStream : public std::istream { public: const URL getBaseUrl( ) const { return m_baseUrl; } CRAWLER_DLL_VISIBLE virtual void rewind( ) = 0; virtual std::string lastErrMsg( ) const = 0; protected: RewindInputStream( const URL &url ) : std::istream( 0 ), m_baseUrl( url ) { } private: URL m_baseUrl; }; #endif