MythTV master
mythwsdl.h
Go to the documentation of this file.
1
2// Program Name: wsdl.h
3// Created : Jan. 19, 2010
4//
5// Purpose : WSDL XML Generation Class
6//
7// Copyright (c) 2010 David Blain <dblain@mythtv.org>
8//
9// Licensed under the GPL v2 or later, see COPYING for details
10//
12
13#ifndef MYTHWSDL_H
14#define MYTHWSDL_H
15
16#include <QMetaObject>
17#include <QMetaMethod>
18#include <QString>
19#include <QMap>
20#include <QDomDocument>
21
25
28//
29//
30//
33
34class MythWSDL : public QDomDocument
35{
36 protected:
37 // ServiceHost *m_pServiceHost {nullptr};
39 QMap<QString, TypeInfo> m_typesToInclude;
40
41 QDomElement m_oRoot;
42 QDomElement m_oTypes;
43 QDomElement m_oLastMsg;
44 QDomElement m_oPortType;
45 QDomElement m_oBindings;
46 QDomElement m_oService;
47
48 protected:
49 QDomElement CreateBindingOperation( const QString& path,
50 const HTTPMethodPtr& handler,
51 const QString &sClassName );
52 QDomElement CreateMessage ( const QString& sMsgName,
53 const QString& sTypeName );
54 QDomElement CreateMethodType ( const HTTPMethodPtr& handler,
55 QString sTypeName,
56 bool bReturnType = false );
57 static bool IsCustomType ( const QString &sTypeName );
58 static QString ReadClassInfo ( const QMetaObject *pMeta,
59 const QString &sKey );
60 QString AddTypeInfo ( QString sType );
61
62 public:
63 explicit MythWSDL( MythHTTPMetaService *pMetaService )
64 : m_pMetaService (pMetaService) {}
66};
67
68#endif // WSDL_H
QDomElement m_oLastMsg
Definition: mythwsdl.h:43
static QString ReadClassInfo(const QMetaObject *pMeta, const QString &sKey)
Definition: mythwsdl.cpp:547
QString AddTypeInfo(QString sType)
Definition: mythwsdl.cpp:523
QDomElement m_oRoot
Definition: mythwsdl.h:41
QDomElement CreateBindingOperation(const QString &path, const HTTPMethodPtr &handler, const QString &sClassName)
Definition: mythwsdl.cpp:296
QDomElement CreateMethodType(const HTTPMethodPtr &handler, QString sTypeName, bool bReturnType=false)
Definition: mythwsdl.cpp:375
QDomElement m_oService
Definition: mythwsdl.h:46
QDomElement m_oPortType
Definition: mythwsdl.h:44
static bool IsCustomType(const QString &sTypeName)
Definition: mythwsdl.cpp:492
QMap< QString, TypeInfo > m_typesToInclude
Definition: mythwsdl.h:39
HTTPResponse GetWSDL(const HTTPRequest2 &Request)
Definition: mythwsdl.cpp:28
MythWSDL(MythHTTPMetaService *pMetaService)
Definition: mythwsdl.h:63
QDomElement m_oTypes
Definition: mythwsdl.h:42
QDomElement m_oBindings
Definition: mythwsdl.h:45
QDomElement CreateMessage(const QString &sMsgName, const QString &sTypeName)
Definition: mythwsdl.cpp:354
MythHTTPMetaService * m_pMetaService
Definition: mythwsdl.h:38
std::shared_ptr< MythHTTPMetaMethod > HTTPMethodPtr
std::shared_ptr< MythHTTPRequest > HTTPRequest2
Definition: mythhttptypes.h:39
std::shared_ptr< MythHTTPResponse > HTTPResponse
Definition: mythhttptypes.h:40