// 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_UPLOADSENDFILE
#define LQTG_TYPE_UPLOADSENDFILE

#include "telegramcustomtypeobject.h"

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

class LIBQTELEGRAMSHARED_EXPORT UploadSendFile : public TelegramCustomTypeObject
{
public:
    enum UploadSendFileClassType {
        typeUploadSendFileEmpty = 0x3b89a68,
        typeUploadSendFileFinished = 0x0fb653b,
        typeUploadSendFileCanceled = 0x63f679f,
        typeUploadSendFileProgress = 0x171793b
    };

    UploadSendFile(UploadSendFileClassType classType = typeUploadSendFileEmpty);
    UploadSendFile(const Null&);
    virtual ~UploadSendFile();

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

    void setTotalSize(qint32 totalSize);
    qint32 totalSize() const;

    void setUpdates(const UpdatesType &updates);
    UpdatesType updates() const;

    void setUploaded(qint32 uploaded);
    qint32 uploaded() const;

    void setClassType(UploadSendFileClassType classType);
    UploadSendFileClassType classType() const;

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

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

private:
    qint32 m_partId;
    qint32 m_totalSize;
    UpdatesType m_updates;
    qint32 m_uploaded;
    UploadSendFileClassType m_classType;
};

Q_DECLARE_METATYPE(UploadSendFile)

#endif // LQTG_TYPE_UPLOADSENDFILE
