summaryrefslogtreecommitdiff
path: root/src/database/database-files.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/database/database-files.h')
-rw-r--r--src/database/database-files.h21
1 files changed, 21 insertions, 0 deletions
diff --git a/src/database/database-files.h b/src/database/database-files.h
index f0824a304..218815cf7 100644
--- a/src/database/database-files.h
+++ b/src/database/database-files.h
@@ -24,6 +24,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
// for player files
#include "database.h"
+#include <unordered_map>
class PlayerDatabaseFiles : public PlayerDatabase
{
@@ -41,3 +42,23 @@ private:
std::string m_savedir;
};
+
+class AuthDatabaseFiles : public AuthDatabase
+{
+public:
+ AuthDatabaseFiles(const std::string &savedir);
+ virtual ~AuthDatabaseFiles() = default;
+
+ virtual bool getAuth(const std::string &name, AuthEntry &res);
+ virtual bool saveAuth(const AuthEntry &authEntry);
+ virtual bool createAuth(AuthEntry &authEntry);
+ virtual bool deleteAuth(const std::string &name);
+ virtual void listNames(std::vector<std::string> &res);
+ virtual void reload();
+
+private:
+ std::unordered_map<std::string, AuthEntry> m_auth_list;
+ std::string m_savedir;
+ bool readAuthFile();
+ bool writeAuthFile();
+};