#ifndef DATABASEMANAGER_H_INCLUDED #define DATABASEMANAGER_H_INCLUDED #include "UWD.h" #include #include #include namespace UWD { /*! * \brief * DatabaseManager class * */ class DatabaseManager { private: /*! \brief DatabaseManager constructor.*/ DatabaseManager(const std::string &dbConnectString); ~DatabaseManager(); // Singleton Related static DatabaseManager mDatabaseManager; DatabaseManager& operator=(DatabaseManager&); // Disallowed in Singleton DatabaseManager(const DatabaseManager&); // Disallowed in Singleton // End Singleton Related LogManager& mLogManager; pqxx::connection C; public: /*! \brief getSingleton returns a reference to the DatabaseManager singleton. */ static DatabaseManager& getSingleton(); // SQL Queries /*! * \brief * Checks if sPasswordHash is a valid password for sAccountName * * Accesses the uw_account table in the database and checks to see if sPasswordHash * is the same as the one provided by the user. It returns true if the authentication * was successful, and false if it was not. */ bool queryAuthenticateAccount(std::string sAccountName, std::string sPasswordHash); }; } #endif // DATABASEMANAGER_H_INCLUDED