QGIS API Documentation  3.4.15-Madeira (e83d02e274)
qgsfilterresponsedecorator.cpp
Go to the documentation of this file.
1 /***************************************************************************
2  qgsfilterresponsedecorator.cpp
3 
4  Define response wrapper for fcgi response
5  -------------------
6  begin : 2017-01-03
7  copyright : (C) 2017 by David Marteau
8  email : david dot marteau at 3liz dot com
9  ***************************************************************************/
10 
11 /***************************************************************************
12  * *
13  * This program is free software; you can redistribute it and/or modify *
14  * it under the terms of the GNU General Public License as published by *
15  * the Free Software Foundation; either version 2 of the License, or *
16  * (at your option) any later version. *
17  * *
18  ***************************************************************************/
19 
20 #include "qgsconfig.h"
22 
24  : mFilters( filters )
25  , mResponse( response )
26 {
27 }
28 
30 {
31 #ifdef HAVE_SERVER_PYTHON_PLUGINS
32  QgsServerFiltersMap::const_iterator filtersIterator;
33  for ( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
34  {
35  filtersIterator.value()->requestReady();
36  }
37 #endif
38 }
39 
41 {
42 
43 #ifdef HAVE_SERVER_PYTHON_PLUGINS
44  QgsServerFiltersMap::const_iterator filtersIterator;
45  for ( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
46  {
47  filtersIterator.value()->responseComplete();
48  }
49 #endif
50  // Will call 'flush'
51  mResponse.finish();
52 }
53 
55 {
56 #ifdef HAVE_SERVER_PYTHON_PLUGINS
57  QgsServerFiltersMap::const_iterator filtersIterator;
58  for ( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
59  {
60  filtersIterator.value()->sendResponse();
61  }
62 #endif
63  mResponse.flush();
64 }
65 
66 
QgsFilterResponseDecorator(QgsServerFiltersMap filters, QgsServerResponse &response)
Constructor for QgsFilterResponseDecorator.
QMultiMap< int, QgsServerFilter * > QgsServerFiltersMap
virtual void flush()=0
Flushes the current output buffer to the network.
void flush() override
Flushes the current output buffer to the network.
void start()
Call filters requestReady() method.
QgsServerResponse Class defining response interface passed to services QgsService::executeRequest() m...
virtual void finish()=0
Finish the response, ending the transaction.
void finish() override
Finish the response, ending the transaction.