QGIS API Documentation
3.6.0-Noosa (5873452)
|
Abstract interface for project storage - to be implemented by various backends and registered in QgsProjectStorageRegistry. More...
#include <qgsprojectstorage.h>
Classes | |
class | Metadata |
Metadata associated with a project. More... | |
Public Member Functions | |
virtual | ~QgsProjectStorage ()=default |
virtual QStringList | listProjects (const QString &uri)=0 |
Returns list of all projects for given URI (specific to each storage backend) More... | |
virtual bool | readProject (const QString &uri, QIODevice *device, QgsReadWriteContext &context)=0 |
Reads project file content stored in the backend at the specified URI to the given device (could be e.g. More... | |
virtual bool | readProjectStorageMetadata (const QString &uri, QgsProjectStorage::Metadata &metadata) |
Reads project metadata (e.g. More... | |
virtual bool | removeProject (const QString &uri)=0 |
Removes an existing project at the given URI. More... | |
virtual bool | renameProject (const QString &uri, const QString &uriNew) |
Rename an existing project at the given URI to a different URI. More... | |
virtual QString | showLoadGui () |
Opens GUI to allow user to select a project to be loaded (GUI specific to this storage type). More... | |
virtual QString | showSaveGui () |
Opens GUI to allow user to select where a project should be saved (GUI specific to this storage type). More... | |
virtual QString | type ()=0 |
Unique identifier of the project storage type. More... | |
virtual QString | visibleName () |
Returns human-readable name of the storage. More... | |
virtual bool | writeProject (const QString &uri, QIODevice *device, QgsReadWriteContext &context)=0 |
Writes project file content stored in given device (could be e.g. More... | |
Abstract interface for project storage - to be implemented by various backends and registered in QgsProjectStorageRegistry.
Definition at line 37 of file qgsprojectstorage.h.
|
virtualdefault |
|
pure virtual |
Returns list of all projects for given URI (specific to each storage backend)
|
pure virtual |
Reads project file content stored in the backend at the specified URI to the given device (could be e.g.
a temporary file or a memory buffer). The device is expected to be empty when passed to readProject() so that the method can write all data to it and then rewind it using seek(0) to make it ready for reading in QgsProject.
|
inlinevirtual |
Reads project metadata (e.g.
last modified time) if this is supported by the storage implementation. Returns true if the metadata were read with success.
Definition at line 98 of file qgsprojectstorage.h.
|
pure virtual |
Removes an existing project at the given URI.
Returns true if the removal was successful.
|
inlinevirtual |
Rename an existing project at the given URI to a different URI.
Returns true if renaming was successful.
Definition at line 92 of file qgsprojectstorage.h.
|
inlinevirtual |
Opens GUI to allow user to select a project to be loaded (GUI specific to this storage type).
Returns project URI if user has picked a project or empty string if the GUI was canceled.
Definition at line 111 of file qgsprojectstorage.h.
|
inlinevirtual |
Opens GUI to allow user to select where a project should be saved (GUI specific to this storage type).
Returns project URI if user has picked a destination or empty string if the GUI was canceled.
Definition at line 117 of file qgsprojectstorage.h.
|
pure virtual |
Unique identifier of the project storage type.
If type() returns "memory", all project file names starting with "memory:" will have read/write redirected through that storage implementation.
|
inlinevirtual |
Returns human-readable name of the storage.
Used as the menu item text in QGIS. Empty name indicates that the storage does not implement GUI support (showLoadGui() and showSaveGui()). The name may be translatable and ideally unique as well.
Definition at line 105 of file qgsprojectstorage.h.
|
pure virtual |
Writes project file content stored in given device (could be e.g.
a temporary file or a memory buffer) using the backend to the specified URI. The device is expected to contain all project file data and having position at the start of the content when passed to writeProject() so that the method can read all data from it until it reaches its end.