digiKam
Loading...
Searching...
No Matches
processlauncher.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 : 2015-04-13
7 * Description : Generic process launcher with a capture of console output
8 *
9 * SPDX-FileCopyrightText: 2011-2024 by Gilles Caulier <caulier dot gilles at gmail dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// Qt includes
18
19#include <QThread>
20#include <QString>
21#include <QStringList>
22
23// Local includes
24
25#include "digikam_export.h"
26
27namespace Digikam
28{
29
30class DIGIKAM_EXPORT ProcessLauncher : public QThread
31{
32 Q_OBJECT
33
34public:
35
36 explicit ProcessLauncher(QObject* const parent = nullptr);
38
39 void setProgram(const QString& prog);
40 void setArguments(const QStringList& args);
41 void setWorkingDirectory(const QString& dir);
42 void setTimeOut(int msecs);
43
47 void setConsoleTraces(bool b);
48
52 void startProcess();
53
57 int exitCode() const;
58
62 qint64 elapsedTime() const;
63
67 QString output() const;
68
72 bool success() const;
73
74Q_SIGNALS:
75
76 void signalComplete(bool success, int exitCode);
77
78private:
79
80 void run() override;
81
82private Q_SLOTS:
83
84 void slotReadyRead();
85
86private:
87
88 class Private;
89 Private* const d = nullptr;
90};
91
92} // namespace Digikam
Definition processlauncher.h:31
void signalComplete(bool success, int exitCode)
Definition datefolderview.cpp:34