// 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_DRAFTMESSAGE_OBJECT
#define LQTG_TYPE_DRAFTMESSAGE_OBJECT

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

#include <QPointer>

class LIBQTELEGRAMSHARED_EXPORT DraftMessageObject : public TelegramTypeQObject
{
    Q_OBJECT
    Q_ENUMS(DraftMessageClassType)
    Q_PROPERTY(qint32 date READ date WRITE setDate NOTIFY dateChanged)
    Q_PROPERTY(QList<MessageEntity> entities READ entities WRITE setEntities NOTIFY entitiesChanged)
    Q_PROPERTY(qint32 flags READ flags WRITE setFlags NOTIFY flagsChanged)
    Q_PROPERTY(QString message READ message WRITE setMessage NOTIFY messageChanged)
    Q_PROPERTY(bool noWebpage READ noWebpage WRITE setNoWebpage NOTIFY noWebpageChanged)
    Q_PROPERTY(qint32 replyToMsgId READ replyToMsgId WRITE setReplyToMsgId NOTIFY replyToMsgIdChanged)
    Q_PROPERTY(DraftMessage core READ core WRITE setCore NOTIFY coreChanged)
    Q_PROPERTY(quint32 classType READ classType WRITE setClassType NOTIFY classTypeChanged)

public:
    enum DraftMessageClassType {
        TypeDraftMessageEmpty,
        TypeDraftMessage
    };

    DraftMessageObject(const DraftMessage &core, QObject *parent = 0);
    DraftMessageObject(QObject *parent = 0);
    virtual ~DraftMessageObject();

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

    void setEntities(const QList<MessageEntity> &entities);
    QList<MessageEntity> entities() const;

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

    void setMessage(const QString &message);
    QString message() const;

    void setNoWebpage(bool noWebpage);
    bool noWebpage() const;

    void setReplyToMsgId(qint32 replyToMsgId);
    qint32 replyToMsgId() const;

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

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

    DraftMessageObject &operator =(const DraftMessage &b);
    bool operator ==(const DraftMessage &b) const;

Q_SIGNALS:
    void coreChanged();
    void classTypeChanged();
    void dateChanged();
    void entitiesChanged();
    void flagsChanged();
    void messageChanged();
    void noWebpageChanged();
    void replyToMsgIdChanged();

private Q_SLOTS:

private:
    DraftMessage m_core;
};

#endif // LQTG_TYPE_DRAFTMESSAGE_OBJECT
