/*
 * This file was generated by qdbusxml2cpp version 0.8
 * Source file was org.kde.kstars.INDI.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 INDIADAPTOR_H
#define INDIADAPTOR_H

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

/*
 * Adaptor class for interface org.kde.kstars.INDI
 */
class INDIAdaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.kde.kstars.INDI")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.kde.kstars.INDI\">\n"
"    <method name=\"start\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"port\"/>\n"
"      <arg direction=\"in\" type=\"as\" name=\"drivers\"/>\n"
"    </method>\n"
"    <method name=\"stop\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"port\"/>\n"
"    </method>\n"
"    <method name=\"connect\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"host\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"port\"/>\n"
"    </method>\n"
"    <method name=\"disconnect\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"host\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"port\"/>\n"
"    </method>\n"
"    <method name=\"getDevices\">\n"
"      <arg direction=\"out\" type=\"as\"/>\n"
"    </method>\n"
"    <method name=\"getProperties\">\n"
"      <arg direction=\"out\" type=\"as\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"    </method>\n"
"    <method name=\"getPropertyState\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"    </method>\n"
"    <method name=\"getDevicesPaths\">\n"
"      <arg direction=\"out\" type=\"as\"/>\n"
"      <arg direction=\"in\" type=\"i\" name=\"interface\"/>\n"
"    </method>\n"
"    <method name=\"sendProperty\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"    </method>\n"
"    <method name=\"getLight\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"lightName\"/>\n"
"    </method>\n"
"    <method name=\"setSwitch\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"switchName\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"status\"/>\n"
"    </method>\n"
"    <method name=\"getSwitch\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"switchName\"/>\n"
"    </method>\n"
"    <method name=\"setText\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"textName\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"text\"/>\n"
"    </method>\n"
"    <method name=\"getText\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"textName\"/>\n"
"    </method>\n"
"    <method name=\"setNumber\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"numberName\"/>\n"
"      <arg direction=\"in\" type=\"d\" name=\"value\"/>\n"
"    </method>\n"
"    <method name=\"getNumber\">\n"
"      <arg direction=\"out\" type=\"d\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"numberName\"/>\n"
"    </method>\n"
"    <method name=\"getBLOBData\">\n"
"      <arg direction=\"out\" type=\"ay\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"blobName\"/>\n"
"      <arg direction=\"out\" type=\"s\" name=\"blobFormat\"/>\n"
"      <arg direction=\"out\" type=\"i\" name=\"size\"/>\n"
"    </method>\n"
"    <method name=\"getBLOBFile\">\n"
"      <arg direction=\"out\" type=\"s\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"device\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"property\"/>\n"
"      <arg direction=\"in\" type=\"s\" name=\"blobName\"/>\n"
"      <arg direction=\"out\" type=\"s\" name=\"blobFormat\"/>\n"
"      <arg direction=\"out\" type=\"i\" name=\"size\"/>\n"
"    </method>\n"
"  </interface>\n"
        "")
public:
    INDIAdaptor(INDIDBus *parent);
    ~INDIAdaptor() override;

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

public: // PROPERTIES
public Q_SLOTS: // METHODS
    bool connect(const QString &host, int port);
    bool disconnect(const QString &host, int port);
    QByteArray getBLOBData(const QString &device, const QString &property, const QString &blobName, QString &blobFormat, int &size);
    QString getBLOBFile(const QString &device, const QString &property, const QString &blobName, QString &blobFormat, int &size);
    QStringList getDevices();
    QStringList getDevicesPaths(int interface);
    QString getLight(const QString &device, const QString &property, const QString &lightName);
    double getNumber(const QString &device, const QString &property, const QString &numberName);
    QStringList getProperties(const QString &device);
    QString getPropertyState(const QString &device, const QString &property);
    QString getSwitch(const QString &device, const QString &property, const QString &switchName);
    QString getText(const QString &device, const QString &property, const QString &textName);
    bool sendProperty(const QString &device, const QString &property);
    bool setNumber(const QString &device, const QString &property, const QString &numberName, double value);
    bool setSwitch(const QString &device, const QString &property, const QString &switchName, const QString &status);
    bool setText(const QString &device, const QString &property, const QString &textName, const QString &text);
    bool start(int port, const QStringList &drivers);
    bool stop(const QString &port);
Q_SIGNALS: // SIGNALS
};

#endif
