1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- #ifndef NULLSOFT_HTTPREADER_H
- #define NULLSOFT_HTTPREADER_H
- #include "api/service/svcs/svc_fileread.h"
- class HttpReader;
- class HTTPReader : public svc_fileReader
- {
- public:
- HTTPReader() {}
- virtual ~HTTPReader() { close(); }
- int isMine( const wchar_t *filename, int mode = SvcFileReader::READ );
- int open( const wchar_t *filename, int mode = SvcFileReader::READ );
- size_t read( int8_t *buffer, size_t length );
- size_t write( const int8_t *buffer, size_t length ) { return 0; }
-
- uint64_t bytesAvailable( uint64_t requested );
-
- void close();
- void abort();
-
- uint64_t getLength();
- uint64_t getPos();
- int canSeek();
- int seek( uint64_t position );
- int hasHeaders();
- const char *getHeader( const char *header );
- void setMetaDataCallback( api_readercallback *cb );
- int canPrefetch() { return 0; } // no info fetch on HTTP files
- /*int remove(const char *filename) { return 0; }
- int move(const char *filename, const char *destfilename) { return 0; }*/
- protected:
- RECVS_DISPATCH;
- private:
- HttpReader *reader = NULL;
- int hasConnected = 0;
- char *m_filename = 0;
- };
- #endif
|