/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/server/qgsconfigcache.h                                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/







class QgsConfigCache : QObject
{
%Docstring(signature="appended")
Cache for server configuration.
%End

%TypeHeaderCode
#include "qgsconfigcache.h"
%End
  public:
    static void initialize( QgsServerSettings *settings );
%Docstring
Initialize from settings.

This method must be called prior any call to `QgsConfigCache.instance`
%End

    static QgsConfigCache *instance();
%Docstring
Returns the current instance.
%End

    void removeEntry( const QString &path );
%Docstring
Removes an entry from cache.

:param path: The path of the project
%End

    const QgsProject *project( const QString &path, const QgsServerSettings *settings = 0 );
%Docstring
If the project is not cached yet, then the project is read from the
path. If the project is not available, then ``None`` is returned. If the
project contains any bad layer it is considered unavailable unless the
server configuration variable QGIS_SERVER_IGNORE_BAD_LAYERS passed in
the optional settings argument is set to ``True`` (the default value is
``False``).

:param path: the filename of the QGIS project
:param settings: QGIS server settings

:return: the project or ``None`` if an error happened
%End

    QString strategyName() const;
%Docstring
Returns the name of the current strategy

.. versionadded:: 3.26
%End

    QList<QgsProject *> projects() const;
%Docstring
Returns projects currently in cache.

.. versionadded:: 3.30
%End

  public:
    QgsConfigCache( QgsServerSettings *settings );
%Docstring
Initialize from settings
%End


  signals:

    void projectRemovedFromCache( const QString &path );
%Docstring
Emitted whenever a project is removed from the cache.

.. versionadded:: 3.38
%End

  private:
    QgsConfigCache();
  public slots:
    void removeChangedEntry( const QString &path );
%Docstring
Remove cache entry
%End

    void removeChangedEntries();
%Docstring
Remove all changed cache entries
%End
};



/************************************************************************
 * This file has been generated automatically from                      *
 *                                                                      *
 * src/server/qgsconfigcache.h                                          *
 *                                                                      *
 * Do not edit manually ! Edit header and run scripts/sipify.py again   *
 ************************************************************************/
