// 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_PAGE_OBJECT
#define LQTG_TYPE_PAGE_OBJECT

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

#include <QPointer>

class LIBQTELEGRAMSHARED_EXPORT PageObject : public TelegramTypeQObject
{
    Q_OBJECT
    Q_ENUMS(PageClassType)
    Q_PROPERTY(QList<PageBlock> blocks READ blocks WRITE setBlocks NOTIFY blocksChanged)
    Q_PROPERTY(QList<Document> documents READ documents WRITE setDocuments NOTIFY documentsChanged)
    Q_PROPERTY(QList<Photo> photos READ photos WRITE setPhotos NOTIFY photosChanged)
    Q_PROPERTY(Page core READ core WRITE setCore NOTIFY coreChanged)
    Q_PROPERTY(quint32 classType READ classType WRITE setClassType NOTIFY classTypeChanged)

public:
    enum PageClassType {
        TypePagePart,
        TypePageFull
    };

    PageObject(const Page &core, QObject *parent = 0);
    PageObject(QObject *parent = 0);
    virtual ~PageObject();

    void setBlocks(const QList<PageBlock> &blocks);
    QList<PageBlock> blocks() const;

    void setDocuments(const QList<Document> &documents);
    QList<Document> documents() const;

    void setPhotos(const QList<Photo> &photos);
    QList<Photo> photos() const;

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

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

    PageObject &operator =(const Page &b);
    bool operator ==(const Page &b) const;

Q_SIGNALS:
    void coreChanged();
    void classTypeChanged();
    void blocksChanged();
    void documentsChanged();
    void photosChanged();

private Q_SLOTS:

private:
    Page m_core;
};

#endif // LQTG_TYPE_PAGE_OBJECT
