/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.kpmcore.helperinterface.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef EXTERNALCOMMANDHELPER_INTERFACE_H
#define EXTERNALCOMMANDHELPER_INTERFACE_H

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>

/*
 * Proxy class for interface org.kde.kpmcore.externalcommand
 */
class OrgKdeKpmcoreExternalcommandInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.kde.kpmcore.externalcommand"; }

public:
    OrgKdeKpmcoreExternalcommandInterface(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent = nullptr);

    ~OrgKdeKpmcoreExternalcommandInterface();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QVariantMap> CopyFileData(const QString &sourceDevice, qlonglong sourceOffset, qlonglong sourceLength, const QString &targetDevice, qlonglong targetOffset, qlonglong blockSize)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(sourceDevice) << QVariant::fromValue(sourceOffset) << QVariant::fromValue(sourceLength) << QVariant::fromValue(targetDevice) << QVariant::fromValue(targetOffset) << QVariant::fromValue(blockSize);
        return asyncCallWithArgumentList(QStringLiteral("CopyFileData"), argumentList);
    }

    inline QDBusPendingReply<QByteArray> ReadData(const QString &device, qlonglong offset, qlonglong length)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(device) << QVariant::fromValue(offset) << QVariant::fromValue(length);
        return asyncCallWithArgumentList(QStringLiteral("ReadData"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> RunCommand(const QString &command, const QStringList &arguments, const QByteArray &input, int processChannelMode)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(command) << QVariant::fromValue(arguments) << QVariant::fromValue(input) << QVariant::fromValue(processChannelMode);
        return asyncCallWithArgumentList(QStringLiteral("RunCommand"), argumentList);
    }

    inline QDBusPendingReply<bool> WriteData(const QByteArray &buffer, const QString &targetDevice, qlonglong targetOffset)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(buffer) << QVariant::fromValue(targetDevice) << QVariant::fromValue(targetOffset);
        return asyncCallWithArgumentList(QStringLiteral("WriteData"), argumentList);
    }

    inline QDBusPendingReply<bool> WriteFstab(const QByteArray &fstabContents)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(fstabContents);
        return asyncCallWithArgumentList(QStringLiteral("WriteFstab"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void progress(int in0);
    void report(const QString &in0);
};

namespace org {
  namespace kde {
    namespace kpmcore {
      using externalcommand = ::OrgKdeKpmcoreExternalcommandInterface;
    }
  }
}

#endif
