OpenMS  3.0.0
NetworkGetRequest.h
Go to the documentation of this file.
1 // --------------------------------------------------------------------------
2 // OpenMS -- Open-Source Mass Spectrometry
3 // --------------------------------------------------------------------------
4 // Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
5 // ETH Zurich, and Freie Universitaet Berlin 2002-2022.
6 //
7 // This software is released under a three-clause BSD license:
8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above copyright
11 // notice, this list of conditions and the following disclaimer in the
12 // documentation and/or other materials provided with the distribution.
13 // * Neither the name of any author or any participating institution
14 // may be used to endorse or promote products derived from this software
15 // without specific prior written permission.
16 // For a full list of authors, refer to the file AUTHORS.
17 // --------------------------------------------------------------------------
18 // THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
19 // AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20 // IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21 // ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
22 // INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
23 // EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
24 // PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
25 // OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
26 // WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
27 // OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
28 // ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29 //
30 // --------------------------------------------------------------------------
31 // $Maintainer: Timo Sachsenberg $
32 // $Authors: Timo Sachsenberg $
33 // --------------------------------------------------------------------------
34 
35 #pragma once
36 
37 #include <OpenMS/config.h>
38 
39 #include <QtCore/QObject>
40 #include <QtCore/QString>
41 #include <QtCore/QUrl>
42 #include <QtNetwork/QNetworkReply>
43 
44 namespace OpenMS
45 {
46 
48  public QObject
49  {
50  Q_OBJECT
51 
52  public:
53 
57  OPENMS_DLLAPI NetworkGetRequest(QObject* parent = nullptr);
59 
61  OPENMS_DLLAPI ~NetworkGetRequest() override;
63 
64  // set request parameters
65  OPENMS_DLLAPI void setUrl(const QUrl& url);
66 
68  OPENMS_DLLAPI QString getResponse() const;
69 
71  OPENMS_DLLAPI bool hasError() const;
72 
74  OPENMS_DLLAPI QString getErrorString() const;
75 
76  protected:
77 
78  public slots:
79 
80  OPENMS_DLLAPI void run();
81 
82  OPENMS_DLLAPI void timeOut();
83 
84  private slots:
85 
86  OPENMS_DLLAPI void replyFinished(QNetworkReply*);
87 
88  signals:
89 
90  OPENMS_DLLAPI void done();
91 
92  private:
94  OPENMS_DLLAPI NetworkGetRequest& operator=(const NetworkGetRequest& rhs);
96  OPENMS_DLLAPI NetworkGetRequest(const NetworkGetRequest& rhs);
97 
98  QByteArray response_bytes_;
99  QUrl url_;
100  QNetworkAccessManager* manager_;
101  QNetworkReply* reply_;
102  QNetworkReply::NetworkError error_;
103  QString error_string_;
104  };
105 }
106 
Definition: NetworkGetRequest.h:47
QByteArray response_bytes_
Definition: NetworkGetRequest.h:98
QString getErrorString() const
returns the error message, if hasError can be used to check whether an error has occurred ...
bool hasError() const
returns true if an error occurred during the query
QUrl url_
Definition: NetworkGetRequest.h:99
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:47
NetworkGetRequest & operator=(const NetworkGetRequest &rhs)
assignment operator
QString getResponse() const
returns the response
QNetworkReply::NetworkError error_
Definition: NetworkGetRequest.h:102
void setUrl(const QUrl &url)
QString error_string_
Definition: NetworkGetRequest.h:103
NetworkGetRequest(QObject *parent=nullptr)
default constructor
void replyFinished(QNetworkReply *)
QNetworkAccessManager * manager_
Definition: NetworkGetRequest.h:100
~NetworkGetRequest() override
destructor
QNetworkReply * reply_
Definition: NetworkGetRequest.h:101