- ServerDb(ServerSettings *settings)
- : db_(QSqlDatabase::addDatabase(settings->getDbEngine()))
- {
- QString db_name(settings->getDbName());
- db_.setDatabaseName(db_name);
-
- if (!db_.open())
- {
- qDebug() << "cant open db";
- return;
- }
- qDebug() << "opened " << db_name;
-
- QSqlQuery q;
- if (!q.exec("create table torrents (hash varchar primary key, path varchar, savepath varchar);\n"))
- {
- qDebug() << "cant create table: " << q.lastError().text();
- }
- }
-
- ~ServerDb()
- {
- db_.close();
- }
-
- void addTorrent(const QString &hash, const QString &path, const QString &save_path)
- {
- if (!db_.open())
- {
- qDebug() << "cant open db";
- }
- QSqlQuery query_add_;
- query_add_.prepare("INSERT INTO torrents (hash, path, savepath) VALUES (?, ?, ?)");
- query_add_.bindValue(0, hash);
- query_add_.bindValue(1, path);
- query_add_.bindValue(2, save_path);
- if (!query_add_.exec())
- {
- qDebug() << "cant add torrent info into db: "
- << query_add_.lastError().text();
- }
- db_.close();
- }
+ ServerDb(ServerSettings *settings)
+ : db_(QSqlDatabase::addDatabase(settings->getDbEngine())) {
+ QString db_name(settings->getDbName());
+ db_.setDatabaseName(db_name);
+
+ qDebug() << "opening db " << db_name;
+ if (!db_.open()) {
+ qDebug() << "cant open db";
+ return;
+ }
+ qDebug() << "opened " << db_name;
+
+ QSqlQuery q;
+ if (!q.exec("create table torrents (hash varchar primary key, path varchar, savepath varchar);\n")) {
+ qDebug() << "cant create table: " << q.lastError().text();
+ }
+ }
+
+ ~ServerDb() {
+ db_.close();
+ }
+
+ void addTorrent(const QString &hash, const QString &path, const QString &save_path) {
+ DbAccessor dba(db_);
+ QSqlQuery query_add_;
+ query_add_.prepare("INSERT INTO torrents (hash, path, savepath) VALUES (?, ?, ?)");
+ query_add_.bindValue(0, hash);
+ query_add_.bindValue(1, path);
+ query_add_.bindValue(2, save_path);
+ if (!query_add_.exec()) {
+ qDebug() << "cant add torrent info into db: "
+ << query_add_.lastError().text();
+ }
+ }
+
+ void removeTorrent(const QString &hash) {
+ DbAccessor dba(db_);
+ QSqlQuery query(QString("DELETE FROM torrents WHERE hash='") + hash + "'");
+ if (!query.exec()) {
+ qDebug() << "cant delete torrent info from db"
+ << query.lastError().text();
+ }
+ }