MythTV master
v2status.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 V2STATUS_H_
12#define V2STATUS_H_
13
14// Qt
15#include <QDomDocument>
16#include <QMutex>
17#include <QMap>
18
19// MythTV
24
25// MythBackend
26#include "preformat.h"
27#include "v2backendStatus.h"
28
29class Scheduler;
30class AutoExpire;
31class EncoderLink;
32class MainServer;
33
34#define STATUS_SERVICE QString("/Status/")
35#define STATUS_HANDLE QString("Status")
36
38{
39
40 Q_OBJECT
41 Q_CLASSINFO("Version", "1.0")
42 Q_CLASSINFO("Status", "methods=GET,POST,HEAD")
43 Q_CLASSINFO("xml", "methods=GET,POST,HEAD")
44 Q_CLASSINFO("GetBackendStatus", "methods=GET,POST,HEAD")
45
46 public:
47 V2Status();
48 ~V2Status() override = default;
49 static void RegisterCustomTypes();
50
51 public slots:
52 Preformat* Status ( ); // HTML
53 Preformat* GetStatusHTML ( ); // HTML
54 Preformat* GetStatus (); // XML
55 Preformat* xml (); // XML
56 V2BackendStatus* GetBackendStatus(); // Standardized version of GetStatus
57
58 private:
59
60 Scheduler *m_pSched {nullptr};
61 QMap<int, EncoderLink *> *m_pEncoders;
66
67 private:
68
69 void FillStatusXML ( QDomDocument *pDoc);
70
71 static void PrintStatus ( QTextStream &os, QDomDocument *pDoc );
72 static int PrintEncoderStatus( QTextStream &os, const QDomElement& encoders );
73 static int PrintScheduled ( QTextStream &os, const QDomElement& scheduled );
74 static int PrintFrontends ( QTextStream &os, const QDomElement& frontends );
75 static int PrintBackends ( QTextStream &os, const QDomElement& backends );
76 static int PrintJobQueue ( QTextStream &os, const QDomElement& jobs );
77 static int PrintMachineInfo ( QTextStream &os, const QDomElement& info );
78 static int PrintMiscellaneousInfo ( QTextStream &os, const QDomElement& info );
79
80 static void FillProgramInfo ( QDomDocument *pDoc,
81 QDomNode &node,
82 ProgramInfo *pInfo,
83 bool bIncChannel = true,
84 bool bDetails = true );
85
86 static void FillChannelInfo ( QDomElement &channel,
87 ProgramInfo *pInfo,
88 bool bDetails = true );
89 void FillDriveSpace(V2MachineInfo* pMachineInfo);
90};
91
92#endif
Used to expire recordings to make space for new recordings.
Definition: autoexpire.h:60
Holds information on recordings and videos.
Definition: programinfo.h:68
Preformat * GetStatus()
Definition: v2status.cpp:103
static void PrintStatus(QTextStream &os, QDomDocument *pDoc)
Definition: v2status.cpp:819
Preformat * Status()
Definition: v2status.cpp:91
static void FillChannelInfo(QDomElement &channel, ProgramInfo *pInfo, bool bDetails=true)
Definition: v2status.cpp:1804
QMap< int, EncoderLink * > * m_pEncoders
Definition: v2status.h:61
static int PrintBackends(QTextStream &os, const QDomElement &backends)
Definition: v2status.cpp:1221
static void FillProgramInfo(QDomDocument *pDoc, QDomNode &node, ProgramInfo *pInfo, bool bIncChannel=true, bool bDetails=true)
Definition: v2status.cpp:1705
int m_nPreRollSeconds
Definition: v2status.h:64
static int PrintEncoderStatus(QTextStream &os, const QDomElement &encoders)
Definition: v2status.cpp:906
QMutex m_settingLock
Definition: v2status.h:65
MainServer * m_pMainServer
Definition: v2status.h:62
static int PrintMiscellaneousInfo(QTextStream &os, const QDomElement &info)
Definition: v2status.cpp:1651
Preformat * GetStatusHTML()
Definition: v2status.cpp:119
static int PrintFrontends(QTextStream &os, const QDomElement &frontends)
Definition: v2status.cpp:1183
static int PrintScheduled(QTextStream &os, const QDomElement &scheduled)
Definition: v2status.cpp:1050
~V2Status() override=default
V2Status()
Definition: v2status.cpp:80
static int PrintMachineInfo(QTextStream &os, const QDomElement &info)
Definition: v2status.cpp:1405
Preformat * xml()
Definition: v2status.cpp:97
void FillStatusXML(QDomDocument *pDoc)
Definition: v2status.cpp:374
bool m_bIsMaster
Definition: v2status.h:63
Scheduler * m_pSched
Definition: v2status.h:60
void FillDriveSpace(V2MachineInfo *pMachineInfo)
Definition: v2status.cpp:306
static int PrintJobQueue(QTextStream &os, const QDomElement &jobs)
Definition: v2status.cpp:1260
static void RegisterCustomTypes()
V2BackendStatus * GetBackendStatus()
Definition: v2status.cpp:147
dictionary info
Definition: azlyrics.py:7