// 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_CONFIG_OBJECT
#define LQTG_TYPE_CONFIG_OBJECT

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

#include <QPointer>

class LIBQTELEGRAMSHARED_EXPORT ConfigObject : public TelegramTypeQObject
{
    Q_OBJECT
    Q_ENUMS(ConfigClassType)
    Q_PROPERTY(qint32 callConnectTimeoutMs READ callConnectTimeoutMs WRITE setCallConnectTimeoutMs NOTIFY callConnectTimeoutMsChanged)
    Q_PROPERTY(qint32 callPacketTimeoutMs READ callPacketTimeoutMs WRITE setCallPacketTimeoutMs NOTIFY callPacketTimeoutMsChanged)
    Q_PROPERTY(qint32 callReceiveTimeoutMs READ callReceiveTimeoutMs WRITE setCallReceiveTimeoutMs NOTIFY callReceiveTimeoutMsChanged)
    Q_PROPERTY(qint32 callRingTimeoutMs READ callRingTimeoutMs WRITE setCallRingTimeoutMs NOTIFY callRingTimeoutMsChanged)
    Q_PROPERTY(qint32 chatBigSize READ chatBigSize WRITE setChatBigSize NOTIFY chatBigSizeChanged)
    Q_PROPERTY(qint32 chatSizeMax READ chatSizeMax WRITE setChatSizeMax NOTIFY chatSizeMaxChanged)
    Q_PROPERTY(qint32 date READ date WRITE setDate NOTIFY dateChanged)
    Q_PROPERTY(QList<DcOption> dcOptions READ dcOptions WRITE setDcOptions NOTIFY dcOptionsChanged)
    Q_PROPERTY(QList<DisabledFeature> disabledFeatures READ disabledFeatures WRITE setDisabledFeatures NOTIFY disabledFeaturesChanged)
    Q_PROPERTY(qint32 editTimeLimit READ editTimeLimit WRITE setEditTimeLimit NOTIFY editTimeLimitChanged)
    Q_PROPERTY(qint32 expires READ expires WRITE setExpires NOTIFY expiresChanged)
    Q_PROPERTY(qint32 flags READ flags WRITE setFlags NOTIFY flagsChanged)
    Q_PROPERTY(qint32 forwardedCountMax READ forwardedCountMax WRITE setForwardedCountMax NOTIFY forwardedCountMaxChanged)
    Q_PROPERTY(qint32 langPackVersion READ langPackVersion WRITE setLangPackVersion NOTIFY langPackVersionChanged)
    Q_PROPERTY(QString meUrlPrefix READ meUrlPrefix WRITE setMeUrlPrefix NOTIFY meUrlPrefixChanged)
    Q_PROPERTY(qint32 megagroupSizeMax READ megagroupSizeMax WRITE setMegagroupSizeMax NOTIFY megagroupSizeMaxChanged)
    Q_PROPERTY(qint32 notifyCloudDelayMs READ notifyCloudDelayMs WRITE setNotifyCloudDelayMs NOTIFY notifyCloudDelayMsChanged)
    Q_PROPERTY(qint32 notifyDefaultDelayMs READ notifyDefaultDelayMs WRITE setNotifyDefaultDelayMs NOTIFY notifyDefaultDelayMsChanged)
    Q_PROPERTY(qint32 offlineBlurTimeoutMs READ offlineBlurTimeoutMs WRITE setOfflineBlurTimeoutMs NOTIFY offlineBlurTimeoutMsChanged)
    Q_PROPERTY(qint32 offlineIdleTimeoutMs READ offlineIdleTimeoutMs WRITE setOfflineIdleTimeoutMs NOTIFY offlineIdleTimeoutMsChanged)
    Q_PROPERTY(qint32 onlineCloudTimeoutMs READ onlineCloudTimeoutMs WRITE setOnlineCloudTimeoutMs NOTIFY onlineCloudTimeoutMsChanged)
    Q_PROPERTY(qint32 onlineUpdatePeriodMs READ onlineUpdatePeriodMs WRITE setOnlineUpdatePeriodMs NOTIFY onlineUpdatePeriodMsChanged)
    Q_PROPERTY(bool phonecallsEnabled READ phonecallsEnabled WRITE setPhonecallsEnabled NOTIFY phonecallsEnabledChanged)
    Q_PROPERTY(qint32 pinnedDialogsCountMax READ pinnedDialogsCountMax WRITE setPinnedDialogsCountMax NOTIFY pinnedDialogsCountMaxChanged)
    Q_PROPERTY(qint32 pushChatLimit READ pushChatLimit WRITE setPushChatLimit NOTIFY pushChatLimitChanged)
    Q_PROPERTY(qint32 pushChatPeriodMs READ pushChatPeriodMs WRITE setPushChatPeriodMs NOTIFY pushChatPeriodMsChanged)
    Q_PROPERTY(qint32 ratingEDecay READ ratingEDecay WRITE setRatingEDecay NOTIFY ratingEDecayChanged)
    Q_PROPERTY(qint32 savedGifsLimit READ savedGifsLimit WRITE setSavedGifsLimit NOTIFY savedGifsLimitChanged)
    Q_PROPERTY(qint32 stickersRecentLimit READ stickersRecentLimit WRITE setStickersRecentLimit NOTIFY stickersRecentLimitChanged)
    Q_PROPERTY(QString suggestedLangCode READ suggestedLangCode WRITE setSuggestedLangCode NOTIFY suggestedLangCodeChanged)
    Q_PROPERTY(bool testMode READ testMode WRITE setTestMode NOTIFY testModeChanged)
    Q_PROPERTY(qint32 thisDc READ thisDc WRITE setThisDc NOTIFY thisDcChanged)
    Q_PROPERTY(qint32 tmpSessions READ tmpSessions WRITE setTmpSessions NOTIFY tmpSessionsChanged)
    Q_PROPERTY(Config core READ core WRITE setCore NOTIFY coreChanged)
    Q_PROPERTY(quint32 classType READ classType WRITE setClassType NOTIFY classTypeChanged)

public:
    enum ConfigClassType {
        TypeConfig
    };

