digiKam
Loading...
Searching...
No Matches
databaseserver.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam project
4 * https://www.digikam.org
5 *
6 * Date : 2009-11-14
7 * Description : Mysql internal database server
8 *
9 * SPDX-FileCopyrightText: 2009-2011 by Holger Foerster <Hamsi2k at freenet dot de>
10 * SPDX-FileCopyrightText: 2010-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
11 * SPDX-FileCopyrightText: 2016 by Swati Lodha <swatilodha27 at gmail dot com>
12 *
13 * SPDX-License-Identifier: GPL-2.0-or-later
14 *
15 * ============================================================ */
16
17#pragma once
18
19// QT includes
20
21#include <QProcess>
22#include <QThread>
23#include <QString>
24
25// Local includes
26
28#include "databaseservererror.h"
29#include "dbengineparameters.h"
30#include "digikam_export.h"
31
32class QCoreApplication;
33
34namespace Digikam
35{
36
37class DIGIKAM_EXPORT DatabaseServer : public QThread
38{
39 Q_OBJECT
40
41public:
42
51
52public:
53
54 explicit DatabaseServer(const DbEngineParameters& params,
55 DatabaseServerStarter* const parent = DatabaseServerStarter::instance());
56 ~DatabaseServer() override;
57
61 DatabaseServerError startDatabaseProcess();
62
66 void stopDatabaseProcess();
67
71 bool isRunning() const;
72
73Q_SIGNALS:
74
75 void done();
76
77protected:
78
79 void run() override;
80
81private:
82
86 DatabaseServerError startMysqlDatabaseProcess();
87
92 DatabaseServerError checkDatabaseDirs() const;
93
98 DatabaseServerError initMysqlConfig() const;
99
103 void copyAndRemoveMysqlLogs() const;
104
108 DatabaseServerError createMysqlFiles() const;
109
113 DatabaseServerError startMysqlServer();
114
118 DatabaseServerError initMysqlDatabase(bool useDatabase) const;
119
123 DatabaseServerError upgradeMysqlDatabase();
124
128 QString getcurrentAccountUserName() const;
129
133 QString processErrorLog(QProcess* const process,
134 const QString& msg) const;
135
136private:
137
138 class Private;
139 Private* const d = nullptr;
140};
141
142} // namespace Digikam
Definition databaseservererror.h:31
Definition databaseserverstarter.h:32
Definition databaseserver.h:38
DatabaseServerStateEnum databaseServerStateEnum
Definition databaseserver.h:50
DatabaseServerStateEnum
Definition databaseserver.h:44
@ notRunning
Definition databaseserver.h:47
@ running
Definition databaseserver.h:46
@ started
Definition databaseserver.h:45
Definition dbengineparameters.h:39
Definition datefolderview.cpp:34