Permalink
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Browse files
Merge pull request #3172 from dmarteau/master
Expose server interfaces methods to python for clearing server cache
- Loading branch information
|
@@ -64,6 +64,11 @@ class QgsServerInterface |
|
|
virtual QString configFilePath() = 0; |
|
|
/** Set the config file path */ |
|
|
virtual void setConfigFilePath( const QString& configFilePath) = 0; |
|
|
/** Remove entry from config cache */ |
|
|
virtual void removeConfigCacheEntry( const QString& path ) = 0; |
|
|
/** Remove entry from layer cache */ |
|
|
virtual void removeProjectLayers( const QString& path ) = 0; |
|
|
|
|
|
|
|
|
private: |
|
|
/** Constructor */ |
|
|
|
@@ -207,3 +207,10 @@ void QgsConfigCache::removeChangedEntry( const QString& path ) |
|
|
|
|
|
mFileSystemWatcher.removePath( path ); |
|
|
} |
|
|
|
|
|
|
|
|
void QgsConfigCache::removeEntry( const QString& path ) |
|
|
{ |
|
|
removeChangedEntry( path ); |
|
|
} |
|
|
|
|
@@ -61,6 +61,8 @@ class SERVER_EXPORT QgsConfigCache : public QObject |
|
|
, const QMap<QString, QString>& parameterMap = ( QMap< QString, QString >() ) |
|
|
); |
|
|
|
|
|
void removeEntry( const QString& path ); |
|
|
|
|
|
private: |
|
|
QgsConfigCache(); |
|
|
|
|
|
|
@@ -226,3 +226,9 @@ void QgsMSLayerCache::logCacheContents() const |
|
|
QgsMessageLog::logMessage( "Url: " + it.value().url + " Layer name: " + it.value().layerPointer->name() + " Project: " + it.value().configFile, "Server", QgsMessageLog::INFO ); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
void QgsMSLayerCache::removeProjectLayers( const QString& path ) |
|
|
{ |
|
|
removeProjectFileLayers( path ); |
|
|
} |
|
@@ -73,6 +73,9 @@ class QgsMSLayerCache: public QObject |
|
|
//for debugging |
|
|
void logCacheContents() const; |
|
|
|
|
|
/** Expose method for use in server interface */ |
|
|
void removeProjectLayers( const QString& path ); |
|
|
|
|
|
protected: |
|
|
/** Protected singleton constructor*/ |
|
|
QgsMSLayerCache(); |
|
|
|
@@ -111,6 +111,21 @@ class SERVER_EXPORT QgsServerInterface |
|
|
*/ |
|
|
virtual void setConfigFilePath( const QString& configFilePath ) = 0; |
|
|
|
|
|
/** |
|
|
* Remove entry from config cache |
|
|
* @param path the path of the file to remove |
|
|
*/ |
|
|
virtual void removeConfigCacheEntry( const QString& path ) = 0; |
|
|
|
|
|
/** |
|
|
* Remove entries from layer cache |
|
|
* @param path the path of the project which own the layers to be removed |
|
|
*/ |
|
|
virtual void removeProjectLayers( const QString& path ) = 0; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private: |
|
|
QString mConfigFilePath; |
|
|
}; |
|
|
|
@@ -18,7 +18,8 @@ |
|
|
|
|
|
|
|
|
#include "qgsserverinterfaceimpl.h" |
|
|
|
|
|
#include "qgsconfigcache.h" |
|
|
#include "qgsmslayercache.h" |
|
|
|
|
|
/** Constructor */ |
|
|
QgsServerInterfaceImpl::QgsServerInterfaceImpl( QgsCapabilitiesCache* capCache ) |
|
@@ -72,3 +73,17 @@ void QgsServerInterfaceImpl::registerAccessControl( QgsAccessControlFilter* acce |
|
|
{ |
|
|
mAccessControls->registerAccessControl( accessControl, priority ); |
|
|
} |
|
|
|
|
|
|
|
|
void QgsServerInterfaceImpl::removeConfigCacheEntry( const QString& path ) |
|
|
{ |
|
|
QgsConfigCache::instance()->removeEntry( path ); |
|
|
} |
|
|
|
|
|
void QgsServerInterfaceImpl::removeProjectLayers( const QString& path ) |
|
|
{ |
|
|
QgsMSLayerCache::instance()->removeProjectLayers( path ); |
|
|
} |
|
|
|
|
|
|
|
|
|
|
@@ -61,6 +61,8 @@ class QgsServerInterfaceImpl : public QgsServerInterface |
|
|
QString configFilePath() override { return mConfigFilePath; } |
|
|
void setConfigFilePath( const QString& configFilePath ) override; |
|
|
void setFilters( QgsServerFiltersMap *filters ) override; |
|
|
void removeConfigCacheEntry( const QString& path ) override; |
|
|
void removeProjectLayers( const QString& path ) override; |
|
|
|
|
|
private: |
|
|
|
|
|