KD SOAP  1.10.0
KDSoapClientInterface_p.h
1 /****************************************************************************
2 **
3 ** This file is part of the KD Soap library.
4 **
5 ** SPDX-FileCopyrightText: 2010-2020 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 KDSOAPCLIENTINTERFACE_P_H
17 #define KDSOAPCLIENTINTERFACE_P_H
18 
19 #include <QtNetwork/QSslConfiguration>
20 #include <QtNetwork/QNetworkAccessManager>
21 #include <QtNetwork/QNetworkCookieJar>
22 #include <QtCore/QXmlStreamWriter>
23 
24 #include "KDSoapClientInterface.h"
25 #include "KDSoapClientThread_p.h"
26 #include "KDSoapAuthentication.h"
27 QT_BEGIN_NAMESPACE
28 class QBuffer;
29 QT_END_NAMESPACE
30 class KDSoapMessage;
31 class KDSoapNamespacePrefixes;
32 
33 class KDSoapClientInterfacePrivate : public QObject
34 {
35  Q_OBJECT
36 public:
37  KDSoapClientInterfacePrivate();
38  ~KDSoapClientInterfacePrivate();
39 
40  // Warning: this accessManager is only used by asyncCall and callNoReply.
41  // For blocking calls, the thread has its own accessManager.
42  QNetworkAccessManager *m_accessManager;
43  QString m_endPoint;
44  QString m_messageNamespace;
45  KDSoapClientThread m_thread;
46  KDSoapAuthentication m_authentication;
47  QMap<QString, KDSoapMessage> m_persistentHeaders;
48  QMap<QByteArray, QByteArray> m_httpHeaders;
49  KDSoap::SoapVersion m_version;
51  bool m_ignoreSslErrors;
52  KDSoapHeaders m_lastResponseHeaders;
53 #ifndef QT_NO_SSL
54  QList<QSslError> m_ignoreErrorsList;
55  QSslConfiguration m_sslConfiguration;
56  KDSoapSslHandler *m_sslHandler;
57 #endif
58  int m_timeout;
59 
60  QNetworkAccessManager *accessManager();
61  QNetworkRequest prepareRequest(const QString &method, const QString &action);
62  QBuffer *prepareRequestBuffer(const QString &method, const KDSoapMessage &message, const KDSoapHeaders &headers);
63  void writeElementContents(KDSoapNamespacePrefixes &namespacePrefixes, QXmlStreamWriter &writer, const KDSoapValue &element, KDSoapMessage::Use use);
64  void writeChildren(KDSoapNamespacePrefixes &namespacePrefixes, QXmlStreamWriter &writer, const KDSoapValueList &args, KDSoapMessage::Use use);
65  void writeAttributes(QXmlStreamWriter &writer, const QList<KDSoapValue> &attributes);
66  void setupReply(QNetworkReply *reply);
67 
68 private Q_SLOTS:
69  void _kd_slotAuthenticationRequired(QNetworkReply *reply, QAuthenticator *authenticator);
70 };
71 
72 #endif // KDSOAPCLIENTINTERFACE_P_H
Use
Definition: KDSoapValue.h:278
Style
Definition: KDSoapClientInterface.h:259
Definition: KDSoapValue.h:69
Definition: KDSoapMessage.h:188
Definition: KDSoapAuthentication.h:36
A class for handling SSL errors during SOAP calls.
Definition: KDSoapSslHandler.h:36
Definition: KDSoapMessage.h:34
Definition: KDSoapValue.h:330

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/