/*
 * 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.2.1/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 __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)
    inline int accountType()
    { return qvariant_cast< int >(internalPropGet("AccountType", &m_AccountType)); }

    Q_PROPERTY(bool AutomaticLogin READ automaticLogin NOTIFY AutomaticLoginChanged)
    inline bool automaticLogin()
    { return qvariant_cast< bool >(internalPropGet("AutomaticLogin", &m_AutomaticLogin)); }

    Q_PROPERTY(QString BackgroundFile READ backgroundFile NOTIFY BackgroundFileChanged)
    inline QString backgroundFile()
    { return qvariant_cast< QString >(internalPropGet("BackgroundFile", &m_BackgroundFile)); }

    Q_PROPERTY(QString Gid READ gid NOTIFY GidChanged)
    inline QString gid()
    { return qvariant_cast< QString >(internalPropGet("Gid", &m_Gid)); }

    Q_PROPERTY(QString GreeterBackground READ greeterBackground NOTIFY GreeterBackgroundChanged)
    inline QString greeterBackground()
    { return qvariant_cast< QString >(internalPropGet("GreeterBackground", &m_GreeterBackground)); }

    Q_PROPERTY(QStringList HistoryLayout READ historyLayout NOTIFY HistoryLayoutChanged)
    inline QStringList historyLayout()
    { return qvariant_cast< QStringList >(internalPropGet("HistoryLayout", &m_HistoryLayout)); }

    Q_PROPERTY(QString HomeDir READ homeDir NOTIFY HomeDirChanged)
    inline QString homeDir()
    { return qvariant_cast< QString >(internalPropGet("HomeDir", &m_HomeDir)); }

    Q_PROPERTY(QString IconFile READ iconFile NOTIFY IconFileChanged)
    inline QString iconFile()
    { return qvariant_cast< QString >(internalPropGet("IconFile", &m_IconFile)); }

    Q_PROPERTY(QStringList IconList READ iconList NOTIFY IconListChanged)
    inline QStringList iconList()
    { return qvariant_cast< QStringList >(internalPropGet("IconList", &m_IconList)); }

    Q_PROPERTY(QString Layout READ layout NOTIFY LayoutChanged)
    inline QString layout()
    { return qvariant_cast< QString >(internalPropGet("Layout", &m_Layout)); }

    Q_PROPERTY(QString Locale READ locale NOTIFY LocaleChanged)
    inline QString locale()
    { return qvariant_cast< QString >(internalPropGet("Locale", &m_Locale)); }

    Q_PROPERTY(bool Locked READ locked NOTIFY LockedChanged)
    inline bool locked()
    { return qvariant_cast< bool >(internalPropGet("Locked", &m_Locked)); }

    Q_PROPERTY(qulonglong LoginTime READ loginTime NOTIFY LoginTimeChanged)
    inline qulonglong loginTime()
    { return qvariant_cast< qulonglong >(internalPropGet("LoginTime", &m_LoginTime)); }

    Q_PROPERTY(QString Shell READ shell NOTIFY ShellChanged)
    inline QString shell()
    { return qvariant_cast< QString >(internalPropGet("Shell", &m_Shell)); }

    Q_PROPERTY(QString Uid READ uid NOTIFY UidChanged)
    inline QString uid()
    { return qvariant_cast< QString >(internalPropGet("Uid", &m_Uid)); }

    Q_PROPERTY(QString UserName READ userName NOTIFY UserNameChanged)
    inline QString userName()
    { return qvariant_cast< QString >(internalPropGet("UserName", &m_UserName)); }

public Q_SLOTS: // METHODS
    inline QDBusPendingReply<> DeleteIconFile(const QString &in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("DeleteIconFile"), 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 QDBusPendingReply<> SetAutomaticLogin(bool in0)
    {
        QList<QVariant> argumentList;
        argumentList << QVariant::fromValue(in0);
        return asyncCallWithArgumentList(QStringLiteral("SetAutomaticLogin"), argumentList);
    }

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

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

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

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

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

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

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

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

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

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

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

Q_SIGNALS: // SIGNALS
// begin property changed signals
    void AccountTypeChanged(int  value) const;
    void AutomaticLoginChanged(bool  value) const;
    void BackgroundFileChanged(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 ShellChanged(const QString & value) const;
    void UidChanged(const QString & value) const;
    void UserNameChanged(const QString & value) const;

// begin private slots
private Q_SLOTS:
    void onPropertyChanged(const QString &propName, const QVariant &value);

// begin private member vaiables
private:
    int m_AccountType;
    bool m_AutomaticLogin;
    QString m_BackgroundFile;
    QString m_Gid;
    QString m_GreeterBackground;
    QStringList m_HistoryLayout;
    QString m_HomeDir;
    QString m_IconFile;
    QStringList m_IconList;
    QString m_Layout;
    QString m_Locale;
    bool m_Locked;
    qulonglong m_LoginTime;
    QString m_Shell;
    QString m_Uid;
    QString m_UserName;
};

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