QGIS API Documentation  3.21.0-Master (56b4176581)
qgsprojectstorageregistry.h
Go to the documentation of this file.
1 /***************************************************************************
2  qgsprojectstorageregistry.h
3  --------------------------------------
4  Date : March 2018
5  Copyright : (C) 2018 by Martin Dobias
6  Email : wonder dot sk at gmail dot com
7  ***************************************************************************
8  * *
9  * This program is free software; you can redistribute it and/or modify *
10  * it under the terms of the GNU General Public License as published by *
11  * the Free Software Foundation; either version 2 of the License, or *
12  * (at your option) any later version. *
13  * *
14  ***************************************************************************/
15 
16 #ifndef QGSPROJECTSTORAGEREGISTRY_H
17 #define QGSPROJECTSTORAGEREGISTRY_H
18 
19 #include "qgis_core.h"
20 #include "qgis_sip.h"
21 
22 #include <QHash>
23 
24 class QgsProjectStorage;
25 
34 class CORE_EXPORT QgsProjectStorageRegistry
35 {
36  public:
38 
40  QgsProjectStorage *projectStorageFromType( const QString &type );
41 
43  QgsProjectStorage *projectStorageFromUri( const QString &uri );
44 
46  QList<QgsProjectStorage *> projectStorages() const;
47 
49  void registerProjectStorage( QgsProjectStorage *storage SIP_TRANSFER );
50 
52  void unregisterProjectStorage( QgsProjectStorage *storage );
53 
54  private:
55  QHash<QString, QgsProjectStorage *> mBackends;
56 };
57 
58 #endif // QGSPROJECTSTORAGEREGISTRY_H
Registry of storage backends that QgsProject may use.
Abstract interface for project storage - to be implemented by various backends and registered in QgsP...
#define SIP_TRANSFER
Definition: qgis_sip.h:36