#ifndef PROCESSBURNUDFDATA_H
#define PROCESSBURNUDFDATA_H

#include "processbasic.h"
#include "src/frame/auditlog.h"
#include <QObject>
#include "kysdk/kysdk-system/libkysysinfo.h"
#include <QGSettings/QGSettings>
class ProcessBurnUDFData : public ProcessBasic
{
    Q_OBJECT
signals:
    void clear();
public:
    ProcessBurnUDFData(void *, void *, QObject *parent=nullptr);
    ~ProcessBurnUDFData();
protected:
    bool prepare();
    bool config();
    bool working();
    bool worked();
protected slots:
    void slotsStart();
    void slotsOutput();
    void slotsError();
    void slotsFinished(int, QProcess::ExitStatus);
    void slotsCopy(QString, QString);   
private:
    int      m_iCopied;
    int      m_iProgress;
    qreal    m_fSpeed;
    bool     m_bCreateISO;
    bool     m_bAppendBurn;
    void    *m_oCDROM;
    void    *m_oRoot;
    QString  m_oCdrecord;
    QString  m_oMkisofs;
    QString  m_oGrowisofs;
    QString  m_oCreateISO;
    QString  m_oISOOutput;
    QString  m_oMSINFO;
    AuditLog m_oBurnUdfDataLog;
    bool m_isSpecialMachine;
    QGSettings *auditburner;
    QString auditlogpath;
};

#endif // PROCESSBURNDATA_H
