/*
 * This file was generated by qdbusxml2cpp-fix version 0.8
 * Command line was: qdbusxml2cpp-fix -p /build/deepin-session-shell/src/dde-session-shell-snipe/src/global_util/dbus/userinterface /build/deepin-session-shell/src/dde-session-shell-snipe/xml/snipe/org.deepin.dde.Accounts1.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 USERINTERFACE_H
#define USERINTERFACE_H

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

#include <DDBusExtendedAbstractInterface>
#include <QtDBus/QtDBus>


/*
 * Proxy class for interface org.deepin.dde.Accounts1.User
 */
class __OrgDeepinDdeAccounts1UserInterfacePrivate;
class __OrgDeepinDdeAccounts1UserInterface : public DTK_CORE_NAMESPACE::DDBusExtendedAbstractInterface
{
    Q_OBJECT

public:
    static inline const char *staticInterfaceName()
    { return "org.deepin.dde.Accounts1.User"; }

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

    ~__OrgDeepinDdeAccounts1UserInterface();

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

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

    Q_PROPERTY(qulonglong CreatedTime READ createdTime NOTIFY CreatedTimeChanged)
    qulonglong createdTime();

    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 Groups READ groups NOTIFY GroupsChanged)
    QStringList groups();

    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(int LongDateFormat READ longDateFormat NOTIFY LongDateFormatChanged)
    int longDateFormat();

    Q_PROPERTY(int LongTimeFormat READ longTimeFormat NOTIFY LongTimeFormatChanged)
    int longTimeFormat();

    Q_PROPERTY(int MaxPasswordAge READ maxPasswordAge NOTIFY MaxPasswordAgeChanged)
    int maxPasswordAge();

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

    Q_PROPERTY(QString PasswordHint READ passwordHint NOTIFY PasswordHintChanged)
    QString passwordHint();

    Q_PROPERTY(int PasswordLastChange READ passwordLastChange NOTIFY PasswordLastChangeChanged)
    int passwordLastChange();

    Q_PROPERTY(QString PasswordStatus READ passwordStatus NOTIFY PasswordStatusChanged)
    QString passwordStatus();

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

    Q_PROPERTY(int ShortDateFormat READ shortDateFormat NOTIFY ShortDateFormatChanged)
    int shortDateFormat();

    Q_PROPERTY(int ShortTimeFormat READ shortTimeFormat NOTIFY ShortTimeFormatChanged)
    int shortTimeFormat();

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

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

    Q_PROPERTY(bool Use24HourFormat READ use24HourFormat NOTIFY Use24HourFormatChanged)
    bool use24HourFormat();

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

    Q_PROPERTY(int WeekBegins READ weekBegins NOTIFY WeekBeginsChanged)
    int weekBegins();

    Q_PROPERTY(int WeekdayFormat READ weekdayFormat NOTIFY WeekdayFormatChanged)
    int weekdayFormat();

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

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

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

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


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

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

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


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

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

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


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

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

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


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



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


    inline QDBusReply<int> PasswordExpiredInfo(int &dayLeft)
    {
        QList<QVariant> argumentList;
        QDBusMessage reply = callWithArgumentList(QDBus::Block, QStringLiteral("PasswordExpiredInfo"), argumentList);
        if (reply.type() == QDBusMessage::ReplyMessage && reply.arguments().count() == 2) {
            dayLeft = qdbus_cast<int>(reply.arguments().at(1));
        }
        return reply;
    }

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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

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

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


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

    inline void SetMaxPasswordAgeQueued(int nDays)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(nDays);

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


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

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

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


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

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

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


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

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

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



Q_SIGNALS: // SIGNALS
    // begin property changed signals
    void AccountTypeChanged(int  value) const;
    void AutomaticLoginChanged(bool  value) const;
    void CreatedTimeChanged(qulonglong  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 GroupsChanged(const QStringList & 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 LongDateFormatChanged(int  value) const;
    void LongTimeFormatChanged(int  value) const;
    void MaxPasswordAgeChanged(int  value) const;
    void NoPasswdLoginChanged(bool  value) const;
    void PasswordHintChanged(const QString & value) const;
    void PasswordLastChangeChanged(int  value) const;
    void PasswordStatusChanged(const QString & value) const;
    void ShellChanged(const QString & value) const;
    void ShortDateFormatChanged(int  value) const;
    void ShortTimeFormatChanged(int  value) const;
    void SystemAccountChanged(bool  value) const;
    void UidChanged(const QString & value) const;
    void Use24HourFormatChanged(bool  value) const;
    void UserNameChanged(const QString & value) const;
    void WeekBeginsChanged(int  value) const;
    void WeekdayFormatChanged(int  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:
    __OrgDeepinDdeAccounts1UserInterfacePrivate *d_ptr;
};

namespace org {
  namespace deepin {
    namespace dde {
      namespace accounts1 {
        typedef ::__OrgDeepinDdeAccounts1UserInterface User;
      }
    }
  }
}
#endif
