/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was conversationsinterface.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 CONVERSATIONSINTERFACE_H
#define CONVERSATIONSINTERFACE_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.kdeconnect.device.conversations
 */
class OrgKdeKdeconnectDeviceConversationsInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.kde.kdeconnect.device.conversations"; }

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

    ~OrgKdeKdeconnectDeviceConversationsInterface();

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

    inline QDBusPendingReply<> replyToConversation(qlonglong conversationID, const QString &message, const QVariantList &attachmentUrls)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(conversationID) << QVariant::fromValue(message) << QVariant::fromValue(attachmentUrls);
        return asyncCallWithArgumentList(QStringLiteral("replyToConversation"), argumentList);
    }

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

    inline QDBusPendingReply<> requestAttachmentFile(qlonglong partID, const QString &uniqueIdentifier)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(partID) << QVariant::fromValue(uniqueIdentifier);
        return asyncCallWithArgumentList(QStringLiteral("requestAttachmentFile"), argumentList);
    }

    inline QDBusPendingReply<> requestConversation(qlonglong conversationID, int start, int end)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(conversationID) << QVariant::fromValue(start) << QVariant::fromValue(end);
        return asyncCallWithArgumentList(QStringLiteral("requestConversation"), argumentList);
    }

    inline QDBusPendingReply<> sendWithoutConversation(const QVariantList &addressList, const QString &message, const QVariantList &attachmentUrls)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(addressList) << QVariant::fromValue(message) << QVariant::fromValue(attachmentUrls);
        return asyncCallWithArgumentList(QStringLiteral("sendWithoutConversation"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void attachmentReceived(const QString &filePath, const QString &fileName);
    void conversationCreated(const QDBusVariant &msg);
    void conversationLoaded(qlonglong conversationID, qulonglong messageCount);
    void conversationRemoved(qlonglong conversationID);
    void conversationUpdated(const QDBusVariant &msg);
};

#endif
// clazy:skip
