QGIS API Documentation  3.6.0-Noosa (5873452)
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 
33 class CORE_EXPORT QgsProjectStorageRegistry
34 {
35  public:
37 
39  QgsProjectStorage *projectStorageFromType( const QString &type );
40 
42  QgsProjectStorage *projectStorageFromUri( const QString &uri );
43 
45  QList<QgsProjectStorage *> projectStorages() const;
46 
48  void registerProjectStorage( QgsProjectStorage *storage SIP_TRANSFER );
49 
51  void unregisterProjectStorage( QgsProjectStorage *storage );
52 
53  private:
54  QHash<QString, QgsProjectStorage *> mBackends;
55 };
56 
57 #endif // QGSPROJECTSTORAGEREGISTRY_H
#define SIP_TRANSFER
Definition: qgis_sip.h:36
Abstract interface for project storage - to be implemented by various backends and registered in QgsP...
Registry of storage backends that QgsProject may use.