/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.kmtp.storage.xml
 *
 * qdbusxml2cpp is Copyright (C) The Qt Company Ltd. and other contributors.
 *
 * This is an auto-generated file.
 * This file may have been hand-edited. Look for HAND-EDIT comments
 * before re-generating it.
 */

#ifndef STORAGEADAPTOR_H
#define STORAGEADAPTOR_H

#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include "mtpstorage.h"
#include <QtCore/qcontainerfwd.h>

/*
 * Adaptor class for interface org.kde.kmtp.Storage
 */
class StorageAdaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.kde.kmtp.Storage")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.kde.kmtp.Storage\">\n"
"    <property access=\"read\" type=\"s\" name=\"description\"/>\n"
"    <property access=\"read\" type=\"t\" name=\"maxCapacity\"/>\n"
"    <property access=\"read\" type=\"t\" name=\"freeSpaceInBytes\"/>\n"
"    <method name=\"getFilesAndFolders\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"      <arg direction=\"out\" type=\"a(uuustxs)\"/>\n"
"      <arg direction=\"out\" type=\"i\" name=\"exists\"/>\n"
"      <annotation value=\"KMTPFileList\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
"    </method>\n"
"    <method name=\"getFilesAndFolders2\">\n"
"      <arg direction=\"out\" type=\"o\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"    </method>\n"
"    <method name=\"getFileMetadata\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"      <arg direction=\"out\" type=\"(uuustxs)\"/>\n"
"      <annotation value=\"KMTPFile\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
"    </method>\n"
"    <method name=\"getFileToHandler\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"    </method>\n"
"    <method name=\"getFileToFileDescriptor\">\n"
"      <arg direction=\"in\" type=\"h\" name=\"descriptor\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"sourcePath\"/>\n"
"      <arg direction=\"out\" type=\"i\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"sendFileFromFileDescriptor\">\n"
"      <arg direction=\"in\" type=\"h\" name=\"descriptor\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"destinationPath\"/>\n"
"      <arg direction=\"out\" type=\"i\"/>\n"
"    </method>\n"
"    <method name=\"setFileName\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"newName\"/>\n"
"      <arg direction=\"out\" type=\"i\" name=\"result\"/>\n"
"    </method>\n"
"    <method name=\"createFolder\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"      <arg direction=\"out\" type=\"u\"/>\n"
"    </method>\n"
"    <method name=\"deleteObject\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"path\"/>\n"
"      <arg direction=\"out\" type=\"i\" name=\"result\"/>\n"
"    </method>\n"
"    <signal name=\"dataReady\">\n"
"      <arg direction=\"out\" type=\"ay\" name=\"data\"/>\n"
"      <annotation value=\"QByteArray\" name=\"org.qtproject.QtDBus.QtTypeName.Out0\"/>\n"
"    </signal>\n"
"    <signal name=\"copyProgress\">\n"
"      <arg type=\"t\" name=\"transferredBytes\"/>\n"
"      <arg type=\"t\" name=\"totalBytes\"/>\n"
"    </signal>\n"
"    <signal name=\"copyFinished\">\n"
"      <arg type=\"i\" name=\"result\"/>\n"
"    </signal>\n"
"  </interface>\n"
        "")
public:
    StorageAdaptor(MTPStorage *parent);
    ~StorageAdaptor() override;

    inline MTPStorage *parent() const
    { return static_cast<MTPStorage *>(QObject::parent()); }

public: // PROPERTIES
    Q_PROPERTY(QString description READ description)
    QString description() const;

    Q_PROPERTY(qulonglong freeSpaceInBytes READ freeSpaceInBytes)
    qulonglong freeSpaceInBytes() const;

    Q_PROPERTY(qulonglong maxCapacity READ maxCapacity)
    qulonglong maxCapacity() const;

public Q_SLOTS: // METHODS
    uint createFolder(const QString &path);
    int deleteObject(const QString &path);
    KMTPFile getFileMetadata(const QString &path);
    int getFileToFileDescriptor(const QDBusUnixFileDescriptor &descriptor, const QString &sourcePath);
    int getFileToHandler(const QString &path);
    KMTPFileList getFilesAndFolders(const QString &path, int &exists);
    QDBusObjectPath getFilesAndFolders2(const QString &path);
    int sendFileFromFileDescriptor(const QDBusUnixFileDescriptor &descriptor, const QString &destinationPath);
    int setFileName(const QString &path, const QString &newName);
Q_SIGNALS: // SIGNALS
    void copyFinished(int result);
    void copyProgress(qulonglong transferredBytes, qulonglong totalBytes);
    void dataReady(const QByteArray &data);
};

#endif
