blob: 3afe02ee62d1d86b400fd58eb1c9f702b4369ced (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
#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
|