SQLite VFS Shim
Single header with classes for easily implementing SQLite VFS shims in C++11
|
#include <SQLiteVfs.hpp>
Public Types | |
using | FileImpl = TFileImpl |
Public Member Functions | |
virtual int | xOpen (sqlite3_filename zName, SQLiteFile< TFileImpl > *file, int flags, int *pOutFlags) |
virtual int | xDelete (const char *zName, int syncDir) |
virtual int | xAccess (const char *zName, int flags, int *pResOut) |
virtual int | xFullPathname (const char *zName, int nOut, char *zOut) |
virtual void * | xDlOpen (const char *zFilename) |
virtual void | xDlError (int nByte, char *zErrMsg) |
virtual void | xDlClose (void *library) |
virtual int | xRandomness (int nByte, char *zOut) |
virtual int | xSleep (int microseconds) |
virtual int | xCurrentTime (double *pResOut) |
virtual int | xGetLastError (int nByte, char *zOut) |
virtual int | xCurrentTimeInt64 (sqlite3_int64 *pResOut) |
virtual int | xSetSystemCall (const char *zName, sqlite3_syscall_ptr ptr) |
virtual sqlite3_syscall_ptr | xGetSystemCall (const char *zName) |
virtual const char * | xNextSystemCall (const char *zName) |
Public Attributes | |
sqlite3_vfs * | original_vfs |
virtual void(*)(void) | xDlSym (void *library, const char *zSymbol) |
SQLite VFS implementation with virtual methods for C++.
The default method implementations forward execution to original_vfs
.
You should not create objects of this type manually. Instead, you should subclass it, overriding any of the methods necessary, and pass your subclass to SQLiteVfs<>
.
TFileImpl | SQLiteFileImpl subclass |
using sqlitevfs::SQLiteVfsImpl< TFileImpl >::FileImpl = TFileImpl |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
Open the database.
file
is guaranteed to have been constructed using the default constructor. If you return SQLITE_OK
, the file
IO methods will be populated. Otherwise, IO methods will be set to NULL and file
will be automatically destroyed.
|
inlinevirtual |
|
inlinevirtual |
|
inlinevirtual |
sqlite3_vfs* sqlitevfs::SQLiteVfsImpl< TFileImpl >::original_vfs |
VFS used by the default method implementations.
|
inline |