// This file generated by libqtelegram-code-generator.
// You can download it from: https://github.com/Aseman-Land/libqtelegram-code-generator
// DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN

#ifndef LQTG_TYPE_AUTHORIZATION_OBJECT
#define LQTG_TYPE_AUTHORIZATION_OBJECT

#include "telegramtypeqobject.h"
#include "telegram/types/authorization.h"

#include <QPointer>

class LIBQTELEGRAMSHARED_EXPORT AuthorizationObject : public TelegramTypeQObject
{
    Q_OBJECT
    Q_ENUMS(AuthorizationClassType)
    Q_PROPERTY(qint32 apiId READ apiId WRITE setApiId NOTIFY apiIdChanged)
    Q_PROPERTY(QString appName READ appName WRITE setAppName NOTIFY appNameChanged)
    Q_PROPERTY(QString appVersion READ appVersion WRITE setAppVersion NOTIFY appVersionChanged)
    Q_PROPERTY(QString country READ country WRITE setCountry NOTIFY countryChanged)
    Q_PROPERTY(qint32 dateActive READ dateActive WRITE setDateActive NOTIFY dateActiveChanged)
    Q_PROPERTY(qint32 dateCreated READ dateCreated WRITE setDateCreated NOTIFY dateCreatedChanged)
    Q_PROPERTY(QString deviceModel READ deviceModel WRITE setDeviceModel NOTIFY deviceModelChanged)
    Q_PROPERTY(qint32 flags READ flags WRITE setFlags NOTIFY flagsChanged)
    Q_PROPERTY(qint64 hash READ hash WRITE setHash NOTIFY hashChanged)
    Q_PROPERTY(QString ip READ ip WRITE setIp NOTIFY ipChanged)
    Q_PROPERTY(QString platform READ platform WRITE setPlatform NOTIFY platformChanged)
    Q_PROPERTY(QString region READ region WRITE setRegion NOTIFY regionChanged)
    Q_PROPERTY(QString systemVersion READ systemVersion WRITE setSystemVersion NOTIFY systemVersionChanged)
    Q_PROPERTY(Authorization core READ core WRITE setCore NOTIFY coreChanged)
    Q_PROPERTY(quint32 classType READ classType WRITE setClassType NOTIFY classTypeChanged)

public:
    enum AuthorizationClassType {
        TypeAuthorization
    };

    AuthorizationObject(const Authorization &core, QObject *parent = 0);
    AuthorizationObject(QObject *parent = 0);
    virtual ~AuthorizationObject();

    void setApiId(qint32 apiId);
    qint32 apiId() const;

    void setAppName(const QString &appName);
    QString appName() const;

    void setAppVersion(const QString &appVersion);
    QString appVersion() const;

    void setCountry(const QString &country);
    QString country() const;

    void setDateActive(qint32 dateActive);
    qint32 dateActive() const;

    void setDateCreated(qint32 dateCreated);
    qint32 dateCreated() const;

    void setDeviceModel(const QString &deviceModel);
    QString deviceModel() const;

    void setFlags(qint32 flags);
    qint32 flags() const;

    void setHash(qint64 hash);
    qint64 hash() const;

    void setIp(const QString &ip);
    QString ip() const;

    void setPlatform(const QString &platform);
    QString platform() const;

    void setRegion(const QString &region);
    QString region() const;

    void setSystemVersion(const QString &systemVersion);
    QString systemVersion() const;

    void setClassType(quint32 classType);
    quint32 classType() const;

    void setCore(const Authorization &core);
    Authorization core() const;

    AuthorizationObject &operator =(const Authorization &b);
    bool operator ==(const Authorization &b) const;

Q_SIGNALS:
    void coreChanged();
    void classTypeChanged();
    void apiIdChanged();
    void appNameChanged();
    void appVersionChanged();
    void countryChanged();
    void dateActiveChanged();
    void dateCreatedChanged();
    void deviceModelChanged();
    void flagsChanged();
    void hashChanged();
    void ipChanged();
    void platformChanged();
    void regionChanged();
    void systemVersionChanged();

private Q_SLOTS:

private:
    Authorization m_core;
};

#endif // LQTG_TYPE_AUTHORIZATION_OBJECT
