1
0
Fork 0
forked from blue/pica

first thoughts about database

This commit is contained in:
Blue 2023-12-07 17:32:43 -03:00
parent 1b9d5e4a7b
commit 03f38387e2
Signed by untrusted user: blue
GPG key ID: 9B203B252A63EE38
14 changed files with 255 additions and 20 deletions

36
database/dbinterface.h Normal file
View file

@ -0,0 +1,36 @@
#pragma once
#include <stdexcept>
#include <string>
#include <memory>
class DBInterface {
public:
enum class Type {
mysql
};
enum class State {
disconnected,
connecting,
connected
};
static std::unique_ptr<DBInterface> create(Type type);
virtual ~DBInterface();
State currentState() const;
const Type type;
public:
virtual void connect(const std::string& path) = 0;
virtual void disconnect() = 0;
virtual void setDatabase(const std::string& newDatabase) = 0;
virtual void setCredentials(const std::string& login, const std::string& password) = 0;
protected:
DBInterface(Type type);
protected:
State state;
};