QGIS API Documentation 3.37.0-Master (fdefdf9c27f)
qgsspatialiteutils.h
Go to the documentation of this file.
1/***************************************************************************
2 qgsspatialiteutils.h
3 -------------------
4 begin : Nov, 2017
5 copyright : (C) 2017 by Matthias Kuhn
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 QGSSPATIALITEUTILS_H
19#define QGSSPATIALITEUTILS_H
20
21#define SIP_NO_FILE
22
23#include "qgis_core.h"
24#include "qgssqliteutils.h"
25#include <functional>
26
33struct CORE_EXPORT QgsSpatialiteCloser
34{
35
39 void operator()( sqlite3 *database );
40
44 void *mSpatialiteContext = nullptr;
45};
46
54class CORE_EXPORT spatialite_database_unique_ptr : public std::unique_ptr< sqlite3, QgsSpatialiteCloser>
55{
56 public:
57
63 int open( const QString &path );
64
68 void reset();
69
77 void reset( sqlite3 *handle ) = delete;
78
84 int open_v2( const QString &path, int flags, const char *zVfs );
85
89 QString errorMessage() const;
90
95 sqlite3_statement_unique_ptr prepare( const QString &sql, int &resultCode );
96};
97
98#endif // QGSSPATIALITEUTILS_H
Unique pointer for spatialite databases, which automatically closes the database when the pointer goe...
void reset(sqlite3 *handle)=delete
It is not allowed to set an arbitrary sqlite3 handle on this object.
Unique pointer for sqlite3 prepared statements, which automatically finalizes the statement when the ...
std::unique_ptr< GEOSGeometry, GeosDeleter > unique_ptr
Scoped GEOS pointer.
Definition: qgsgeos.h:73
struct sqlite3 sqlite3
Closes a spatialite database.