1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
/*
SPDX-FileCopyrightText: 2005 Tobias Koenig <tokoe@kde.org>
SPDX-License-Identifier: MIT
*/
#ifndef KWSDL_BINDING_H
#define KWSDL_BINDING_H
#include <QDomElement>
#include <QList>
#include <common/qname.h>
#include <wsdl/bindingoperation.h>
#include <wsdl/element.h>
#include <wsdl/soapbinding.h>
#include <kode_export.h>
class ParserContext;
namespace KWSDL {
class KWSDL_EXPORT Binding : public Element
{
public:
typedef QList<Binding> List;
enum Type
{
SOAPBinding,
HTTPBinding,
MIMEBinding,
UnknownBinding
};
Binding();
Binding(const QString &nameSpace);
~Binding();
void setName(const QString &name);
QString name() const;
void setPortTypeName(const QName &portTypeName);
QName portTypeName() const;
void setType(Type type);
Type type() const;
enum Version
{
SOAP_1_1,
SOAP_1_2
};
void setVersion(Version v);
Version version() const;
void setOperations(const BindingOperation::List &operations);
BindingOperation::List operations() const;
// void setSoapBinding( const SoapBinding &soapBinding );
SoapBinding soapBinding() const;
const AbstractBinding *binding() const;
void loadXML(ParserContext *context, const QDomElement &element);
void saveXML(ParserContext *context, QDomDocument &document, QDomElement &parent) const;
private:
QString mName;
QName mPortTypeName;
BindingOperation::List mOperations;
Type mType;
SoapBinding mSoapBinding; // ## this should probably be a std::shared_ptr<AbstractBinding>?
Version mVersion;
};
}
#endif // KWSDL_BINDING_H
|