/**
 * FastReport Cloud
 * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)
 *
 * The version of the OpenAPI document: v1
 *
 * NOTE: This class is auto generated by OpenAPI-Generator 5.1.1.
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */

/*
 * FileStatusReason.h
 *
 * 
 */

#ifndef FASTREPORT_CLOUD_MODELS_FileStatusReason_H_
#define FASTREPORT_CLOUD_MODELS_FileStatusReason_H_

#include "CloudKludge.h"
#include "../ModelBase.h"


namespace fastreport {
namespace cloud {
namespace models {

class  FileStatusReason
    : public ModelBase
{
public:
    FileStatusReason();
    virtual ~FileStatusReason();

    /////////////////////////////////////////////
    /// ModelBase overrides

    void validate() override;

    web::json::value toJson() const override;
    bool fromJson(const web::json::value& json) override;

    void toMultipart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& namePrefix) const override;
    bool fromMultiPart(std::shared_ptr<MultipartFormData> multipart, const utility::string_t& namePrefix) override;

    enum class eFileStatusReason
    {
        FileStatusReason_NONE,
        FileStatusReason_ALLRIGHT,
        FileStatusReason_HANG,
        FileStatusReason_ERROR,
        FileStatusReason_NOTFOUND,
        FileStatusReason_NOTENOUGHSPACE,
        FileStatusReason_EXPORTSTARTED,
        FileStatusReason_PREPARATIONSTARTED,
        FileStatusReason_CRASHLOOP,
    };

    eFileStatusReason getValue() const;
    void setValue(eFileStatusReason const value);

    protected:
        eFileStatusReason m_value;
};

}
}
}

#endif /* FASTREPORT_CLOUD_MODELS_FileStatusReason_H_ */
