MythTV  master
wsdl.h
Go to the documentation of this file.
1 // 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 LICENSE for details
10 //
12 
13 #ifndef WSDL_H
14 #define WSDL_H
15 
16 #include <QDomDocument>
17 #include <QDomElement>
18 #include <QMap>
19 #include <QMetaObject>
20 #include <QString>
21 
22 #include "servicehost.h"
23 #include "xsd.h"
24 
27 //
28 //
29 //
32 
33 class Wsdl : public QDomDocument
34 {
35  protected:
37  QMap<QString, TypeInfo> m_typesToInclude;
38 
39  QDomElement m_oRoot;
40  QDomElement m_oTypes;
41  QDomElement m_oLastMsg;
42  QDomElement m_oPortType;
43  QDomElement m_oBindings;
44  QDomElement m_oService;
45 
46  protected:
47 
48 
49  QDomElement CreateBindingOperation( MethodInfo &oInfo,
50  const QString &sClassName );
51 
52  QDomElement CreateMessage ( const QString& sMsgName,
53  const QString& sTypeName );
54 
55  QDomElement CreateMethodType ( MethodInfo &oInfo,
56  QString sTypeName,
57  bool bReturnType = false );
58 
59  static bool IsCustomType ( const QString &sTypeName );
60 
61  static QString ReadClassInfo ( const QMetaObject *pMeta,
62  const QString &sKey );
63 
64  QString AddTypeInfo ( QString sType );
65 
66 
67  public:
68 
69  explicit Wsdl( ServiceHost *pServiceHost )
70  : m_pServiceHost( pServiceHost ) {}
71 
72  bool GetWSDL( HTTPRequest *pRequest );
73 };
74 
75 #endif // WSDL_H
Wsdl::m_typesToInclude
QMap< QString, TypeInfo > m_typesToInclude
Definition: wsdl.h:37
Wsdl::m_oRoot
QDomElement m_oRoot
Definition: wsdl.h:39
HTTPRequest
Definition: httprequest.h:110
xsd.h
Wsdl::GetWSDL
bool GetWSDL(HTTPRequest *pRequest)
Definition: wsdl.cpp:22
Wsdl::m_oTypes
QDomElement m_oTypes
Definition: wsdl.h:40
Wsdl::m_oBindings
QDomElement m_oBindings
Definition: wsdl.h:43
Wsdl::Wsdl
Wsdl(ServiceHost *pServiceHost)
Definition: wsdl.h:69
ServiceHost
Definition: servicehost.h:64
Wsdl::m_oPortType
QDomElement m_oPortType
Definition: wsdl.h:42
Wsdl
Definition: wsdl.h:33
Wsdl::IsCustomType
static bool IsCustomType(const QString &sTypeName)
Definition: wsdl.cpp:462
MethodInfo
Definition: servicehost.h:35
Wsdl::CreateMethodType
QDomElement CreateMethodType(MethodInfo &oInfo, QString sTypeName, bool bReturnType=false)
Definition: wsdl.cpp:374
Wsdl::CreateBindingOperation
QDomElement CreateBindingOperation(MethodInfo &oInfo, const QString &sClassName)
Definition: wsdl.cpp:302
Wsdl::m_oLastMsg
QDomElement m_oLastMsg
Definition: wsdl.h:41
Wsdl::CreateMessage
QDomElement CreateMessage(const QString &sMsgName, const QString &sTypeName)
Definition: wsdl.cpp:353
Wsdl::ReadClassInfo
static QString ReadClassInfo(const QMetaObject *pMeta, const QString &sKey)
Definition: wsdl.cpp:515
Wsdl::m_pServiceHost
ServiceHost * m_pServiceHost
Definition: wsdl.h:36
servicehost.h
Wsdl::m_oService
QDomElement m_oService
Definition: wsdl.h:44
Wsdl::AddTypeInfo
QString AddTypeInfo(QString sType)
Definition: wsdl.cpp:491