/***************************************************************************
 *   Copyright (C) 2012 by Santiago González                               *
 *                                                                         *
 ***( see copyright.txt file at root folder )*******************************/

#pragma once

#include <QMap>

#include "avrgccdebugger.h"

class InoDebugger : public AvrGccDebugger
{
    public:
        InoDebugger( CodeEditor* parent, OutPanelText* outPane );
        ~InoDebugger();
        
        QString getBoard() { return m_board; }
        void setBoard( QString board );

        QString customBoard() { return m_customBoard; }
        void setCustomBoard( QString b ){ m_customBoard = b; }

        virtual QString toolPath() override { return m_arduinoPath; }
        virtual void setToolPath( QString path ) override;

        virtual bool upload() override;
        virtual int  compile( bool debug ) override;

        virtual void compilerProps() override;

    protected:
        virtual bool postProcess() override;
        
    private:
        int m_version;
        int m_lastInoLine;
        int m_loopInoLine;
        
        QString m_arduinoPath;
        QString m_builder;
        QString m_sketchBook;
        QString m_customBoard;
        QString m_board;
        QString m_defaultBoards;
        QStringList m_userBoards;

        QMap<QString, QString> m_boardMap;
};
