QGIS API Documentation
4.3.0-Master (c8cdfe19d7b)
Toggle main menu visibility
Loading...
Searching...
No Matches
src
server
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"
21
#include "
qgsfilterresponsedecorator.h
"
22
23
QgsFilterResponseDecorator::QgsFilterResponseDecorator
(
QgsServerFiltersMap
filters,
QgsServerResponse
&response )
24
: mFilters( filters )
25
, mResponse( response )
26
{}
27
28
void
QgsFilterResponseDecorator::start
()
29
{
30
QgsServerFiltersMap::const_iterator filtersIterator;
31
for
( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
32
{
33
if
( !filtersIterator.value()->onRequestReady() )
34
{
35
// stop propagation
36
return
;
37
}
38
}
39
}
40
41
void
QgsFilterResponseDecorator::ready
()
42
{
43
QgsServerFiltersMap::const_iterator filtersIterator;
44
for
( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
45
{
46
if
( !filtersIterator.value()->onProjectReady() )
47
{
48
// stop propagation
49
return
;
50
}
51
}
52
}
53
54
void
QgsFilterResponseDecorator::finish
()
55
{
56
QgsServerFiltersMap::const_iterator filtersIterator;
57
for
( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
58
{
59
if
( !filtersIterator.value()->onResponseComplete() )
60
{
61
// stop propagation, 'finish' must be called on the wrapped
62
// response
63
break
;
64
}
65
}
66
// Will call internal 'flush'
67
mResponse.finish();
68
}
69
70
71
void
QgsFilterResponseDecorator::flush
()
72
{
73
QgsServerFiltersMap::const_iterator filtersIterator;
74
75
for
( filtersIterator = mFilters.constBegin(); filtersIterator != mFilters.constEnd(); ++filtersIterator )
76
{
77
if
( !filtersIterator.value()->onSendResponse() )
78
{
79
// Stop propagation
80
return
;
81
}
82
}
83
mResponse.flush();
84
}
QgsFilterResponseDecorator::flush
void flush() override
Flushes the current output buffer to the network.
Definition
qgsfilterresponsedecorator.cpp:71
QgsFilterResponseDecorator::start
void start()
Call filters requestReady() method.
Definition
qgsfilterresponsedecorator.cpp:28
QgsFilterResponseDecorator::finish
void finish() override
Finish the response, ending the transaction.
Definition
qgsfilterresponsedecorator.cpp:54
QgsFilterResponseDecorator::QgsFilterResponseDecorator
QgsFilterResponseDecorator(QgsServerFiltersMap filters, QgsServerResponse &response)
Constructor for QgsFilterResponseDecorator.
Definition
qgsfilterresponsedecorator.cpp:23
QgsFilterResponseDecorator::ready
void ready()
Call filters projectReady() method.
Definition
qgsfilterresponsedecorator.cpp:41
QgsServerResponse::QgsServerResponse
QgsServerResponse()=default
qgsfilterresponsedecorator.h
QgsServerFiltersMap
QMultiMap< int, QgsServerFilter * > QgsServerFiltersMap
Definition
qgsserverfilter.h:142
Generated on
for QGIS API Documentation by
1.17.0