LeechCraft
0.6.70-18450-gabe19ee3b0
Modular cross-platform feature rich live environment.
Toggle main menu visibility
Loading...
Searching...
No Matches
util.h
Go to the documentation of this file.
1
/**********************************************************************
2
* LeechCraft - modular cross-platform feature rich internet client.
3
* Copyright (C) 2006-2014 Georg Rudoy
4
*
5
* Distributed under the Boost Software License, Version 1.0.
6
* (See accompanying file LICENSE or copy at https://www.boost.org/LICENSE_1_0.txt)
7
**********************************************************************/
8
9
#pragma once
10
11
#include <QVariant>
12
#include <QSqlQuery>
13
#include <QtDebug>
14
#include "
dbconfig.h
"
15
16
class
QSqlDatabase;
17
class
QString;
18
19
namespace
LC::Util
20
{
36
UTIL_DB_API
QSqlQuery
RunTextQuery
(
const
QSqlDatabase& db,
const
QString& text);
37
58
UTIL_DB_API
QString
LoadQuery
(
const
QString& plugin,
const
QString& filename);
59
81
UTIL_DB_API
void
RunQuery
(
const
QSqlDatabase& db,
const
QString& plugin,
const
QString& filename);
82
94
template
<
typename
T =
int
>
95
T
GetLastId
(
const
QSqlQuery& query)
96
{
97
const
auto
& lastVar = query.lastInsertId ();
98
if
(lastVar.isNull ())
99
throw
std::runtime_error {
"No last ID has been reported."
};
100
101
if
(!lastVar.canConvert<T> ())
102
{
103
qWarning () << Q_FUNC_INFO
104
<<
"cannot convert"
105
<< lastVar;
106
throw
std::runtime_error {
"Cannot convert last ID."
};
107
}
108
109
return
lastVar.value<T> ();
110
}
111
123
UTIL_DB_API
QString
GenConnectionName
(
const
QString& base);
124
125
enum class
UserDir
;
126
127
struct
SqliteDatabaseConfig
128
{
129
QString
Connection_
;
130
UserDir
DirKind_
;
131
QString
Dir_
;
132
QString
Filename_
;
133
};
134
135
UTIL_DB_API
QSqlDatabase
OpenSqliteDatabase
(
const
SqliteDatabaseConfig
&);
136
}
dbconfig.h
UTIL_DB_API
#define UTIL_DB_API
Definition
dbconfig.h:16
LC::Util::RunTextQuery
QSqlQuery RunTextQuery(const QSqlDatabase &db, const QString &text)
Runs the given query text on the given db.
Definition
util.cpp:22
LC::Util::LoadQuery
QString LoadQuery(const QString &pluginName, const QString &filename)
Loads the query text from the given resource file.
Definition
util.cpp:34
LC::Util::GenConnectionName
QString GenConnectionName(const QString &base)
Generates an unique thread-safe connection name.
Definition
util.cpp:55
LC::Util::RunQuery
void RunQuery(const QSqlDatabase &db, const QString &pluginName, const QString &filename)
Loads the query from the given resource file and runs it.
Definition
util.cpp:48
LC::Util::GetLastId
T GetLastId(const QSqlQuery &query)
Gets the last insert ID for the given query.
Definition
util.h:95
LC::Util
Definition
icoreproxy.h:34
LC::Util::UserDir
UserDir
Describes various user-specific paths.
Definition
paths.h:148
LC::Util::OpenSqliteDatabase
QSqlDatabase OpenSqliteDatabase(const SqliteDatabaseConfig &config)
Definition
util.cpp:62
LC::Util::SqliteDatabaseConfig
Definition
util.h:128
LC::Util::SqliteDatabaseConfig::Dir_
QString Dir_
Definition
util.h:131
LC::Util::SqliteDatabaseConfig::Filename_
QString Filename_
Definition
util.h:132
LC::Util::SqliteDatabaseConfig::DirKind_
UserDir DirKind_
Definition
util.h:130
LC::Util::SqliteDatabaseConfig::Connection_
QString Connection_
Definition
util.h:129
src
util
db
util.h
Generated by
1.17.0