/* SPDX-FileCopyrightText: 2005 Tobias Koenig SPDX-License-Identifier: MIT */ #ifndef KWSDL_BINDING_H #define KWSDL_BINDING_H #include #include #include #include #include #include #include class ParserContext; namespace KWSDL { class KWSDL_EXPORT Binding : public Element { public: typedef QList 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? Version mVersion; }; } #endif // KWSDL_BINDING_H