// 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_UPLOADSENDPHOTO
#define LQTG_TYPE_UPLOADSENDPHOTO

#include "telegramcustomtypeobject.h"

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

class LIBQTELEGRAMSHARED_EXPORT UploadSendPhoto : public TelegramCustomTypeObject
{
public:
    enum UploadSendPhotoClassType {
        typeUploadSendPhotoEmpty = 0x9fd3cbf,
        typeUploadSendPhotoFinished = 0x29d89fa,
        typeUploadSendPhotoCanceled = 0xce5de24,
        typeUploadSendPhotoProgress = 0x403636a
    };

    UploadSendPhoto(UploadSendPhotoClassType classType = typeUploadSendPhotoEmpty);
    UploadSendPhoto(const Null&);
    virtual ~UploadSendPhoto();

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

    void setPhoto(const PhotosPhoto &photo);
    PhotosPhoto photo() const;

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

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

    void setClassType(UploadSendPhotoClassType classType);
    UploadSendPhotoClassType classType() const;

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

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

private:
    qint32 m_partId;
    PhotosPhoto m_photo;
    qint32 m_totalSize;
    qint32 m_uploaded;
    UploadSendPhotoClassType m_classType;
};

Q_DECLARE_METATYPE(UploadSendPhoto)

#endif // LQTG_TYPE_UPLOADSENDPHOTO
