#ifndef TITAN_PCBCAM_ODBMATRIXPARSER_H
#define TITAN_PCBCAM_ODBMATRIXPARSER_H
#include "../titanpcbcamglobal.h"
#include <QObject>
#include <QMap>
#include "../core/matrixlayer.h"


class PcbCamOdbMatrixParserPrivate;
class TITAN_PCBCAM_EXPORT PcbCamOdbMatrixParser : public QObject
{
    Q_OBJECT
public:
    PcbCamOdbMatrixParser(QObject *parent = nullptr);
    PcbCamOdbMatrixParser(const QByteArray &iData, QObject *parent = nullptr);
    ~PcbCamOdbMatrixParser();

    void setData(const QByteArray &iData);
    void parse();
    QMap<QString, int> steps() const;
    QList<PcbCamMatrixLayer> layers() const;
    QStringList errors() const;

protected:
    const QScopedPointer<PcbCamOdbMatrixParserPrivate> d_ptr;

private:
    Q_DECLARE_PRIVATE(PcbCamOdbMatrixParser)
    Q_DISABLE_COPY(PcbCamOdbMatrixParser)


};


#endif // TITAN_PCBCAM_ODBMATRIXPARSER_H
