NetBurner 3.5.0
PDF Version
 
web_buffers.h
1/*NB_REVISION*/
2
3/*NB_COPYRIGHT*/
4
5#ifndef _WEB_BUFFERS_H
6#define _WEB_BUFFERS_H
7
8class buffer_object
9{
10 public:
11 // A write of ZERO bytes indicates end of data stream
12 virtual int WriteData(const unsigned char *pCopyFrom, int num_bytes) = 0;
13 virtual int ReadFrom(int fd) = 0;
14 virtual void ProcessHeader(const char * hdr) {};
15};
16
17class SimpleBufferObject : public buffer_object
18{
19 unsigned char *cp_to;
20 int space_left;
21 int used;
22 public:
23
24 virtual int WriteData(const unsigned char *pCopyFrom, int num_bytes);
25 virtual int ReadFrom(int fd);
26
27 SimpleBufferObject(unsigned char *p, int len)
28 {
29 cp_to = p;
30 space_left = len;
31 used = 0;
32 };
33 int AmountUsed() { return used; };
34};
35
36#endif