//----------------------------------------------------------------------------
///
/// \file   writerHeader.h
///
/// \brief  See implementation for further details
///
/// \date   20211212
/// \author Maximilian Seesslen <mes@seesslen.net>
///
//----------------------------------------------------------------------------


//---Documentation------------------------------------------------------------


//---Includes -----------------------------------------------------------------


//---General--------------------------

#include <QList>

//---Own------------------------------

#include <pinmux.h>
#include <writer.h>


//--- Declaration -------------------------------------------------------------


class CWriterConfigHeader
            :public CWriter
{
   private:

   public:
      explicit CWriterConfigHeader(CPinmux &pinmux, const QString basePath)
         :CWriter(pinmux, basePath)
      {
         return;
      }
      virtual int writeFiles() override;
      void writeHeader( const QString &fileName);
      //static QString peripheralPins(const CPeriphery &periphery);
      QString formatHeaderBlob(const CPeriphery &periphery
               , const CReference *pReference, const QString &type, int counter) const;
      QString macroLine(const QString &name, const QString &value) const;
      int writeFiles(const QString &fileName);
};


//---fin----------------------------------------------------------------------
