1//============================================================================
2//
3// SSSS tt lll lll
4// SS SS tt ll ll
5// SS tttttt eeee ll ll aaaa
6// SSSS tt ee ee ll ll aa
7// SS tt eeeeee ll ll aaaaa -- "An Atari 2600 VCS Emulator"
8// SS SS tt ee ll ll aa aa
9// SSSS ttt eeeee llll llll aaaaa
10//
11// Copyright (c) 1995-2019 by Bradford W. Mott, Stephen Anthony
12// and the Stella Team
13//
14// See the file "License.txt" for information on usage and redistribution of
15// this file, and for a DISCLAIMER OF ALL WARRANTIES.
16//============================================================================
17
18#ifndef SQLITE_DATABASE_HXX
19#define SQLITE_DATABASE_HXX
20
21#include <sqlite3.h>
22
23#include "bspf.hxx"
24
25class SqliteDatabase
26{
27 public:
28
29 SqliteDatabase(const string& databaseDirectory, const string& databaseName);
30
31 ~SqliteDatabase();
32
33 void initialize();
34
35 const string fileName() const { return myDatabaseFile; }
36
37 operator sqlite3*() const { return myHandle; }
38
39 void exec(const string &sql) const;
40
41 private:
42
43 string myDatabaseFile;
44
45 sqlite3* myHandle;
46
47 private:
48
49 SqliteDatabase(const SqliteDatabase&) = delete;
50 SqliteDatabase(SqliteDatabase&&) = delete;
51 SqliteDatabase& operator=(const SqliteDatabase&) = delete;
52 SqliteDatabase& operator=(SqliteDatabase&&) = delete;
53};
54
55#endif // SQLITE_DATABASE_HXX
56