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 SETTINGS_DB_HXX
19#define SETTINGS_DB_HXX
20
21#include "bspf.hxx"
22#include "SqliteDatabase.hxx"
23#include "KeyValueRepositorySqlite.hxx"
24
25class SettingsDb
26{
27 public:
28
29 SettingsDb(const string& databaseDirectory, const string& databaseName);
30
31 bool initialize();
32
33 KeyValueRepository& settingsRepository() const { return *mySettingsRepository; }
34
35 private:
36
37 string myDatabaseDirectory;
38 string myDatabaseName;
39
40 unique_ptr<SqliteDatabase> myDb;
41 unique_ptr<KeyValueRepositorySqlite> mySettingsRepository;
42};
43
44#endif // SETTINGS_DB_HXX
45