// 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_UPLOADGETFILE
#define LQTG_TYPE_UPLOADGETFILE

#include "telegramcustomtypeobject.h"

#include <QMetaType>
#include <QByteArray>
#include <QtGlobal>
#include "telegram/types/storagefiletype.h"

class LIBQTELEGRAMSHARED_EXPORT UploadGetFile : public TelegramCustomTypeObject
{
public:
    enum UploadGetFileClassType {
        typeUploadGetFileEmpty = 0xe662a8f,
        typeUploadGetFileFinished = 0xef122d8,
        typeUploadGetFileCanceled = 0xc52fa0a,
        typeUploadGetFileProgress = 0x6db838e
    };

    UploadGetFile(UploadGetFileClassType classType = typeUploadGetFileEmpty);
    UploadGetFile(const Null&);
    virtual ~UploadGetFile();

    void setBytes(const QByteArray &bytes);
    QByteArray bytes() const;

    void setDownloaded(qint32 downloaded);
    qint32 downloaded() const;

    void setMtime(qint32 mtime);
    qint32 mtime() const;

    void setPartId(qint32 partId);
    qint32 partId() const;

    void setTotal(qint32 total);
    qint32 total() const;

    void setType(const StorageFileType &type);
    StorageFileType type() const;

    void setClassType(UploadGetFileClassType classType);
    UploadGetFileClassType classType() const;

    bool operator ==(const UploadGetFile &b) const;

    bool operator==(bool stt) const { return isNull() != stt; }
    bool operator!=(bool stt) const { return !operator ==(stt); }

private:
    QByteArray m_bytes;
    qint32 m_downloaded;
    qint32 m_mtime;
    qint32 m_partId;
    qint32 m_total;
    StorageFileType m_type;
    UploadGetFileClassType m_classType;
};

Q_DECLARE_METATYPE(UploadGetFile)

#endif // LQTG_TYPE_UPLOADGETFILE
