KD SOAP  1.8.0
KDSoapMessageAddressingProperties.h
1 /****************************************************************************
2 ** Copyright (C) 2010-2019 Klaralvdalens Datakonsult AB, a KDAB Group company, info@kdab.com.
3 ** All rights reserved.
4 **
5 ** This file is part of the KD Soap library.
6 **
7 ** Licensees holding valid commercial KD Soap licenses may use this file in
8 ** accordance with the KD Soap Commercial License Agreement provided with
9 ** the Software.
10 **
11 **
12 ** This file may be distributed and/or modified under the terms of the
13 ** GNU Lesser General Public License version 2.1 and version 3 as published by the
14 ** Free Software Foundation and appearing in the file LICENSE.LGPL.txt included.
15 **
16 ** This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
17 ** WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
18 **
19 ** Contact info@kdab.com if any conditions of this licensing are not
20 ** clear to you.
21 **
22 **********************************************************************/
23 #ifndef KDSOAPMESSAGEADDRESSINGPROPERTIES_H
24 #define KDSOAPMESSAGEADDRESSINGPROPERTIES_H
25 
26 #include <QtCore/QSharedDataPointer>
27 #include "KDSoapGlobal.h"
28 
29 #include "KDSoapEndpointReference.h"
30 #include "KDSoapValue.h"
31 
32 QT_BEGIN_NAMESPACE
33 class QString;
34 QT_END_NAMESPACE
35 
36 class KDSoapNamespacePrefixes;
37 class KDSoapMessageAddressingPropertiesData;
38 
47 {
48 
49 struct Relationship {
53  Relationship() {}
54 
61  Relationship(const QString &URI, const QString &type = QString())
62  : uri(URI), relationshipType(type) {}
63 
64  QString uri;
65  QString relationshipType;
66 };
67 
68 } // namespace
69 
83 {
84 public:
85  friend class KDSoapMessageWriter;
86  friend class KDSoapMessageReader;
87 
94  None,
95  Anonymous,
96  Reply,
97  Unspecified
98  };
99 
104 
109 
114 
119 
123  QString destination() const;
124 
128  void setDestination(const QString &destination);
129 
133  QString action() const;
134 
138  void setAction(const QString &action);
139 
144  KDSoapEndpointReference sourceEndpoint() const;
145 
150  QString sourceEndpointAddress() const;
151 
156  void setSourceEndpoint(const KDSoapEndpointReference &sourceEndpoint);
157 
161  void setSourceEndpointAddress(const QString &sourceEndpoint);
162 
167  KDSoapEndpointReference replyEndpoint() const;
168 
172  QString replyEndpointAddress() const;
173 
178  void setReplyEndpoint(const KDSoapEndpointReference &replyEndpoint);
179 
183  void setReplyEndpointAddress(const QString &replyEndpoint);
184 
188  KDSoapEndpointReference faultEndpoint() const;
189 
193  QString faultEndpointAddress() const;
194 
199  void setFaultEndpoint(const KDSoapEndpointReference &faultEndpoint);
200 
204  void setFaultEndpointAddress(const QString &faultEndpoint);
205 
209  QString messageID() const;
210 
214  void setMessageID(const QString &id);
215 
221  QVector<KDSoapMessageRelationship::Relationship> relationships() const;
222 
229  void setRelationships(const QVector<KDSoapMessageRelationship::Relationship> &relationships);
230 
237  void addRelationship(const KDSoapMessageRelationship::Relationship &relationship);
238 
242  KDSoapValueList referenceParameters() const;
243 
247  void setReferenceParameters(const KDSoapValueList &values);
248 
252  void addReferenceParameter(const KDSoapValue &oneReferenceParameter);
253 
257  KDSoapValueList metadata() const;
258 
262  void setMetadata(const KDSoapValueList &metadataList);
263 
267  void addMetadata(const KDSoapValue &metadata);
268 
272  static QString predefinedAddressToString(KDSoapAddressingPredefinedAddress address);
273 
277  static bool isWSAddressingNamespace(const QString& namespaceUri);
278 
279 private:
283  void writeMessageAddressingProperties(KDSoapNamespacePrefixes &namespacePrefixes, QXmlStreamWriter &writer, const QString &messageNamespace, bool forceQualified) const;
284 
288  void readMessageAddressingProperty(const KDSoapValue& value);
289 
290 private:
291  QSharedDataPointer<KDSoapMessageAddressingPropertiesData> d;
292 };
293 
297 KDSOAP_EXPORT QDebug operator <<(QDebug dbg, const KDSoapMessageAddressingProperties &msg);
298 
299 #endif // KDSOAPMESSAGEADDRESSINGPROPERTIES_H
Definition: KDSoapMessageAddressingProperties.h:46
Definition: KDSoapEndpointReference.h:40
Definition: KDSoapValue.h:76
Definition: KDSoapMessageAddressingProperties.h:82
KDSoapAddressingPredefinedAddress
Definition: KDSoapMessageAddressingProperties.h:93
Definition: KDSoapValue.h:337

Klarälvdalens Datakonsult AB (KDAB)
Qt-related services and products
http://www.kdab.com/
http://www.kdab.com/products/kd-soap/