00001 00002 // Program Name: mythxml.h 00003 // 00004 // Purpose - Myth Frontend XML protocol HttpServerExtension 00005 // 00007 00008 #ifndef MYTHFEXML_H_ 00009 #define MYTHFEXML_H_ 00010 00011 #include "upnp.h" 00012 #include "eventing.h" 00013 #include "mythcontext.h" 00014 00015 typedef enum 00016 { 00017 MFEXML_Unknown = 0, 00018 MFEXML_GetServiceDescription, 00019 MFEXML_GetScreenShot, 00020 MFEXML_ActionListTest, 00021 MFEXML_GetRemote, 00022 } MythFEXMLMethod; 00023 00024 class MythFEXML : public Eventing 00025 { 00026 private: 00027 00028 QString m_sControlUrl; 00029 QString m_sServiceDescFileName; 00030 00031 protected: 00032 00033 // Implement UPnpServiceImpl methods that we can 00034 00035 virtual QString GetServiceType () { return "urn:schemas-mythtv-org:service:MythFrontend:1"; } 00036 virtual QString GetServiceId () { return "urn:mythtv-org:serviceId:MYTHFRONTEND_1-0"; } 00037 virtual QString GetServiceControlURL() { return m_sControlUrl.mid( 1 ); } 00038 virtual QString GetServiceDescURL () { return m_sControlUrl.mid( 1 ) + "/GetServDesc"; } 00039 00040 private: 00041 00042 MythFEXMLMethod GetMethod( const QString &sURI ); 00043 00044 void GetScreenShot ( HTTPRequest *pRequest ); 00045 void GetActionListTest( HTTPRequest *pRequest ); 00046 void GetRemote ( HTTPRequest *pRequest ); 00047 00048 public: 00049 MythFEXML( UPnpDevice *pDevice , const QString sSharePath); 00050 virtual ~MythFEXML(); 00051 00052 virtual QStringList GetBasePaths(); 00053 00054 bool ProcessRequest( HTTPRequest *pRequest ); 00055 }; 00056 00057 #endif 00058 00059
1.6.3