OpenMS  2.4.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-2018.
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/QTimer>
42 #include <QtCore/QUrl>
43 #include <QtNetwork/QNetworkRequest>
44 #include <QtNetwork/QNetworkReply>
45 
46 namespace OpenMS
47 {
48 
50  public QObject
51  {
52  Q_OBJECT
53 
54  public:
55 
59  OPENMS_DLLAPI NetworkGetRequest(QObject* parent = nullptr);
61 
63  OPENMS_DLLAPI ~NetworkGetRequest() override;
65 
66  // set request parameters
67  OPENMS_DLLAPI void setUrl(const QUrl& url);
68 
70  OPENMS_DLLAPI QString getResponse() const;
71 
73  OPENMS_DLLAPI bool hasError() const;
74 
76  OPENMS_DLLAPI QString getErrorString() const;
77 
78  protected:
79 
80  public slots:
81 
82  OPENMS_DLLAPI void run();
83 
84  OPENMS_DLLAPI void timeOut();
85 
86  private slots:
87 
88  OPENMS_DLLAPI void replyFinished(QNetworkReply*);
89 
90  signals:
91 
92  OPENMS_DLLAPI void done();
93 
94  private:
96  OPENMS_DLLAPI NetworkGetRequest& operator=(const NetworkGetRequest& rhs);
98  OPENMS_DLLAPI NetworkGetRequest(const NetworkGetRequest& rhs);
99 
100  QByteArray response_bytes_;
101  QUrl url_;
102  QNetworkAccessManager* manager_;
103  QNetworkReply* reply_;
104  QNetworkReply::NetworkError error_;
105  QString error_string_;
106  };
107 }
108 
Definition: NetworkGetRequest.h:49
QByteArray response_bytes_
Definition: NetworkGetRequest.h:100
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:101
Main OpenMS namespace.
Definition: FeatureDeconvolution.h:46
NetworkGetRequest & operator=(const NetworkGetRequest &rhs)
assignment operator
QString getResponse() const
returns the response
QNetworkReply::NetworkError error_
Definition: NetworkGetRequest.h:104
void setUrl(const QUrl &url)
QString error_string_
Definition: NetworkGetRequest.h:105
NetworkGetRequest(QObject *parent=nullptr)
default constructor
void replyFinished(QNetworkReply *)
QNetworkAccessManager * manager_
Definition: NetworkGetRequest.h:102
~NetworkGetRequest() override
destructor
QNetworkReply * reply_
Definition: NetworkGetRequest.h:103