    ConfigObject(const Config &core, QObject *parent = 0);
    ConfigObject(QObject *parent = 0);
    virtual ~ConfigObject();

    void setCallConnectTimeoutMs(qint32 callConnectTimeoutMs);
    qint32 callConnectTimeoutMs() const;

    void setCallPacketTimeoutMs(qint32 callPacketTimeoutMs);
    qint32 callPacketTimeoutMs() const;

    void setCallReceiveTimeoutMs(qint32 callReceiveTimeoutMs);
    qint32 callReceiveTimeoutMs() const;

    void setCallRingTimeoutMs(qint32 callRingTimeoutMs);
    qint32 callRingTimeoutMs() const;

    void setChatBigSize(qint32 chatBigSize);
    qint32 chatBigSize() const;

    void setChatSizeMax(qint32 chatSizeMax);
    qint32 chatSizeMax() const;

    void setDate(qint32 date);
    qint32 date() const;

    void setDcOptions(const QList<DcOption> &dcOptions);
    QList<DcOption> dcOptions() const;

    void setDisabledFeatures(const QList<DisabledFeature> &disabledFeatures);
    QList<DisabledFeature> disabledFeatures() const;

    void setEditTimeLimit(qint32 editTimeLimit);
    qint32 editTimeLimit() const;

    void setExpires(qint32 expires);
    qint32 expires() const;

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

    void setForwardedCountMax(qint32 forwardedCountMax);
    qint32 forwardedCountMax() const;

    void setLangPackVersion(qint32 langPackVersion);
    qint32 langPackVersion() const;

    void setMeUrlPrefix(const QString &meUrlPrefix);
    QString meUrlPrefix() const;

    void setMegagroupSizeMax(qint32 megagroupSizeMax);
    qint32 megagroupSizeMax() const;

    void setNotifyCloudDelayMs(qint32 notifyCloudDelayMs);
    qint32 notifyCloudDelayMs() const;

    void setNotifyDefaultDelayMs(qint32 notifyDefaultDelayMs);
    qint32 notifyDefaultDelayMs() const;

    void setOfflineBlurTimeoutMs(qint32 offlineBlurTimeoutMs);
    qint32 offlineBlurTimeoutMs() const;

    void setOfflineIdleTimeoutMs(qint32 offlineIdleTimeoutMs);
    qint32 offlineIdleTimeoutMs() const;

    void setOnlineCloudTimeoutMs(qint32 onlineCloudTimeoutMs);
    qint32 onlineCloudTimeoutMs() const;

    void setOnlineUpdatePeriodMs(qint32 onlineUpdatePeriodMs);
    qint32 onlineUpdatePeriodMs() const;

    void setPhonecallsEnabled(bool phonecallsEnabled);
    bool phonecallsEnabled() const;

    void setPinnedDialogsCountMax(qint32 pinnedDialogsCountMax);
    qint32 pinnedDialogsCountMax() const;

    void setPushChatLimit(qint32 pushChatLimit);
    qint32 pushChatLimit() const;

    void setPushChatPeriodMs(qint32 pushChatPeriodMs);
    qint32 pushChatPeriodMs() const;

    void setRatingEDecay(qint32 ratingEDecay);
    qint32 ratingEDecay() const;

    void setSavedGifsLimit(qint32 savedGifsLimit);
    qint32 savedGifsLimit() const;

    void setStickersRecentLimit(qint32 stickersRecentLimit);
    qint32 stickersRecentLimit() const;

    void setSuggestedLangCode(const QString &suggestedLangCode);
    QString suggestedLangCode() const;

    void setTestMode(bool testMode);
    bool testMode() const;

    void setThisDc(qint32 thisDc);
    qint32 thisDc() const;

    void setTmpSessions(qint32 tmpSessions);
    qint32 tmpSessions() const;

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

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

    ConfigObject &operator =(const Config &b);
    bool operator ==(const Config &b) const;

Q_SIGNALS:
    void coreChanged();
    void classTypeChanged();
    void callConnectTimeoutMsChanged();
    void callPacketTimeoutMsChanged();
    void callReceiveTimeoutMsChanged();
    void callRingTimeoutMsChanged();
    void chatBigSizeChanged();
    void chatSizeMaxChanged();
    void dateChanged();
    void dcOptionsChanged();
    void disabledFeaturesChanged();
    void editTimeLimitChanged();
    void expiresChanged();
    void flagsChanged();
    void forwardedCountMaxChanged();
    void langPackVersionChanged();
    void meUrlPrefixChanged();
    void megagroupSizeMaxChanged();
    void notifyCloudDelayMsChanged();
    void notifyDefaultDelayMsChanged();
    void offlineBlurTimeoutMsChanged();
    void offlineIdleTimeoutMsChanged();
    void onlineCloudTimeoutMsChanged();
    void onlineUpdatePeriodMsChanged();
    void phonecallsEnabledChanged();
    void pinnedDialogsCountMaxChanged();
    void pushChatLimitChanged();
    void pushChatPeriodMsChanged();
    void ratingEDecayChanged();
    void savedGifsLimitChanged();
    void stickersRecentLimitChanged();
    void suggestedLangCodeChanged();
    void testModeChanged();
    void thisDcChanged();
    void tmpSessionsChanged();

private Q_SLOTS:

private:
    Config m_core;
};

#endif // LQTG_TYPE_CONFIG_OBJECT
