KD SOAP  2.0.0
KDSoapMessageAddressingProperties.h
1 /****************************************************************************
2 **
3 ** This file is part of the KD Soap library.
4 **
5 ** SPDX-FileCopyrightText: 2010-2022 Klarälvdalens Datakonsult AB, a KDAB Group company <info@kdab.com>
6 **
7 ** SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDAB-KDSoap OR LicenseRef-KDAB-KDSoap-US
8 **
9 ** Licensees holding valid commercial KD Soap licenses may use this file in
10 ** accordance with the KD Soap Commercial License Agreement provided with
11 ** the Software.
12 **
13 ** Contact info@kdab.com if any conditions of this licensing are not clear to you.
14 **
15 ****************************************************************************/
16 #ifndef KDSOAPMESSAGEADDRESSINGPROPERTIES_H
17 #define KDSOAPMESSAGEADDRESSINGPROPERTIES_H
18 
19 #include <QtCore/QSharedDataPointer>
20 #include "KDSoapGlobal.h"
21 
22 #include "KDSoapEndpointReference.h"
23 #include "KDSoapValue.h"
24 
25 QT_BEGIN_NAMESPACE
26 class QString;
27 QT_END_NAMESPACE
28 
29 class KDSoapNamespacePrefixes;
30 class KDSoapMessageAddressingPropertiesData;
31 
40 
41 struct Relationship
42 {
46  Relationship()
47  {
48  }
49 
57  Relationship(const QString &URI, const QString &type = QString())
58  : uri(URI)
59  , relationshipType(type)
60  {
61  }
62 
63  QString uri;
64  QString relationshipType;
65 };
66 
67 } // namespace
68 
82 {
83 public:
84  friend class KDSoapMessageWriter;
85  friend class KDSoapMessageReader;
86 
93  {
94  None,
95  Anonymous,
96  Reply,
97  Unspecified
98  };
99 
107  {
108  Addressing200303,
109  Addressing200403,
110  Addressing200408,
111  Addressing200508
112  };
113 
118 
123 
128 
133 
137  QString destination() const;
138 
142  void setDestination(const QString &destination);
143 
147  QString action() const;
148 
152  void setAction(const QString &action);
153 
158  KDSoapEndpointReference sourceEndpoint() const;
159 
164  QString sourceEndpointAddress() const;
165 
170  void setSourceEndpoint(const KDSoapEndpointReference &sourceEndpoint);
171 
175  void setSourceEndpointAddress(const QString &sourceEndpoint);
176 
181  KDSoapEndpointReference replyEndpoint() const;
182 
186  QString replyEndpointAddress() const;
187 
192  void setReplyEndpoint(const KDSoapEndpointReference &replyEndpoint);
193 
197  void setReplyEndpointAddress(const QString &replyEndpoint);
198 
202  KDSoapEndpointReference faultEndpoint() const;
203 
207  QString faultEndpointAddress() const;
208 
213  void setFaultEndpoint(const KDSoapEndpointReference &faultEndpoint);
214 
218  void setFaultEndpointAddress(const QString &faultEndpoint);
219 
223  QString messageID() const;
224 
228  void setMessageID(const QString &id);
229 
236 
244  void setRelationships(const QVector<KDSoapMessageRelationship::Relationship> &relationships);
245 
252  void addRelationship(const KDSoapMessageRelationship::Relationship &relationship);
253 
257  KDSoapValueList referenceParameters() const;
258 
262  void setReferenceParameters(const KDSoapValueList &values);
263 
267  void addReferenceParameter(const KDSoapValue &oneReferenceParameter);
268 
272  KDSoapValueList metadata() const;
273 
277  void setMetadata(const KDSoapValueList &metadataList);
278 
282  void addMetadata(const KDSoapValue &metadata);
283 
288  KDSoapAddressingNamespace addressingNamespace() const;
289 
296  void setAddressingNamespace(KDSoapAddressingNamespace addressingNamespace);
297 
301  static QString predefinedAddressToString(KDSoapAddressingPredefinedAddress address,
302  KDSoapAddressingNamespace addressingNamespace = Addressing200508);
303 
307  static bool isWSAddressingNamespace(const QString &namespaceUri);
308 
313  static QString addressingNamespaceToString(KDSoapAddressingNamespace addressingNamespace);
314 
315 private:
319  void writeMessageAddressingProperties(KDSoapNamespacePrefixes &namespacePrefixes, QXmlStreamWriter &writer, const QString &messageNamespace,
320  bool forceQualified) const;
321 
325  void readMessageAddressingProperty(const KDSoapValue &value);
326 
327 private:
329 };
330 
334 KDSOAP_EXPORT QDebug operator<<(QDebug dbg, const KDSoapMessageAddressingProperties &msg);
335 
336 #endif // KDSOAPMESSAGEADDRESSINGPROPERTIES_H
KDSoapEndpointReference
Definition: KDSoapEndpointReference.h:34
KDSoapValue
Definition: KDSoapValue.h:66
QSharedDataPointer< KDSoapMessageAddressingPropertiesData >
QDebug
KDSoapMessageAddressingProperties::KDSoapAddressingNamespace
KDSoapAddressingNamespace
Definition: KDSoapMessageAddressingProperties.h:107
KDSoapMessageAddressingProperties::KDSoapAddressingPredefinedAddress
KDSoapAddressingPredefinedAddress
Definition: KDSoapMessageAddressingProperties.h:93
KDSoapMessageAddressingProperties
Definition: KDSoapMessageAddressingProperties.h:82
QString
QXmlStreamWriter
KDSoapValueList
Definition: KDSoapValue.h:327
KDSoapMessageRelationship
Definition: KDSoapMessageAddressingProperties.h:39
QVector< KDSoapMessageRelationship::Relationship >

© 2010-2022 Klarälvdalens Datakonsult AB (KDAB)
"The Qt, C++ and OpenGL Experts"
https://www.kdab.com/
https://www.kdab.com/development-resources/qt-tools/kd-soap/
Generated on Fri Jul 22 2022 15:57:43 for KD SOAP by doxygen 1.8.20