27#include <QElapsedTimer>
33#include "core/LogEntry.h"
51class QueryDependenciesRunner :
public QObject {
55 explicit QueryDependenciesRunner(QObject *parent =
nullptr);
56 ~QueryDependenciesRunner()
override;
63 void run(
const QString &compilationDatabasePath,
64 const QString &outputFilePath,
65 const QString &queryDependenciesBinary = QString());
83 const QStringList &errorMessages);
87 void error(
const QString &errorMessage);
97 void onProcessFinished(
int exitCode, QProcess::ExitStatus exitStatus);
98 void onProcessError(QProcess::ProcessError
error);
99 void onProcessStdOut();
100 void onProcessStdErr();
104 QString compilationDatabasePath_;
105 QString outputFilePath_;
106 QString clangResourceDir_;
107 QElapsedTimer elapsed_;
108 QString pendingStdout_;
109 QString pendingStderr_;
void logMessage(const LogEntry &entry)
Emitted when the tool produces log output.
void dependenciesReadyWithErrors(const QJsonObject &dependencies, const QStringList &errorMessages)
Emitted when query-dependencies completes with some errors.
bool isRunning() const
Check if query is currently running.
void progress(const QString &message)
Emitted with progress updates (e.g., "Running query-dependencies...").
void error(const QString &errorMessage)
Emitted when an error occurs.
void run(const QString &compilationDatabasePath, const QString &outputFilePath, const QString &queryDependenciesBinary=QString())
Run query-dependencies tool with the specified compilation database.
void setClangResourceDir(const QString &dir)
Set the Clang resource directory.
void dependenciesReady(const QJsonObject &dependencies)
Emitted when query-dependencies completes successfully.