/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Command line was: qdbusxml2cpp org.kde.kmtp.Device.xml -p org.kde.kmtp.Device.h
 *
 * qdbusxml2cpp is Copyright (C) 2023 The Qt Company Ltd.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef ORG_KDE_KMTP_DEVICE_H
#define ORG_KDE_KMTP_DEVICE_H

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

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

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

  ~OrgKdeKmtpDeviceInterface();

  Q_PROPERTY(QString friendlyName READ friendlyName)
  inline QString friendlyName() const { return qvariant_cast<QString>(property("friendlyName")); }

  Q_PROPERTY(QString udi READ udi)
  inline QString udi() const { return qvariant_cast<QString>(property("udi")); }

 public Q_SLOTS:  // METHODS
  inline QDBusPendingReply<bool> devicesUpdated() {
    QList<QVariant> argumentList;
    return asyncCallWithArgumentList(QStringLiteral("devicesUpdated"), argumentList);
  }

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

  inline QDBusPendingReply<int> setFriendlyName(const QString &newName) {
    QList<QVariant> argumentList;
    argumentList << QVariant::fromValue(newName);
    return asyncCallWithArgumentList(QStringLiteral("setFriendlyName"), argumentList);
  }

 Q_SIGNALS:  // SIGNALS
};

namespace org {
namespace kde {
namespace kmtp {
typedef ::OrgKdeKmtpDeviceInterface Device;
}
}  // namespace kde
}  // namespace org
#endif
