QGIS/python/server/qgsserverinterface.sip

61 lines
2.5 KiB
Plaintext
Raw Normal View History

2014-10-10 19:28:20 +02:00
/***************************************************************************
qgsserverinterface.sip
Class defining the interface made available to server 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. *
* *
***************************************************************************/
2014-10-09 15:05:19 +02:00
/**
* \class QgsServerInterface
2014-10-10 19:28:20 +02:00
* \brief Class defining the interface made available to server plugins.
2014-10-09 15:05:19 +02:00
*
2014-10-10 19:28:20 +02:00
* This class provides methods to access the request handler and
* the capabilties cache. A method to read the environment
* variables set in the main FCGI loop is also available.
* Plugins can add listeners (instances of QgsServerFilter) with
* a certain priority through the registerFilter( QgsServerFilter* , int) method.
2014-10-09 15:05:19 +02:00
*/
typedef QMultiMap<int, QgsServerFilter*> QgsServerFiltersMap;
class QgsServerInterface
{
%TypeHeaderCode
#include "qgsserverinterface.h"
%End
public:
2014-10-10 19:28:20 +02:00
/**Returns the current request handler*/
2014-10-09 15:05:19 +02:00
virtual QgsRequestHandler* requestHandler( ) = 0 /KeepReference/;
2014-10-10 19:28:20 +02:00
/**Returns the capabilities cache*/
virtual QgsCapabilitiesCache* capabiblitiesCache() = 0 /KeepReference/;
2014-10-09 15:05:19 +02:00
// Tansfer ownership to avoid garbage collector to call dtor
2014-10-10 19:28:20 +02:00
/** Register a filter with the given priority. The filter's requestReady()
* and responseReady() methods will be called from the loop*/
2014-10-09 15:05:19 +02:00
virtual void registerFilter( QgsServerFilter* filter /Transfer/, int priority = 0 ) = 0;
2014-10-10 19:28:20 +02:00
/**Return an environment variable set by FCGI*/
2014-10-09 17:06:07 +02:00
virtual QString getEnv(const QString& name ) const = 0;
2014-10-10 11:38:02 +02:00
// Commented because of problems with typedef QgsServerFiltersMap, provided
// methods to alter the filters map into QgsRequestHandler API
// virtual QgsServerFiltersMap filters( ) = 0;
2014-10-09 15:05:19 +02:00
private:
/** Constructor */
QgsServerInterface( );
};