MythTV master
wsdl.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 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
33class 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
Definition: wsdl.h:34
QString AddTypeInfo(QString sType)
Definition: wsdl.cpp:491
QDomElement CreateMessage(const QString &sMsgName, const QString &sTypeName)
Definition: wsdl.cpp:353
QMap< QString, TypeInfo > m_typesToInclude
Definition: wsdl.h:37
bool GetWSDL(HTTPRequest *pRequest)
Definition: wsdl.cpp:22
QDomElement m_oPortType
Definition: wsdl.h:42
QDomElement CreateMethodType(MethodInfo &oInfo, QString sTypeName, bool bReturnType=false)
Definition: wsdl.cpp:374
static QString ReadClassInfo(const QMetaObject *pMeta, const QString &sKey)
Definition: wsdl.cpp:515
static bool IsCustomType(const QString &sTypeName)
Definition: wsdl.cpp:462
QDomElement m_oTypes
Definition: wsdl.h:40
Wsdl(ServiceHost *pServiceHost)
Definition: wsdl.h:69
ServiceHost * m_pServiceHost
Definition: wsdl.h:36
QDomElement m_oLastMsg
Definition: wsdl.h:41
QDomElement CreateBindingOperation(MethodInfo &oInfo, const QString &sClassName)
Definition: wsdl.cpp:302
QDomElement m_oRoot
Definition: wsdl.h:39
QDomElement m_oBindings
Definition: wsdl.h:43
QDomElement m_oService
Definition: wsdl.h:44