/usr/include/OpenMS/FORMAT/MascotRemoteQuery.h is in libopenms-dev 1.11.1-3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 | // --------------------------------------------------------------------------
// OpenMS -- Open-Source Mass Spectrometry
// --------------------------------------------------------------------------
// Copyright The OpenMS Team -- Eberhard Karls University Tuebingen,
// ETH Zurich, and Freie Universitaet Berlin 2002-2013.
//
// This software is released under a three-clause BSD license:
// * Redistributions of source code must retain the above copyright
// notice, this list of conditions and the following disclaimer.
// * Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
// * Neither the name of any author or any participating institution
// may be used to endorse or promote products derived from this software
// without specific prior written permission.
// For a full list of authors, refer to the file AUTHORS.
// --------------------------------------------------------------------------
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
// AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
// IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
// ARE DISCLAIMED. IN NO EVENT SHALL ANY OF THE AUTHORS OR THE CONTRIBUTING
// INSTITUTIONS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
// EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
// --------------------------------------------------------------------------
// $Maintainer: Chris Bielow $
// $Authors: Andreas Bertsch, Daniel Jameson, Chris Bielow$
// --------------------------------------------------------------------------
#ifndef OPENMS_FORMAT_MASCOTREMOTEQUERY_H
#define OPENMS_FORMAT_MASCOTREMOTEQUERY_H
#include <OpenMS/DATASTRUCTURES/DefaultParamHandler.h>
#include <QtCore/QObject>
#include <QtCore/QString>
#include <QtNetwork/QHttpRequestHeader>
#include <QTimer>
namespace OpenMS
{
/**
@brief Class which handles the communication between OpenMS and the Mascot server
This class provides a communication interface which is able to query the Mascot
server and reports the identifications provided be the Mascot server
@htmlinclude OpenMS_MascotRemoteQuery.parameters
*/
class MascotRemoteQuery :
public QObject,
public DefaultParamHandler
{
Q_OBJECT
public:
/** @name Constructors and destructors
*/
//@{
/// default constructor
OPENMS_DLLAPI MascotRemoteQuery(QObject* parent = 0);
/// destructor
OPENMS_DLLAPI virtual ~MascotRemoteQuery();
//@}
/// sets the query spectra, given in MGF file format
OPENMS_DLLAPI void setQuerySpectra(const String& exp);
/// returns the Mascot XML response which contains the identifications
OPENMS_DLLAPI const QByteArray& getMascotXMLResponse() const;
/// predicate which returns true if an error occurred during the query
OPENMS_DLLAPI bool hasError() const;
/// returns the error message, if hasError can be used to check whether an error has occurred
OPENMS_DLLAPI const String& getErrorMessage() const;
protected:
OPENMS_DLLAPI virtual void updateMembers_();
public slots:
OPENMS_DLLAPI void run();
private slots:
OPENMS_DLLAPI void timedOut();
OPENMS_DLLAPI void readyReadSlot(const QHttpResponseHeader& resp);
/** slot connected to signal requestFinished of QHttp: "This signal is emitted
when processing the request identified by id has finished. error is true
if an error occurred during the processing; otherwise error is false"
*/
OPENMS_DLLAPI void httpRequestFinished(int request_id, bool error);
/// slot connected to signal dataReadProgress of QHttp
OPENMS_DLLAPI void httpDataReadProgress(int bytes_read, int bytes_total);
/// slot connected to signal dataSendProgress of QHttp
OPENMS_DLLAPI void httpDataSendProgress(int bytes_sent, int bytes_total);
/// slot connected to signal requestStarted of QHttp, which indicates that the processing of request request_id has been started
OPENMS_DLLAPI void httpRequestStarted(int request_id);
/** slot connected to signal stateChanged of QHttp, which is emitted if
the http state changed. See 'enum QHttp::State' of Qt docu for more
info.
*/
OPENMS_DLLAPI void httpStateChanged(int state);
/// slot connected to signal done of QHttp
OPENMS_DLLAPI void httpDone(bool error);
/// slot connect to responseHeaderRecieved, which indicates that a new response header is available
OPENMS_DLLAPI void readResponseHeader(const QHttpResponseHeader& response_header);
OPENMS_DLLAPI void login();
OPENMS_DLLAPI void execQuery();
OPENMS_DLLAPI void getResults(QString results_path);
OPENMS_DLLAPI void followRedirect(const QHttpResponseHeader& resp);
signals:
OPENMS_DLLAPI void done();
OPENMS_DLLAPI void gotRedirect(const QHttpResponseHeader& resp);
private:
/// assignment operator
OPENMS_DLLAPI MascotRemoteQuery& operator=(const MascotRemoteQuery& rhs);
/// copy constructor
OPENMS_DLLAPI MascotRemoteQuery(const MascotRemoteQuery& rhs);
OPENMS_DLLAPI void endRun_();
/// Write HTTP header to error stream (for debugging)
OPENMS_DLLAPI void logHeader_(const QHttpHeader& header,
const String& what);
/**
@brief Remove host name information from an url, e.g., "http://www.google.de/search" -> "search"
@param The url that will be manipulated.
*/
void removeHostName_(QString& url);
String query_spectra_;
QByteArray mascot_xml_;
QHttp* http_;
QString cookie_;
String error_message_;
QTimer timeout_;
Int to_;
/// Path on mascot server
String server_path_;
/// Hostname of the mascot server
String host_name_;
/// Login required
bool requires_login_;
/// Max reported hits
Int max_hits_;
/// Use SSL connection
bool use_ssl_;
/// boundary string that will be embedded into the HTTP requests
String boundary_;
};
}
#endif /*OPENMS_FORMAT_MASCOTREMOTEQUERY_H*/
|