/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -c User -p generated/com_deepin_daemon_accounts_user /build/deepin-qt-dbus-factory/src/dde-qt-dbus-factory-0.4.2.20180301/xml/com.deepin.daemon.Accounts.User.xml
 *
 * qdbusxml2cpp-fix is Copyright (C) 2016 Deepin Technology Co., Ltd.
 *
 * This is an auto-generated file.
 * Do not edit! All changes made to it will be lost.
 */

#ifndef COM_DEEPIN_DAEMON_ACCOUNTS_USER_H
#define COM_DEEPIN_DAEMON_ACCOUNTS_USER_H

#include <QtCore/QObject>
#include <QtCore/QByteArray>
#include <QtCore/QList>
#include <QtCore/QMap>
#include <QtCore/QString>
#include <QtCore/QStringList>
#include <QtCore/QVariant>

#include <DBusExtendedAbstractInterface>
#include <QtDBus/QtDBus>


/*
 * Proxy class for interface com.deepin.daemon.Accounts.User
 */
class __UserPrivate;
class __User : public DBusExtendedAbstractInterface
{
    Q_OBJECT

public:
    static inline const char *staticInterfaceName()
    { return "com.deepin.daemon.Accounts.User"; }

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

    ~__User();

    Q_PROPERTY(int AccountType READ accountType NOTIFY AccountTypeChanged)
    int accountType();

    Q_PROPERTY(bool AutomaticLogin READ automaticLogin NOTIFY AutomaticLoginChanged)
    bool automaticLogin();

    Q_PROPERTY(QStringList DesktopBackgrounds READ desktopBackgrounds NOTIFY DesktopBackgroundsChanged)
    QStringList desktopBackgrounds();

    Q_PROPERTY(QString FullName READ fullName NOTIFY FullNameChanged)
    QString fullName();

    Q_PROPERTY(QString Gid READ gid NOTIFY GidChanged)
    QString gid();

    Q_PROPERTY(QString GreeterBackground READ greeterBackground NOTIFY GreeterBackgroundChanged)
    QString greeterBackground();

    Q_PROPERTY(QStringList HistoryLayout READ historyLayout NOTIFY HistoryLayoutChanged)
    QStringList historyLayout();

    Q_PROPERTY(QString HomeDir READ homeDir NOTIFY HomeDirChanged)
    QString homeDir();

    Q_PROPERTY(QString IconFile READ iconFile NOTIFY IconFileChanged)
    QString iconFile();

    Q_PROPERTY(QStringList IconList READ iconList NOTIFY IconListChanged)
    QStringList iconList();

    Q_PROPERTY(QString Layout READ layout NOTIFY LayoutChanged)
    QString layout();

    Q_PROPERTY(QString Locale READ locale NOTIFY LocaleChanged)
    QString locale();

    Q_PROPERTY(bool Locked READ locked NOTIFY LockedChanged)
    bool locked();

    Q_PROPERTY(qulonglong LoginTime READ loginTime NOTIFY LoginTimeChanged)
    qulonglong loginTime();

    Q_PROPERTY(bool NoPasswdLogin READ noPasswdLogin NOTIFY NoPasswdLoginChanged)
    bool noPasswdLogin();

    Q_PROPERTY(QString Shell READ shell NOTIFY ShellChanged)
    QString shell();

    Q_PROPERTY(bool SystemAccount READ systemAccount NOTIFY SystemAccountChanged)
    bool systemAccount();

    Q_PROPERTY(QString Uid READ uid NOTIFY UidChanged)
    QString uid();

    Q_PROPERTY(QString UserName READ userName NOTIFY UserNameChanged)
    QString userName();

