MythTV  master
mythfexml.h
Go to the documentation of this file.
1 // Program Name: mythxml.h
3 //
4 // Purpose - Myth Frontend XML protocol HttpServerExtension
5 //
7 
8 #ifndef MYTHFEXML_H_
9 #define MYTHFEXML_H_
10 
11 #include "libmyth/mythcontext.h"
12 #include "libmythupnp/eventing.h"
13 #include "libmythupnp/upnp.h"
14 
16 {
22 };
23 
24 class MythFEXML : public Eventing
25 {
26  private:
27 
28  QString m_sControlUrl;
30 
31  protected:
32 
33  // Implement UPnpServiceImpl methods that we can
34 
35  QString GetServiceType() override // UPnpServiceImpl
36  { return "urn:schemas-mythtv-org:service:MythFrontend:1"; }
37  QString GetServiceId() override // UPnpServiceImpl
38  { return "urn:mythtv-org:serviceId:MYTHFRONTEND_1-0"; }
39  QString GetServiceControlURL() override // UPnpServiceImpl
40  { return m_sControlUrl.mid( 1 ); }
41  QString GetServiceDescURL() override // UPnpServiceImpl
42  { return m_sControlUrl.mid( 1 ) + "/GetServDesc"; }
43 
44  private:
45 
46  static MythFEXMLMethod GetMethod( const QString &sURI );
47 
48  static void GetScreenShot ( HTTPRequest *pRequest );
49  static void GetActionListTest( HTTPRequest *pRequest );
50  static void GetRemote ( HTTPRequest *pRequest );
51 
52  public:
53  MythFEXML( UPnpDevice *pDevice , const QString &sSharePath);
54  ~MythFEXML() override = default;
55 
56  QStringList GetBasePaths() override; // Eventing
57 
58  bool ProcessRequest( HTTPRequest *pRequest ) override; // Eventing
59 };
60 
61 #endif
62 
63 
MythFEXML::ProcessRequest
bool ProcessRequest(HTTPRequest *pRequest) override
Definition: mythfexml.cpp:74
HTTPRequest
Definition: httprequest.h:109
MythFEXML::~MythFEXML
~MythFEXML() override=default
MythFEXML::GetScreenShot
static void GetScreenShot(HTTPRequest *pRequest)
Definition: mythfexml.cpp:113
MythFEXML
Definition: mythfexml.h:24
Eventing
Definition: eventing.h:245
MythFEXML::GetServiceDescURL
QString GetServiceDescURL() override
Provices the URL of the service description XML.
Definition: mythfexml.h:41
MythFEXML::m_sControlUrl
QString m_sControlUrl
Definition: mythfexml.h:28
MythFEXML::GetServiceControlURL
QString GetServiceControlURL() override
Provices the base URL for control commands.
Definition: mythfexml.h:39
MythFEXML::GetMethod
static MythFEXMLMethod GetMethod(const QString &sURI)
Definition: mythfexml.cpp:51
MFEXML_GetRemote
@ MFEXML_GetRemote
Definition: mythfexml.h:21
eventing.h
upnp.h
MythFEXML::GetBasePaths
QStringList GetBasePaths() override
Definition: mythfexml.cpp:65
MFEXML_Unknown
@ MFEXML_Unknown
Definition: mythfexml.h:17
MythFEXML::m_sServiceDescFileName
QString m_sServiceDescFileName
Definition: mythfexml.h:29
UPnpDevice
Definition: upnpdevice.h:102
MFEXML_ActionListTest
@ MFEXML_ActionListTest
Definition: mythfexml.h:20
MythFEXML::GetActionListTest
static void GetActionListTest(HTTPRequest *pRequest)
Definition: mythfexml.cpp:165
MythFEXML::GetServiceType
QString GetServiceType() override
Provices the schema urn.
Definition: mythfexml.h:35
mythcontext.h
MythFEXML::MythFEXML
MythFEXML(UPnpDevice *pDevice, const QString &sSharePath)
Definition: mythfexml.cpp:33
MythFEXML::GetRemote
static void GetRemote(HTTPRequest *pRequest)
Definition: mythfexml.cpp:206
MFEXML_GetServiceDescription
@ MFEXML_GetServiceDescription
Definition: mythfexml.h:18
MythFEXMLMethod
MythFEXMLMethod
Definition: mythfexml.h:15
MFEXML_GetScreenShot
@ MFEXML_GetScreenShot
Definition: mythfexml.h:19
MythFEXML::GetServiceId
QString GetServiceId() override
Provides the device specific urn.
Definition: mythfexml.h:37