KD SOAP: /home/allen/projects/kdsoap/src/KDSoapClient/KDSoapMessageAddressingProperties.h Source File

| KD SOAP 2.0.0

KDSoapMessageAddressingProperties.h
1 /****************************************************************************
2 **
3 ** This file is part of the KD Soap library.
4 **
5 ** SPDX-FileCopyrightText: 2010-2021 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
39 namespace KDSoapMessageRelationship {
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
81 class KDSOAP_EXPORT KDSoapMessageAddressingProperties
82 {
83 public:
84 friend class KDSoapMessageWriter;
85 friend class KDSoapMessageReader;
86
92 enum KDSoapAddressingPredefinedAddress
93 {
94 None,
95 Anonymous,
96 Reply,
97 Unspecified
98 };
99
106 enum KDSoapAddressingNamespace
107 {
108 Addressing200303,
109 Addressing200403,
110 Addressing200408,
111 Addressing200508
112 };
113
117 KDSoapMessageAddressingProperties();
118
122 ~KDSoapMessageAddressingProperties();
123
127 KDSoapMessageAddressingProperties(const KDSoapMessageAddressingProperties &other);
128
132 KDSoapMessageAddressingProperties &operator=(const KDSoapMessageAddressingProperties &other);
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
235 QVector<KDSoapMessageRelationship::Relationship> relationships() const;
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:
328 QSharedDataPointer<KDSoapMessageAddressingPropertiesData> d;
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-2021 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 Wed Jun 30 2021 18:19:27 for KD SOAP by doxygen 1.8.20