/*
 * This file was generated by qdbusxml2cpp version 0.7
 * Command line was: qdbusxml2cpp -N -p qibusproxy -c QIBusProxy interfaces/org.freedesktop.IBus.xml
 *
 * qdbusxml2cpp is Copyright (C) 2015 The Qt Company Ltd.
 *
 * This is an auto-generated file.
 * This file may have been hand-edited. Look for HAND-EDIT comments
 * before re-generating it.
 */

#include <QtDBus/qdbusextratypes.h>

#include "qibusproxy.h"

/*
 * Implementation of interface class QIBusProxy
 */

QIBusProxy::QIBusProxy(const QString &service, const QString &path, const QDBusConnection &connection, QObject *parent)
    : QDBusAbstractInterface(service, path, staticInterfaceName(), connection, parent)
{
    this->connection().connect(service,
                               path,
                               this->interface(), // interface
                               QStringLiteral("GlobalEngineChanged"),
                               QStringList(),
                               QString(), // signature
                               this, SLOT(globalEngineChanged(QString)));
}

QIBusProxy::~QIBusProxy()
{
}

QIBusEngineDesc QIBusProxy::getGlobalEngine()
{
    QIBusEngineDesc desc;
    QDBusReply<QDBusVariant> reply = GetGlobalEngine();
    QVariant variant = reply.value().variant();
    if (!variant.isValid())
        return desc;
    QVariant child = variant.value<QDBusVariant>().variant();
    if (!child.isValid())
        return desc;
    const QDBusArgument argument = child.value<QDBusArgument>();
    argument >> desc;
    return desc;
}

void QIBusProxy::globalEngineChanged(const QString &engine_name)
{
    emit GlobalEngineChanged(engine_name);
}

