/*************************************************************************** qgswcsserver.sip ------------------- begin : May 2, 2015 copyright : (C) 2015 by Alessandro Pasotti email : a dot pasotti at itopen dot it ***************************************************************************/ /*************************************************************************** * * * This program is free software; you can redistribute it and/or modify * * it under the terms of the GNU General Public License as published by * * the Free Software Foundation; either version 2 of the License, or * * (at your option) any later version. * * * ***************************************************************************/ #ifndef QGSWCSSERVER_H #define QGSWCSSERVER_H #include #include #include #include #include "qgis.h" #include "qgsowsserver.h" class QgsWCSProjectParser; class QgsRequestHandler; /** This class handles all the wcs server requests. The parameters and values have to be passed in the form of a map. This map is usually generated by a subclass of QgsWMSRequestHandler, which makes QgsWCSServer independent from any server side technology*/ class QgsWCSServer: public QgsOWSServer { public: /** Constructor. Takes parameter map and a pointer to a renderer object (does not take ownership)*/ QgsWCSServer( const QString& configFilePath, QMap& parameters, QgsWCSProjectParser* pp, QgsRequestHandler* rh ); ~QgsWCSServer(); void executeRequest() override; /** Returns an XML file with the capabilities description (as described in the WFS specs)*/ QDomDocument getCapabilities(); /** Returns an XML file with the describe Coverage (as described in the WCS specs)*/ QDomDocument describeCoverage(); /** Creates a file which is the result of the getCoverage request.*/ QByteArray* getCoverage(); /** Sets configuration parser for administration settings. Does not take ownership*/ void setAdminConfigParser( QgsWCSProjectParser* parser ) { mConfigParser = parser; } private: /** Don't use the default constructor*/ QgsWCSServer(); /** Get service address from REQUEST_URI if not specified in the configuration*/ QString serviceUrl() const; QgsWCSProjectParser* mConfigParser; }; #endif