summaryrefslogtreecommitdiff
path: root/server/connectionHTTP.h
blob: 6e43d281262ea3f0be2e8d4e31b603a3d078f0ce (plain)
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
/*
 *  $Id: connectionHTTP.h,v 1.2 2005/02/10 22:24:26 lordjaxom Exp $
 */
 
#ifndef VDR_STREAMDEV_SERVERS_CONNECTIONHTTP_H
#define VDR_STREAMDEV_SERVERS_CONNECTIONHTTP_H

#include "connection.h"

#include <tools/select.h>

class cChannel;
class cStreamdevLiveStreamer;

class cConnectionHTTP: public cServerConnection {
private:
	enum eHTTPStatus {
		hsRequest,
		hsHeaders,
		hsTransfer,
		hsListing,
	};

	const cChannel         *m_Channel;
	int                     m_Apid;
	const cChannel         *m_ListChannel;
	cStreamdevLiveStreamer *m_LiveStreamer;
	eStreamType             m_StreamType;
	eHTTPStatus             m_Status;
	bool                    m_Startup;

public:
	cConnectionHTTP(void);
	virtual ~cConnectionHTTP();

	virtual void Detach(void);
	virtual void Attach(void);

	virtual bool Command(char *Cmd);
	bool CmdGET(char *Opts);

	virtual void Flushed(void);
};

#endif // VDR_STREAMDEV_SERVERS_CONNECTIONVTP_H