first thoughts about database
This commit is contained in:
parent
1b9d5e4a7b
commit
03f38387e2
14 changed files with 255 additions and 20 deletions
36
database/dbinterface.h
Normal file
36
database/dbinterface.h
Normal 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;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue