From 46b7119fab32b05923dbf9cda7cd6ce62f572846 Mon Sep 17 00:00:00 2001 From: Kelly Rauchenberger Date: Mon, 9 Jan 2017 14:01:51 -0500 Subject: Initial commit --- generator/database.h | 73 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 generator/database.h (limited to 'generator/database.h') diff --git a/generator/database.h b/generator/database.h new file mode 100644 index 0000000..7aa8dfa --- /dev/null +++ b/generator/database.h @@ -0,0 +1,73 @@ +#ifndef DATABASE_H_0B0A47D2 +#define DATABASE_H_0B0A47D2 + +#include +#include +#include + +struct sqlite3; + +namespace cadence { + namespace generator { + + class field; + + class sqlite3_error : public std::exception { + public: + + sqlite3_error(const std::string& what, const std::string& db_err); + + const char* what() const noexcept override; + const char* db_err() const noexcept; + + private: + std::string what_; + std::string db_err_; + + }; + + class database { + public: + + // Constructor + + explicit database(std::string path); + + // Disable copying + + database(const database& other) = delete; + database& operator=(const database& other) = delete; + + // Move constructor and move assignment + + database(database&& other); + database& operator=(database&& other); + + // Swap + + friend void swap(database& first, database& second); + + // Destructor + + ~database(); + + // Actions + + void runQuery(std::string query); + + void insertIntoTable(std::string table, std::list fields); + + private: + + database() + { + } + + sqlite3* ppdb_ = nullptr; + + }; + + }; +}; + +#endif /* end of include guard: DATABASE_H_0B0A47D2 */ -- cgit 1.4.1