KD SOAP  1.7.0
KDSoapMessageAddressingProperties.h
1 /****************************************************************************
2 ** Copyright (C) 2010-2018 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 
93  None,
94  Anonymous,
95  Reply,
96  Unspecified
97  };
98 
103 
108 
113 
118 
122  QString destination() const;
123 
127  void setDestination(const QString &destination);
128 
132  QString action() const;
133 
137  void setAction(const QString &action);
138 
143  KDSoapEndpointReference sourceEndpoint() const;
144 
149  QString sourceEndpointAddress() const;
150 
155  void setSourceEndpoint(const KDSoapEndpointReference &sourceEndpoint);
156 
160  void setSourceEndpointAddress(const QString &sourceEndpoint);
161 
166  KDSoapEndpointReference replyEndpoint() const;
167 
171  QString replyEndpointAddress() const;
172 
177  void setReplyEndpoint(const KDSoapEndpointReference &replyEndpoint);
178 
182  void setReplyEndpointAddress(const QString &replyEndpoint);
183 
187  KDSoapEndpointReference faultEndpoint() const;
188 
192  QString faultEndpointAddress() const;
193 
198  void setFaultEndpoint(const KDSoapEndpointReference &faultEndpoint);
199 
203  void setFaultEndpointAddress(const QString &faultEndpoint);
204 
208  QString messageID() const;
209 
213  void setMessageID(const QString &id);
214 
220  QVector<KDSoapMessageRelationship::Relationship> relationships() const;
221 
228  void setRelationships(const QVector<KDSoapMessageRelationship::Relationship> &relationships);
229 
236  void addRelationship(const KDSoapMessageRelationship::Relationship &relationship);
237 
241  KDSoapValueList referenceParameters() const;
242 
246  void setReferenceParameters(const KDSoapValueList &values);
247 
251  void addReferenceParameter(const KDSoapValue &oneReferenceParameter);
252 
256  KDSoapValueList metadata() const;
257 
261  void setMetadata(const KDSoapValueList &metadataList);
262 
266  void addMetadata(const KDSoapValue &metadata);
267 
271  static QString predefinedAddressToString(KDSoapAddressingPredefinedAddress address);
272 
273 private:
277  void writeMessageAddressingProperties(KDSoapNamespacePrefixes &namespacePrefixes, QXmlStreamWriter &writer, const QString &messageNamespace, bool forceQualified) const;
278 
279 private:
280  QSharedDataPointer<KDSoapMessageAddressingPropertiesData> d;
281 };
282 
286 KDSOAP_EXPORT QDebug operator <<(QDebug dbg, const KDSoapMessageAddressingProperties &msg);
287 
288 #endif // KDSOAPMESSAGEADDRESSINGPROPERTIES_H
Definition: KDSoapMessageAddressingProperties.h:46
Definition: KDSoapEndpointReference.h:40
Definition: KDSoapValue.h:61
Definition: KDSoapMessageAddressingProperties.h:82
KDSoapAddressingPredefinedAddress
Definition: KDSoapMessageAddressingProperties.h:92
Definition: KDSoapValue.h:279

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