// 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_PHOTOS
#define LQTG_FNC_PHOTOS

#include "telegramfunctionobject.h"
#include "telegram/types/userprofilephoto.h"
#include "telegram/types/inputphoto.h"
#include "telegram/types/inputphotocrop.h"
#include "telegram/types/photosphoto.h"
#include "telegram/types/inputfile.h"
#include <QString>
#include "telegram/types/inputgeopoint.h"
#include <QList>
#include <QtGlobal>
#include "telegram/types/photosphotos.h"
#include "telegram/types/inputuser.h"

namespace Tg {
namespace Functions {

class LIBQTELEGRAMSHARED_EXPORT Photos : public TelegramFunctionObject
{
public:
    enum PhotosFunction {
        fncPhotosUpdateProfilePhoto = 0xeef579a0,
        fncPhotosUploadProfilePhoto = 0xd50f9c88,
        fncPhotosDeletePhotos = 0x87cf7f2f,
        fncPhotosGetUserPhotos = 0xb7ee553c
    };

    Photos();
    virtual ~Photos();

    static bool updateProfilePhoto(OutboundPkt *out, const InputPhoto &id, const InputPhotoCrop &crop);
    static UserProfilePhoto updateProfilePhotoResult(InboundPkt *in);

    static bool uploadProfilePhoto(OutboundPkt *out, const InputFile &file, const QString &caption, const InputGeoPoint &geoPoint, const InputPhotoCrop &crop);
    static PhotosPhoto uploadProfilePhotoResult(InboundPkt *in);

    static bool deletePhotos(OutboundPkt *out, const QList<InputPhoto> &id);
    static QList<qint64> deletePhotosResult(InboundPkt *in);

    static bool getUserPhotos(OutboundPkt *out, const InputUser &userId, qint32 offset, qint32 maxId, qint32 limit);
    static PhotosPhotos getUserPhotosResult(InboundPkt *in);

};

}
}

#endif // LQTG_FNC_PHOTOS
