diff options
| author | kwacker <vdr@w-i-r.com> | 2010-04-11 13:46:11 +0200 |
|---|---|---|
| committer | kwacker <vdr@w-i-r.com> | 2010-04-11 13:46:11 +0200 |
| commit | 9b144d30e0ea8ce900c37b96ba2cbdda14b0ae88 (patch) | |
| tree | 3a52de029f950dcd9f9856a53fd67abef8519e68 /plugins/streamdev/streamdev-cvs/server/connectionHTTP.h | |
| parent | 9cd931834ecadbf5efefdf484abb966e9248ebbb (diff) | |
| download | x-vdr-9b144d30e0ea8ce900c37b96ba2cbdda14b0ae88.tar.gz x-vdr-9b144d30e0ea8ce900c37b96ba2cbdda14b0ae88.tar.bz2 | |
Burn 0.2.0-beta3 und Streamdev mit Paches aktualisiert
Diffstat (limited to 'plugins/streamdev/streamdev-cvs/server/connectionHTTP.h')
| -rw-r--r-- | plugins/streamdev/streamdev-cvs/server/connectionHTTP.h | 70 |
1 files changed, 70 insertions, 0 deletions
diff --git a/plugins/streamdev/streamdev-cvs/server/connectionHTTP.h b/plugins/streamdev/streamdev-cvs/server/connectionHTTP.h new file mode 100644 index 0000000..0548959 --- /dev/null +++ b/plugins/streamdev/streamdev-cvs/server/connectionHTTP.h @@ -0,0 +1,70 @@ +/* + * $Id: connectionHTTP.h,v 1.6 2008/10/14 11:05:48 schmirl 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 cChannelList; + +class cConnectionHTTP: public cServerConnection { +private: + enum eHTTPStatus { + hsRequest, + hsHeaders, + hsBody, + hsFinished, + }; + + enum eHTTPJob { + hjTransfer, + hjListing, + }; + + std::string m_Request; + std::string m_Host; + std::string m_Authorization; + //std::map<std::string,std::string> m_Headers; TODO: later? + eHTTPStatus m_Status; + eHTTPJob m_Job; + // job: transfer + cStreamdevLiveStreamer *m_LiveStreamer; + std::string m_StreamerParameter; + const cChannel *m_Channel; + int m_Apid; + eStreamType m_StreamType; + // job: listing + cChannelList *m_ChannelList; + +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 CanAuthenticate(void); + + virtual bool Command(char *Cmd); + bool CmdGET(const std::string &Opts); + + virtual bool Abort(void) const; + virtual void Flushed(void); +}; + +inline bool cConnectionHTTP::Abort(void) const +{ + return m_LiveStreamer && m_LiveStreamer->Abort(); +} + +#endif // VDR_STREAMDEV_SERVERS_CONNECTIONVTP_H |
