#ifndef __OTX_FLASH_ECUFlasherFileEventArg_HPP__
#define __OTX_FLASH_ECUFlasherFileEventArg_HPP__

#include "ECU.hpp"

namespace otx{
namespace flash{

class ECUFlasher;

class ECUFlasherFileEventArg {
public:
  ECUFlasherFileEventArg(ECUFlasher *sender, ECU *ecu, File *file);
  ECUFlasherFileEventArg(const ECUFlasherFileEventArg &right) = default;
  ECUFlasherFileEventArg &operator=(const ECUFlasherFileEventArg &right) = default;

public:
  virtual ~ECUFlasherFileEventArg() = default;

private:
  ECUFlasher *mSender;
  ECU *mEcu;
  File *mFile;
  
public:
  virtual ECUFlasher *getSender();
  virtual ECU *getEcu();
  virtual File *getFile();
};

} // namespace flash
} // namespace otx

#endif // __OTX_FLASH_ECUFlasherFileEventArg_HPP__