    Q_PROPERTY(QString XSession READ xSession NOTIFY XSessionChanged)
    QString xSession();

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<> DeleteIconFile(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("DeleteIconFile"), argumentList);
    }

    inline void DeleteIconFileQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("DeleteIconFile"), argumentList);
    }


    inline QDBusPendingReply<> EnableNoPasswdLogin(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("EnableNoPasswdLogin"), argumentList);
    }

    inline void EnableNoPasswdLoginQueued(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("EnableNoPasswdLogin"), argumentList);
    }


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



    inline QDBusPendingReply<bool> IsIconDeletable(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("IsIconDeletable"), argumentList);
    }



    inline QDBusPendingReply<> SetAccountType(int in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetAccountType"), argumentList);
    }

    inline void SetAccountTypeQueued(int in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetAccountType"), argumentList);
    }


    inline QDBusPendingReply<> SetAutomaticLogin(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetAutomaticLogin"), argumentList);
    }

    inline void SetAutomaticLoginQueued(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetAutomaticLogin"), argumentList);
    }


    inline QDBusPendingReply<> SetDesktopBackgrounds(const QStringList &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetDesktopBackgrounds"), argumentList);
    }

    inline void SetDesktopBackgroundsQueued(const QStringList &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetDesktopBackgrounds"), argumentList);
    }


    inline QDBusPendingReply<> SetFullName(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetFullName"), argumentList);
    }

    inline void SetFullNameQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetFullName"), argumentList);
    }


    inline QDBusPendingReply<> SetGreeterBackground(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetGreeterBackground"), argumentList);
    }

    inline void SetGreeterBackgroundQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetGreeterBackground"), argumentList);
    }


    inline QDBusPendingReply<> SetHistoryLayout(const QStringList &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetHistoryLayout"), argumentList);
    }

    inline void SetHistoryLayoutQueued(const QStringList &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetHistoryLayout"), argumentList);
    }


    inline QDBusPendingReply<> SetHomeDir(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetHomeDir"), argumentList);
    }

    inline void SetHomeDirQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetHomeDir"), argumentList);
    }


    inline QDBusPendingReply<> SetIconFile(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetIconFile"), argumentList);
    }

    inline void SetIconFileQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetIconFile"), argumentList);
    }


    inline QDBusPendingReply<> SetLayout(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetLayout"), argumentList);
    }

    inline void SetLayoutQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetLayout"), argumentList);
    }


    inline QDBusPendingReply<> SetLocale(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetLocale"), argumentList);
    }

    inline void SetLocaleQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetLocale"), argumentList);
    }


    inline QDBusPendingReply<> SetLocked(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetLocked"), argumentList);
    }

    inline void SetLockedQueued(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetLocked"), argumentList);
    }


    inline QDBusPendingReply<> SetPassword(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetPassword"), argumentList);
    }

    inline void SetPasswordQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetPassword"), argumentList);
    }


    inline QDBusPendingReply<> SetShell(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetShell"), argumentList);
    }

    inline void SetShellQueued(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);

        CallQueued(QStringLiteral("SetShell"), argumentList);
    }



Q_SIGNALS: // SIGNALS
    // begin property changed signals
    void AccountTypeChanged(int  value) const;
    void AutomaticLoginChanged(bool  value) const;
    void DesktopBackgroundsChanged(const QStringList & value) const;
    void FullNameChanged(const QString & value) const;
    void GidChanged(const QString & value) const;
    void GreeterBackgroundChanged(const QString & value) const;
    void HistoryLayoutChanged(const QStringList & value) const;
    void HomeDirChanged(const QString & value) const;
    void IconFileChanged(const QString & value) const;
    void IconListChanged(const QStringList & value) const;
    void LayoutChanged(const QString & value) const;
    void LocaleChanged(const QString & value) const;
    void LockedChanged(bool  value) const;
    void LoginTimeChanged(qulonglong  value) const;
    void NoPasswdLoginChanged(bool  value) const;
    void ShellChanged(const QString & value) const;
    void SystemAccountChanged(bool  value) const;
    void UidChanged(const QString & value) const;
    void UserNameChanged(const QString & value) const;
    void XSessionChanged(const QString & value) const;

public Q_SLOTS:
    void CallQueued(const QString &callName, const QList<QVariant> &args);

private Q_SLOTS:
    void onPendingCallFinished(QDBusPendingCallWatcher *w);
    void onPropertyChanged(const QString &propName, const QVariant &value);

private:
    __UserPrivate *d_ptr;
};

namespace com {
  namespace deepin {
    namespace daemon {
      namespace accounts {
        typedef ::__User User;
      }
    }
  }
}
#endif
