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#include "v2recStats.h"
29
30class Scheduler;
31class AutoExpire;
32class EncoderLink;
33class MainServer;
34
35#define STATUS_SERVICE QString("/Status/")
36#define STATUS_HANDLE QString("Status")
37
39{
40
41 Q_OBJECT
42 Q_CLASSINFO("Version", "1.0")
43 Q_CLASSINFO("Status", "methods=GET,POST,HEAD")
44 Q_CLASSINFO("xml", "methods=GET,POST,HEAD")
45 Q_CLASSINFO("GetBackendStatus", "methods=GET,POST,HEAD")
46
47 public:
48 V2Status();
49 ~V2Status() override = default;
50 static void RegisterCustomTypes();
51
52 public slots:
53 Preformat* Status ( ); // HTML
54 Preformat* GetStatusHTML ( ); // HTML
55 Preformat* GetStatus (); // XML
56 Preformat* xml (); // XML
57 V2BackendStatus* GetBackendStatus(); // Standardized version of GetStatus
58 static V2RecStats* GetRecStats();
59 static QStringList GetBackupsList ( );
60
61 private:
62
63 Scheduler *m_pSched {nullptr};
64 QMap<int, EncoderLink *> *m_pEncoders;
69
70 private:
71
72 void FillStatusXML ( QDomDocument *pDoc);
73
74 static void PrintStatus ( QTextStream &os, QDomDocument *pDoc );
75 static int PrintEncoderStatus( QTextStream &os, const QDomElement& encoders );
76 static int PrintScheduled ( QTextStream &os, const QDomElement& scheduled );
77 static int PrintFrontends ( QTextStream &os, const QDomElement& frontends );
78 static int PrintBackends ( QTextStream &os, const QDomElement& backends );
79 static int PrintJobQueue ( QTextStream &os, const QDomElement& jobs );
80 static int PrintMachineInfo ( QTextStream &os, const QDomElement& info );
81 static int PrintMiscellaneousInfo ( QTextStream &os, const QDomElement& info );
82
83 static void FillProgramInfo ( QDomDocument *pDoc,
84 QDomNode &node,
85 ProgramInfo *pInfo,
86 bool bIncChannel = true,
87 bool bDetails = true );
88
89 static void FillChannelInfo ( QDomElement &channel,
90 ProgramInfo *pInfo,
91 bool bDetails = true );
92 void FillDriveSpace(V2MachineInfo* pMachineInfo);
93};
94
95#endif
Used to expire recordings to make space for new recordings.
Definition: autoexpire.h:61
Holds information on recordings and videos.
Definition: programinfo.h:75
Preformat * GetStatus()
Definition: v2status.cpp:105
static void PrintStatus(QTextStream &os, QDomDocument *pDoc)
Definition: v2status.cpp:895
Preformat * Status()
Definition: v2status.cpp:93
static void FillChannelInfo(QDomElement &channel, ProgramInfo *pInfo, bool bDetails=true)
Definition: v2status.cpp:1880
QMap< int, EncoderLink * > * m_pEncoders
Definition: v2status.h:64
static int PrintBackends(QTextStream &os, const QDomElement &backends)
Definition: v2status.cpp:1297
static void FillProgramInfo(QDomDocument *pDoc, QDomNode &node, ProgramInfo *pInfo, bool bIncChannel=true, bool bDetails=true)
Definition: v2status.cpp:1781
int m_nPreRollSeconds
Definition: v2status.h:67
static int PrintEncoderStatus(QTextStream &os, const QDomElement &encoders)
Definition: v2status.cpp:982
QMutex m_settingLock
Definition: v2status.h:68
MainServer * m_pMainServer
Definition: v2status.h:65
static int PrintMiscellaneousInfo(QTextStream &os, const QDomElement &info)
Definition: v2status.cpp:1727
Preformat * GetStatusHTML()
Definition: v2status.cpp:121
static int PrintFrontends(QTextStream &os, const QDomElement &frontends)
Definition: v2status.cpp:1259
static int PrintScheduled(QTextStream &os, const QDomElement &scheduled)
Definition: v2status.cpp:1126
~V2Status() override=default
V2Status()
Definition: v2status.cpp:82
static int PrintMachineInfo(QTextStream &os, const QDomElement &info)
Definition: v2status.cpp:1481
static V2RecStats * GetRecStats()
Definition: v2status.cpp:316
Preformat * xml()
Definition: v2status.cpp:99
void FillStatusXML(QDomDocument *pDoc)
Definition: v2status.cpp:450
bool m_bIsMaster
Definition: v2status.h:66
Scheduler * m_pSched
Definition: v2status.h:63
static QStringList GetBackupsList()
Definition: v2status.cpp:1914
void FillDriveSpace(V2MachineInfo *pMachineInfo)
Definition: v2status.cpp:382
static int PrintJobQueue(QTextStream &os, const QDomElement &jobs)
Definition: v2status.cpp:1336
static void RegisterCustomTypes()
V2BackendStatus * GetBackendStatus()
Definition: v2status.cpp:149
dictionary info
Definition: azlyrics.py:7