|
| 1 | +/**This class is an interface hiding the details of reading input and writing output from/to a wms request mechanism. |
| 2 | +Examples of possible mechanisms are cgi Get, cgi Post, SOAP or the usage as a standalone command line executable*/ |
| 3 | +class QgsRequestHandler |
| 4 | +{ |
| 5 | +%TypeHeaderCode |
| 6 | +#include "qgsmapserviceexception.h" |
| 7 | +#include "qgsrequesthandler.h" |
| 8 | + |
| 9 | +%End |
| 10 | + |
| 11 | + public: |
| 12 | + |
| 13 | + virtual void parseInput() = 0; |
| 14 | + virtual void setGetMapResponse( const QString& service, QImage* img, int imageQuality ) = 0; |
| 15 | + virtual void setGetCapabilitiesResponse( const QDomDocument& doc ) = 0; |
| 16 | + virtual void setGetFeatureInfoResponse( const QDomDocument& infoDoc, const QString& infoFormat ) = 0; |
| 17 | + virtual void setServiceException( QgsMapServiceException ex ) = 0; |
| 18 | + virtual void setGetStyleResponse( const QDomDocument& doc ) = 0; |
| 19 | + virtual void setGetPrintResponse( QByteArray* ba ) = 0; |
| 20 | + virtual bool startGetFeatureResponse( QByteArray* ba, const QString& infoFormat ) = 0; |
| 21 | + virtual void setGetFeatureResponse( QByteArray* ba ) = 0; |
| 22 | + virtual void endGetFeatureResponse( QByteArray* ba ) = 0; |
| 23 | + virtual void setGetCoverageResponse( QByteArray* ba ) = 0; |
| 24 | + |
| 25 | + /**Set an HTTP header*/ |
| 26 | + virtual void setHeader( const QString &name, const QString &value ) = 0; |
| 27 | + /**Remove an HTTP header*/ |
| 28 | + virtual int removeHeader( const QString &name ) = 0; |
| 29 | + /**Delete all HTTP headers*/ |
| 30 | + virtual void clearHeaders( ) = 0; |
| 31 | + /**Append the bytestream to response body*/ |
| 32 | + virtual void appendBody( const QByteArray &body) = 0; |
| 33 | + /**Clears the response body*/ |
| 34 | + virtual void clearBody( ) = 0; |
| 35 | + virtual void setInfoFormat( const QString &format ) = 0; |
| 36 | + virtual void sendResponse( ) const = 0; |
| 37 | + virtual bool responseReady() const = 0; |
| 38 | + /**Pointer to last raised exception*/ |
| 39 | + virtual bool exceptionRaised() const = 0; |
| 40 | + QMap<QString, QString> parameterMap( ); |
| 41 | + /**Set a request parameter*/ |
| 42 | + virtual void setParameter(const QString &key, const QString &value) = 0; |
| 43 | + /**Remove a request parameter*/ |
| 44 | + virtual int removeParameter(const QString &key) = 0; |
| 45 | + /**Return a request parameter*/ |
| 46 | + virtual QString parameter(const QString &key) const = 0; |
| 47 | + QString format() const; |
| 48 | + |
| 49 | +protected: |
| 50 | + |
| 51 | + virtual void sendHeaders( ) const = 0; |
| 52 | + virtual void sendBody( ) const = 0; |
| 53 | + |
| 54 | + |
| 55 | +}; |
0 commit comments