#ifndef DC_DOWNLOAD_H_INCLUDED #define DC_DOWNLOAD_H_INCLUDED #include #include class hwinf; class DcDownload { public: enum class DownloadResult {OK, ERROR, TIMEOUT, NOP}; DcDownload(hwinf *hw); ~DcDownload(); void doDownload(); private: DownloadResult sendStatus(int ret) const; DownloadResult sendNextAddress(int bNum) const; DownloadResult sendNextDataBlock(QByteArray const &binary, int bNum) const; bool startBootloader() const; bool stopBootloader() const; QByteArray loadBinaryDCFile(QString dcFileName) const; bool resetDeviceController() const; DownloadResult dcDownloadBinary(QByteArray const &b) const; hwinf *m_hw; QString m_fileToDownload; }; #endif // DOWNLOAD_THREAD_H_INCLUDED