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

#include <QtCore/QObject>
#include <QtDBus/QtDBus>
#include "ekos/auxiliary/opticaltraindbusinterface.h"
#include <QtCore/qcontainerfwd.h>

/*
 * Adaptor class for interface org.kde.kstars.Ekos.OpticalTrain
 */
class OpticalTrainAdaptor: public QDBusAbstractAdaptor
{
    Q_OBJECT
    Q_CLASSINFO("D-Bus Interface", "org.kde.kstars.Ekos.OpticalTrain")
    Q_CLASSINFO("D-Bus Introspection", ""
"  <interface name=\"org.kde.kstars.Ekos.OpticalTrain\">\n"
"    <property access=\"read\" type=\"s\" name=\"name\"/>\n"
"    <property access=\"read\" type=\"i\" name=\"id\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"mount\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"camera\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"focuser\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"filterWheel\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"rotator\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"dustCap\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"lightBox\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"scope\"/>\n"
"    <property access=\"read\" type=\"d\" name=\"reducer\"/>\n"
"    <property access=\"read\" type=\"s\" name=\"guider\"/>\n"
"    <method name=\"setMount\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setCamera\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setFocuser\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setFilterWheel\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setRotator\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setDustCap\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setLightBox\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setScope\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setReducer\">\n"
"      <arg direction=\"in\" type=\"d\" name=\"value\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"setGuider\">\n"
"      <arg direction=\"in\" type=\"s\" name=\"name\"/>\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"remove\">\n"
"      <arg direction=\"out\" type=\"b\"/>\n"
"    </method>\n"
"    <method name=\"reset\">\n"
"      <annotation value=\"true\" name=\"org.freedesktop.DBus.Method.NoReply\"/>\n"
"    </method>\n"
"    <signal name=\"updated\"/>\n"
"    <signal name=\"removed\"/>\n"
"  </interface>\n"
        "")
public:
    OpticalTrainAdaptor(Ekos::OpticalTrainDBusInterface *parent);
    ~OpticalTrainAdaptor() override;

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

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

    Q_PROPERTY(QString dustCap READ dustCap)
    QString dustCap() const;

    Q_PROPERTY(QString filterWheel READ filterWheel)
    QString filterWheel() const;

    Q_PROPERTY(QString focuser READ focuser)
    QString focuser() const;

    Q_PROPERTY(QString guider READ guider)
    QString guider() const;

    Q_PROPERTY(int id READ id)
    int id() const;

    Q_PROPERTY(QString lightBox READ lightBox)
    QString lightBox() const;

    Q_PROPERTY(QString mount READ mount)
    QString mount() const;

    Q_PROPERTY(QString name READ name)
    QString name() const;

    Q_PROPERTY(double reducer READ reducer)
    double reducer() const;

    Q_PROPERTY(QString rotator READ rotator)
    QString rotator() const;

    Q_PROPERTY(QString scope READ scope)
    QString scope() const;

public Q_SLOTS: // METHODS
    bool remove();
    Q_NOREPLY void reset();
    bool setCamera(const QString &name);
    bool setDustCap(const QString &name);
    bool setFilterWheel(const QString &name);
    bool setFocuser(const QString &name);
    bool setGuider(const QString &name);
    bool setLightBox(const QString &name);
    bool setMount(const QString &name);
    bool setReducer(double value);
    bool setRotator(const QString &name);
    bool setScope(const QString &name);
Q_SIGNALS: // SIGNALS
    void removed();
    void updated();
};

#endif
