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
|
/***************************************************************************
qgsserverfilter.h
Server I/O filters class for Qgis Mapserver for use by plugins
-------------------
begin : 2014-09-10
copyright : (C) 2014 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. *
* *
***************************************************************************/
/**
* \class QgsServerFilter
* \brief Class defining I/O filters for Qgis Mapserver and
* implemented in plugins.
*
* Filters can define any (or none) of the following hooks:
* * requestReady() - called when request is ready
* * responseComplete() - called when the response is complete
* after core services have returned to main loop
* * sendResponse() - called just before sending output to FGCI
*/
class QgsServerFilter
{
%TypeHeaderCode
#include "qgsserverfilter.h"
#include "qgsserverinterface.h"
%End
public:
/** Constructor
* QgsServerInterface passed to plugins constructors
* and must be passed to QgsServerFilter instances.
*/
QgsServerFilter( QgsServerInterface* serverInterface );
/** Destructor */
virtual ~QgsServerFilter();
/** Return the QgsServerInterface instance*/
QgsServerInterface* serverInterface();
/** Method called when the QgsRequestHandler is ready and populated with
* parameters, just before entering the main switch for core services.*/
virtual void requestReady();
/** Method called when the QgsRequestHandler processing has done and
* the response is ready, just after the main switch for core services
* and before final sending response to FCGI stdout.
*/
virtual void responseComplete();
/** Method called when the QgsRequestHandler sends its data to FCGI stdout.
* This normally occours at the end of core services processing just after
* the responseComplete() plugin hook. For streaming services (like WFS on
* getFeature requests, sendResponse() might have been called several times
* before the response is complete: in this particular case, sendResponse()
* is called once for each feature before hitting responseComplete()
*/
virtual void sendResponse();
};
|