/*
 * This file was generated by dbusxml2cpp version 0.6
 * Command line was: dbusxml2cpp -p xesamdbus -i xesamtypes.h ../../../../src/daemon/xesam/dbus/xesaminterface.xml
 *
 * dbusxml2cpp is Copyright (C) 2006 Trolltech ASA. All rights reserved.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef XESAMDBUS_H_1206045794
#define XESAMDBUS_H_1206045794

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QVector>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>
#include <QtDBus/QtDBus>
#include "xesamtypes.h"

/*
 * Proxy class for interface org.freedesktop.DBus.Introspectable
 */
class OrgFreedesktopDBusIntrospectableInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.freedesktop.DBus.Introspectable"; }

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

    ~OrgFreedesktopDBusIntrospectableInterface();

public Q_SLOTS: // METHODS
    inline QDBusReply<QString> Introspect()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("Introspect"), argumentList);
    }

Q_SIGNALS: // SIGNALS
};

/*
 * Proxy class for interface org.freedesktop.xesam.Search
 */
class OrgFreedesktopXesamSearchInterface: public QDBusAbstractInterface
{
    Q_OBJECT
public:
    static inline const char *staticInterfaceName()
    { return "org.freedesktop.xesam.Search"; }

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

    ~OrgFreedesktopXesamSearchInterface();

public Q_SLOTS: // METHODS
    inline QDBusReply<void> CloseSearch(const QString &search)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(search);
        return callWithArgumentList(QDBus::Block, QLatin1String("CloseSearch"), argumentList);
    }

    inline QDBusReply<void> CloseSession(const QString &session)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(session);
        return callWithArgumentList(QDBus::Block, QLatin1String("CloseSession"), argumentList);
    }

    inline QDBusReply<int> CountHits(const QString &search)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(search);
        return callWithArgumentList(QDBus::Block, QLatin1String("CountHits"), argumentList);
    }

    inline QDBusReply<uint> GetHitCount(const QString &search)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(search);
        return callWithArgumentList(QDBus::Block, QLatin1String("GetHitCount"), argumentList);
    }

    inline QDBusReply<QVector<QList<QVariant> > > GetHitData(const QString &search, const QList<int> &hit_ids, const QStringList &fields)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(search) << qVariantFromValue(hit_ids) << qVariantFromValue(fields);
        return callWithArgumentList(QDBus::Block, QLatin1String("GetHitData"), argumentList);
    }

    inline QDBusReply<QVector<QList<QVariant> > > GetHits(const QString &search, uint num)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(search) << qVariantFromValue(num);
        return callWithArgumentList(QDBus::Block, QLatin1String("GetHits"), argumentList);
    }

    inline QDBusReply<QDBusVariant> GetProperty(const QString &session, const QString &prop)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(session) << qVariantFromValue(prop);
        return callWithArgumentList(QDBus::Block, QLatin1String("GetProperty"), argumentList);
    }

    inline QDBusReply<QStringList> GetState()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("GetState"), argumentList);
    }

    inline QDBusReply<QString> NewSearch(const QString &session, const QString &query_xml)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(session) << qVariantFromValue(query_xml);
        return callWithArgumentList(QDBus::Block, QLatin1String("NewSearch"), argumentList);
    }

    inline QDBusReply<QString> NewSession()
    {
        QList<QVariant> argumentList;
        return callWithArgumentList(QDBus::Block, QLatin1String("NewSession"), argumentList);
    }

    inline QDBusReply<QDBusVariant> SetProperty(const QString &session, const QString &prop, const QDBusVariant &val)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(session) << qVariantFromValue(prop) << qVariantFromValue(val);
        return callWithArgumentList(QDBus::Block, QLatin1String("SetProperty"), argumentList);
    }

    inline QDBusReply<void> StartSearch(const QString &search)
    {
        QList<QVariant> argumentList;
        argumentList << qVariantFromValue(search);
        return callWithArgumentList(QDBus::Block, QLatin1String("StartSearch"), argumentList);
    }

Q_SIGNALS: // SIGNALS
    void HitsAdded(const QString &search, uint count);
    void HitsModified(const QString &search, const QList<uint> &hit_ids);
    void HitsRemoved(const QString &search, const QList<uint> &hit_ids);
    void SearchDone(const QString &search);
    void StateChanged(const QStringList &state_info);
};

namespace org {
  namespace freedesktop {
    namespace DBus {
      typedef ::OrgFreedesktopDBusIntrospectableInterface Introspectable;
    }
    namespace xesam {
      typedef ::OrgFreedesktopXesamSearchInterface Search;
    }
  }
}
#endif
