// 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_FNC_UPLOAD
#define LQTG_FNC_UPLOAD

#include "telegramfunctionobject.h"
#include <QtGlobal>
#include <QByteArray>
#include "telegram/types/uploadfile.h"
#include "telegram/types/inputfilelocation.h"

namespace Tg {
namespace Functions {

class LIBQTELEGRAMSHARED_EXPORT Upload : public TelegramFunctionObject
{
public:
    enum UploadFunction {
        fncUploadSaveFilePart = 0xb304a621,
        fncUploadGetFile = 0xe3a6cfb5,
        fncUploadSaveBigFilePart = 0xde7b673d
    };

    Upload();
    virtual ~Upload();

    static bool saveFilePart(OutboundPkt *out, qint64 fileId, qint32 filePart, const QByteArray &bytes);
    static bool saveFilePartResult(InboundPkt *in);

    static bool getFile(OutboundPkt *out, const InputFileLocation &location, qint32 offset, qint32 limit);
    static UploadFile getFileResult(InboundPkt *in);

    static bool saveBigFilePart(OutboundPkt *out, qint64 fileId, qint32 filePart, qint32 fileTotalParts, const QByteArray &bytes);
    static bool saveBigFilePartResult(InboundPkt *in);

};

}
}

#endif // LQTG_FNC_UPLOAD
