summaryrefslogtreecommitdiff
path: root/server/connectionHTTP.h
diff options
context:
space:
mode:
authorFrank Schmirler <schmirl@puter.linogate.de>2010-12-02 08:53:01 +0100
committerFrank Schmirler <schmirl@puter.linogate.de>2010-12-02 08:53:01 +0100
commit5e30711bfdb28085234a5ef6da4f4e44305ac3e4 (patch)
treed15809d23eeeed7fda55d9450b1af7c99d6eb5d6 /server/connectionHTTP.h
downloadvdr-plugin-streamdev-5e30711bfdb28085234a5ef6da4f4e44305ac3e4.tar.gz
vdr-plugin-streamdev-5e30711bfdb28085234a5ef6da4f4e44305ac3e4.tar.bz2
Snapshot 2007-03-20
Diffstat (limited to 'server/connectionHTTP.h')
-rw-r--r--server/connectionHTTP.h58
1 files changed, 58 insertions, 0 deletions
diff --git a/server/connectionHTTP.h b/server/connectionHTTP.h
new file mode 100644
index 0000000..d12c418
--- /dev/null
+++ b/server/connectionHTTP.h
@@ -0,0 +1,58 @@
+/*
+ * $Id: connectionHTTP.h,v 1.3 2005/02/11 16:44:15 lordjaxom Exp $
+ */
+
+#ifndef VDR_STREAMDEV_SERVERS_CONNECTIONHTTP_H
+#define VDR_STREAMDEV_SERVERS_CONNECTIONHTTP_H
+
+#include "connection.h"
+#include "server/livestreamer.h"
+
+#include <tools/select.h>
+
+class cChannel;
+class cStreamdevLiveStreamer;
+
+class cConnectionHTTP: public cServerConnection {
+private:
+ enum eHTTPStatus {
+ hsRequest,
+ hsHeaders,
+ hsBody,
+ hsFinished,
+ };
+
+ enum eHTTPJob {
+ hjTransfer,
+ hjListing,
+ };
+
+ std::string m_Request;
+ //std::map<std::string,std::string> m_Headers; TODO: later?
+ eHTTPStatus m_Status;
+ eHTTPJob m_Job;
+ // job: transfer
+ cStreamdevLiveStreamer *m_LiveStreamer;
+ const cChannel *m_Channel;
+ int m_Apid;
+ eStreamType m_StreamType;
+ // job: listing
+ const cChannel *m_ListChannel;
+
+protected:
+ bool ProcessRequest(void);
+
+public:
+ cConnectionHTTP(void);
+ virtual ~cConnectionHTTP();
+
+ virtual void Attach(void) { if (m_LiveStreamer != NULL) m_LiveStreamer->Attach(); }
+ virtual void Detach(void) { if (m_LiveStreamer != NULL) m_LiveStreamer->Detach(); }
+
+ virtual bool Command(char *Cmd);
+ bool CmdGET(const std::string &Opts);
+
+ virtual void Flushed(void);
+};
+
+#endif // VDR_STREAMDEV_SERVERS_CONNECTIONVTP_H