/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was dev.jonmagon.kdiskmark.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 HELPER_INTERFACE_H
#define HELPER_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 dev.jonmagon.kdiskmark.helper
 */
class DevJonmagonKdiskmarkHelperInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "dev.jonmagon.kdiskmark.helper"; }

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

    ~DevJonmagonKdiskmarkHelperInterface();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<QVariantMap> checkCowStatus(const QString &path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path);
        return asyncCallWithArgumentList(QStringLiteral("checkCowStatus"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> createNoCowDirectory(const QString &path)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(path);
        return asyncCallWithArgumentList(QStringLiteral("createNoCowDirectory"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> endSession()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("endSession"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> flushPageCache()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("flushPageCache"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> initSession()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("initSession"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> prepareBenchmarkFile(const QString &benchmarkPath, int fileSize, bool fillZeros)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(benchmarkPath) << QVariant::fromValue(fileSize) << QVariant::fromValue(fillZeros);
        return asyncCallWithArgumentList(QStringLiteral("prepareBenchmarkFile"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> removeBenchmarkFile()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("removeBenchmarkFile"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> startBenchmarkTest(int measuringTime, int fileSize, int randomReadPercentage, bool fillZeros, bool cacheBypass, bool continuousGeneration, int blockSize, int queueDepth, int threads, const QString &rw)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(measuringTime) << QVariant::fromValue(fileSize) << QVariant::fromValue(randomReadPercentage) << QVariant::fromValue(fillZeros) << QVariant::fromValue(cacheBypass) << QVariant::fromValue(continuousGeneration) << QVariant::fromValue(blockSize) << QVariant::fromValue(queueDepth) << QVariant::fromValue(threads) << QVariant::fromValue(rw);
        return asyncCallWithArgumentList(QStringLiteral("startBenchmarkTest"), argumentList);
    }

    inline QDBusPendingReply<QVariantMap> stopCurrentTask()
    {
        QList<QVariant> argumentList;
        return asyncCallWithArgumentList(QStringLiteral("stopCurrentTask"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void taskFinished(bool in0, const QString &in1, const QString &in2);
};

namespace dev {
  namespace jonmagon {
    namespace kdiskmark {
      using helper = ::DevJonmagonKdiskmarkHelperInterface;
    }
  }
}

#endif
