#ifndef __OTX_FLASH_ECUFlasherFileDownloadEndEventArg_HPP__
#define __OTX_FLASH_ECUFlasherFileDownloadEndEventArg_HPP__

#include "ECU.hpp"
#include "ECUFlasherFileEventArg.hpp"

namespace otx{
namespace flash{

class ECUFlasher;

class ECUFlasherFileDownloadEndEventArg : virtual public ECUFlasherFileEventArg {
public:
  ECUFlasherFileDownloadEndEventArg(ECUFlasher *sender, ECU *ecu, File *file, int errorCode, std::string msg);
  ECUFlasherFileDownloadEndEventArg(const ECUFlasherFileDownloadEndEventArg &right) = default;
  ECUFlasherFileDownloadEndEventArg &operator=(const ECUFlasherFileDownloadEndEventArg &right) = default;

public:
  virtual ~ECUFlasherFileDownloadEndEventArg() = default;

private:
  int mErrorCode;
  std::string mMessage;

public:
  virtual int getErrorCode();
  virtual std::string getMessage();
};

} // namespace flash
} // namespace otx

#endif // __OTX_FLASH_ECUFlasherFileDownloadEndEventArg_HPP__