ACAV f0ba4b7c9529
Abstract Syntax Tree (AST) visualization tool for C, C++, and Objective-C
Loading...
Searching...
No Matches
acav::QueryDependenciesRunner Class Reference

Runs the query-dependencies tool and parses its output. More...

#include <QueryDependenciesRunner.h>

Inheritance diagram for acav::QueryDependenciesRunner:
[legend]

Signals

void dependenciesReady (const QJsonObject &dependencies)
 Emitted when query-dependencies completes successfully.
void dependenciesReadyWithErrors (const QJsonObject &dependencies, const QStringList &errorMessages)
 Emitted when query-dependencies completes with some errors.
void error (const QString &errorMessage)
 Emitted when an error occurs.
void progress (const QString &message)
 Emitted with progress updates (e.g., "Running query-dependencies...").
void logMessage (const LogEntry &entry)
 Emitted when the tool produces log output.

Public Member Functions

 QueryDependenciesRunner (QObject *parent=nullptr)
void run (const QString &compilationDatabasePath, const QString &outputFilePath, const QString &queryDependenciesBinary=QString())
 Run query-dependencies tool with the specified compilation database.
bool isRunning () const
 Check if query is currently running.
void setClangResourceDir (const QString &dir)
 Set the Clang resource directory.

Detailed Description

Runs the query-dependencies tool and parses its output.

This class provides a Qt-based interface to run the query-dependencies command-line tool using QProcess. It executes the tool, waits for completion, and parses the JSON output.

Usage: QueryDependenciesRunner runner; connect(&runner, &QueryDependenciesRunner::dependenciesReady, this, &MyClass::onDependenciesReady); connect(&runner, &QueryDependenciesRunner::error, this, &MyClass::onError); runner.run("/path/to/compile_commands.json");

Definition at line 51 of file QueryDependenciesRunner.h.

Constructor & Destructor Documentation

◆ QueryDependenciesRunner()

acav::QueryDependenciesRunner::QueryDependenciesRunner ( QObject * parent = nullptr)
explicit

Definition at line 34 of file QueryDependenciesRunner.cpp.

◆ ~QueryDependenciesRunner()

acav::QueryDependenciesRunner::~QueryDependenciesRunner ( )
override

Definition at line 46 of file QueryDependenciesRunner.cpp.

Member Function Documentation

◆ dependenciesReady

void acav::QueryDependenciesRunner::dependenciesReady ( const QJsonObject & dependencies)
signal

Emitted when query-dependencies completes successfully.

Parameters
dependenciesParsed JSON object from query-dependencies output

◆ dependenciesReadyWithErrors

void acav::QueryDependenciesRunner::dependenciesReadyWithErrors ( const QJsonObject & dependencies,
const QStringList & errorMessages )
signal

Emitted when query-dependencies completes with some errors.

Parameters
dependenciesParsed JSON object (includes error section)
errorMessagesList of formatted error messages

◆ error

void acav::QueryDependenciesRunner::error ( const QString & errorMessage)
signal

Emitted when an error occurs.

Parameters
errorMessageDescription of the error

Referenced by logMessage(), and run().

◆ isRunning()

bool acav::QueryDependenciesRunner::isRunning ( ) const

Check if query is currently running.

Definition at line 88 of file QueryDependenciesRunner.cpp.

References isRunning().

Referenced by isRunning(), and run().

◆ progress

void acav::QueryDependenciesRunner::progress ( const QString & message)
signal

Emitted with progress updates (e.g., "Running query-dependencies...").

Parameters
messageProgress message

Referenced by run().

◆ run()

void acav::QueryDependenciesRunner::run ( const QString & compilationDatabasePath,
const QString & outputFilePath,
const QString & queryDependenciesBinary = QString() )

Run query-dependencies tool with the specified compilation database.

Parameters
compilationDatabasePathPath to compile_commands.json
outputFilePathPath where dependencies.json should be written
queryDependenciesBinaryPath to query-dependencies executable (defaults to "query-dependencies" in PATH)

Definition at line 53 of file QueryDependenciesRunner.cpp.

References error(), isRunning(), progress(), and run().

Referenced by run().

◆ setClangResourceDir()

void acav::QueryDependenciesRunner::setClangResourceDir ( const QString & dir)
inline

Set the Clang resource directory.

Parameters
dirPath to clang resource dir (lib/clang/<ver>)

Definition at line 72 of file QueryDependenciesRunner.h.


The documentation for this class was generated from the following files: