// SPDX-License-Identifier: GPL-3.0-or-later // Copyright (C) 2026 Dany Thinnes #pragma once #include #include #include struct AdfEntry { QString path; // voller Pfad in der ADF, z. B. "C/Dir" oder "S/Startup-Sequence" QString name; // nur der Name bool isDir = false; qint64 size = 0; }; // Duenner Wrapper um das Kommandozeilenprogramm xdftool (amitools). class XdfTool { public: struct Result { bool ok = false; QString out; QString err; QString commandLine; }; explicit XdfTool(const QString &program = QStringLiteral("xdftool")); void setProgram(const QString &program) { m_program = program; } QString program() const { return m_program; } // Fuehrt mehrere xdftool-Kommandos in EINEM Aufruf aus (verkettet mit "+"). Result runBatch(const QString &image, const QList &commands) const; // Inhalt der ADF auflisten (xdftool list) Result list(const QString &image, QList &entries) const; static QList parseList(const QString &text); private: QString m_program; };