// 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_CHANNELADMINLOGEVENTSFILTER_OBJECT
#define LQTG_TYPE_CHANNELADMINLOGEVENTSFILTER_OBJECT

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

#include <QPointer>

class LIBQTELEGRAMSHARED_EXPORT ChannelAdminLogEventsFilterObject : public TelegramTypeQObject
{
    Q_OBJECT
    Q_ENUMS(ChannelAdminLogEventsFilterClassType)
    Q_PROPERTY(bool ban READ ban WRITE setBan NOTIFY banChanged)
    Q_PROPERTY(bool deleteValue READ deleteValue WRITE setDeleteValue NOTIFY deleteValueChanged)
    Q_PROPERTY(bool demote READ demote WRITE setDemote NOTIFY demoteChanged)
    Q_PROPERTY(bool edit READ edit WRITE setEdit NOTIFY editChanged)
    Q_PROPERTY(qint32 flags READ flags WRITE setFlags NOTIFY flagsChanged)
    Q_PROPERTY(bool info READ info WRITE setInfo NOTIFY infoChanged)
    Q_PROPERTY(bool invite READ invite WRITE setInvite NOTIFY inviteChanged)
    Q_PROPERTY(bool join READ join WRITE setJoin NOTIFY joinChanged)
    Q_PROPERTY(bool kick READ kick WRITE setKick NOTIFY kickChanged)
    Q_PROPERTY(bool leave READ leave WRITE setLeave NOTIFY leaveChanged)
    Q_PROPERTY(bool pinned READ pinned WRITE setPinned NOTIFY pinnedChanged)
    Q_PROPERTY(bool promote READ promote WRITE setPromote NOTIFY promoteChanged)
    Q_PROPERTY(bool settings READ settings WRITE setSettings NOTIFY settingsChanged)
    Q_PROPERTY(bool unban READ unban WRITE setUnban NOTIFY unbanChanged)
    Q_PROPERTY(bool unkick READ unkick WRITE setUnkick NOTIFY unkickChanged)
    Q_PROPERTY(ChannelAdminLogEventsFilter core READ core WRITE setCore NOTIFY coreChanged)
    Q_PROPERTY(quint32 classType READ classType WRITE setClassType NOTIFY classTypeChanged)

public:
    enum ChannelAdminLogEventsFilterClassType {
        TypeChannelAdminLogEventsFilter
    };

    ChannelAdminLogEventsFilterObject(const ChannelAdminLogEventsFilter &core, QObject *parent = 0);
    ChannelAdminLogEventsFilterObject(QObject *parent = 0);
    virtual ~ChannelAdminLogEventsFilterObject();

    void setBan(bool ban);
    bool ban() const;

    void setDeleteValue(bool deleteValue);
    bool deleteValue() const;

    void setDemote(bool demote);
    bool demote() const;

    void setEdit(bool edit);
    bool edit() const;

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

    void setInfo(bool info);
    bool info() const;

    void setInvite(bool invite);
    bool invite() const;

    void setJoin(bool join);
    bool join() const;

    void setKick(bool kick);
    bool kick() const;

    void setLeave(bool leave);
    bool leave() const;

    void setPinned(bool pinned);
    bool pinned() const;

    void setPromote(bool promote);
    bool promote() const;

    void setSettings(bool settings);
    bool settings() const;

    void setUnban(bool unban);
    bool unban() const;

    void setUnkick(bool unkick);
    bool unkick() const;

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

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

    ChannelAdminLogEventsFilterObject &operator =(const ChannelAdminLogEventsFilter &b);
    bool operator ==(const ChannelAdminLogEventsFilter &b) const;

Q_SIGNALS:
    void coreChanged();
    void classTypeChanged();
    void banChanged();
    void deleteValueChanged();
    void demoteChanged();
    void editChanged();
    void flagsChanged();
    void infoChanged();
    void inviteChanged();
    void joinChanged();
    void kickChanged();
    void leaveChanged();
    void pinnedChanged();
    void promoteChanged();
    void settingsChanged();
    void unbanChanged();
    void unkickChanged();

private Q_SLOTS:

private:
    ChannelAdminLogEventsFilter m_core;
};

#endif // LQTG_TYPE_CHANNELADMINLOGEVENTSFILTER_OBJECT
