MythTV master
httpstatus.h
Go to the documentation of this file.
1
2// Program Name: httpstatus.h
3//
4// Purpose - Html & XML status HttpServerExtension
5//
6// Created By : David Blain Created On : Oct. 24, 2005
7// Modified By : Modified On:
8//
10
11#ifndef HTTPSTATUS_H_
12#define HTTPSTATUS_H_
13
14#include <QDomDocument>
15#include <QMutex>
16#include <QMap>
17
20
21enum HttpStatusMethod : std::uint8_t
22{
26
27};
28
31//
32//
33//
36
37class Scheduler;
38class AutoExpire;
39class EncoderLink;
40class MainServer;
41
43{
44 private:
45
47 QMap<int, EncoderLink *> *m_pEncoders;
52
53 private:
54
55 static HttpStatusMethod GetMethod( const QString &sURI );
56
57 void GetStatusXML ( HTTPRequest *pRequest );
58 void GetStatusHTML ( HTTPRequest *pRequest );
59
60 void FillStatusXML ( QDomDocument *pDoc);
61
62 static void PrintStatus ( QTextStream &os, QDomDocument *pDoc );
63 static int PrintEncoderStatus( QTextStream &os, const QDomElement& encoders );
64 static int PrintScheduled ( QTextStream &os, const QDomElement& scheduled );
65 static int PrintFrontends ( QTextStream &os, const QDomElement& frontends );
66 static int PrintBackends ( QTextStream &os, const QDomElement& backends );
67 static int PrintJobQueue ( QTextStream &os, const QDomElement& jobs );
68 static int PrintMachineInfo ( QTextStream &os, const QDomElement& info );
69 static int PrintMiscellaneousInfo ( QTextStream &os, const QDomElement& info );
70
71 static void FillProgramInfo ( QDomDocument *pDoc,
72 QDomNode &node,
73 ProgramInfo *pInfo,
74 bool bIncChannel = true,
75 bool bDetails = true );
76
77 static void FillChannelInfo ( QDomElement &channel,
78 ProgramInfo *pInfo,
79 bool bDetails = true );
80
81
82 public:
83 HttpStatus( QMap<int, EncoderLink *> *tvList, Scheduler *sched,
84 bool bIsMaster );
85 ~HttpStatus() override = default;
86
89
90 QStringList GetBasePaths() override; // HttpServerExtension
91
92 bool ProcessRequest( HTTPRequest *pRequest ) override; // HttpServerExtension
93};
94
95#endif
Used to expire recordings to make space for new recordings.
Definition: autoexpire.h:60
static int PrintJobQueue(QTextStream &os, const QDomElement &jobs)
static int PrintScheduled(QTextStream &os, const QDomElement &scheduled)
Definition: httpstatus.cpp:857
void SetMainServer(MainServer *mainServer)
Definition: httpstatus.h:87
~HttpStatus() override=default
static void FillChannelInfo(QDomElement &channel, ProgramInfo *pInfo, bool bDetails=true)
static void FillProgramInfo(QDomDocument *pDoc, QDomNode &node, ProgramInfo *pInfo, bool bIncChannel=true, bool bDetails=true)
static int PrintMiscellaneousInfo(QTextStream &os, const QDomElement &info)
bool m_bIsMaster
Definition: httpstatus.h:49
QMap< int, EncoderLink * > * m_pEncoders
Definition: httpstatus.h:47
static HttpStatusMethod GetMethod(const QString &sURI)
Definition: httpstatus.cpp:70
Scheduler * m_pSched
Definition: httpstatus.h:46
static int PrintEncoderStatus(QTextStream &os, const QDomElement &encoders)
Definition: httpstatus.cpp:713
void FillStatusXML(QDomDocument *pDoc)
Definition: httpstatus.cpp:181
void GetStatusXML(HTTPRequest *pRequest)
Definition: httpstatus.cpp:133
bool ProcessRequest(HTTPRequest *pRequest) override
Definition: httpstatus.cpp:93
int m_nPreRollSeconds
Definition: httpstatus.h:50
MainServer * m_pMainServer
Definition: httpstatus.h:48
static void PrintStatus(QTextStream &os, QDomDocument *pDoc)
Definition: httpstatus.cpp:626
QStringList GetBasePaths() override
Definition: httpstatus.cpp:84
QMutex m_settingLock
Definition: httpstatus.h:51
HttpStatus(QMap< int, EncoderLink * > *tvList, Scheduler *sched, bool bIsMaster)
Definition: httpstatus.cpp:56
static int PrintBackends(QTextStream &os, const QDomElement &backends)
static int PrintMachineInfo(QTextStream &os, const QDomElement &info)
static int PrintFrontends(QTextStream &os, const QDomElement &frontends)
Definition: httpstatus.cpp:990
void GetStatusHTML(HTTPRequest *pRequest)
Definition: httpstatus.cpp:161
Holds information on recordings and videos.
Definition: programinfo.h:68
HttpStatusMethod
Definition: httpstatus.h:22
@ HSM_GetStatusHTML
Definition: httpstatus.h:24
@ HSM_GetStatusXML
Definition: httpstatus.h:25
@ HSM_Unknown
Definition: httpstatus.h:23
static MainServer * mainServer
dictionary info
Definition: azlyrics.py:7
Scheduler * sched