-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDatabaseHandler.cpp
More file actions
41 lines (38 loc) · 1.52 KB
/
Copy pathDatabaseHandler.cpp
File metadata and controls
41 lines (38 loc) · 1.52 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
/**********************************************************************
* Polly Scop Profiler Runtime
* Copyright (C) 2018 Dominik Adamski
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
***********************************************************************/
#include "DatabaseHandler.h"
#include <memory>
#include <sqlite3.h>
#include <stdexcept>
using namespace std;
void closeDatabase(sqlite3 *db) { sqlite3_close(db); }
DatabaseHandler::DatabaseHandler(const char *DatabaseFile)
: DatabasePtr(nullptr, &closeDatabase) {
sqlite3 *databasePtr;
int rc;
rc = sqlite3_open(DatabaseFile, &databasePtr);
if (rc)
throw runtime_error("Cannot open database");
DatabasePtr =
unique_ptr<sqlite3, void (*)(sqlite3 *)>(databasePtr, &closeDatabase);
};
DatabaseHandler::~DatabaseHandler(){};
sqlite3 *DatabaseHandler::GetDatabasePtr() { return DatabasePtr.get(); }
int DatabaseHandler::exec(const char *command) {
return 1; // sqlite3_exec(database);
}