QGIS API Documentation  3.6.0-Noosa (5873452)
qgscapabilitiescache.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgscapabilitiescache.h
3  ----------------------
4  begin : May 11th, 2011
5  copyright : (C) 2011 by Marco Hugentobler
6  email : marco dot hugentobler at sourcepole dot ch
7  ***************************************************************************/
8 
9 /***************************************************************************
10  * *
11  * This program is free software; you can redistribute it and/or modify *
12  * it under the terms of the GNU General Public License as published by *
13  * the Free Software Foundation; either version 2 of the License, or *
14  * (at your option) any later version. *
15  * *
16  ***************************************************************************/
17 
18 #ifndef QGSCAPABILITIESCACHE_H
19 #define QGSCAPABILITIESCACHE_H
20 
21 #include <QDomDocument>
22 #include <QFileSystemWatcher>
23 #include <QHash>
24 #include <QObject>
25 #include "qgis_server.h"
26 
31 class SERVER_EXPORT QgsCapabilitiesCache : public QObject
32 {
33  Q_OBJECT
34  public:
36 
42  const QDomDocument *searchCapabilitiesDocument( const QString &configFilePath, const QString &key );
43 
50  void insertCapabilitiesDocument( const QString &configFilePath, const QString &key, const QDomDocument *doc );
51 
57  void removeCapabilitiesDocument( const QString &path );
58 
59  private:
60  QHash< QString, QHash< QString, QDomDocument > > mCachedCapabilities;
61  QFileSystemWatcher mFileSystemWatcher;
62 
63  private slots:
65  void removeChangedEntry( const QString &path );
66 };
67 
68 #endif // QGSCAPABILITIESCACHE_H
A cache for capabilities xml documents (by configuration file path)