#ifndef ELC1_GENERATOR__H
#define ELC1_GENERATOR__H

#include "utils.h"
#include "licenceCommon.h"
#include "licenceELC1.h"
#include "SDCard.h"
#include "pugixml.hpp"

namespace Generator
{
  class Licence1 : public LicenceELC1
  {
  public:
    Licence1();
    Licence1(string cid, string csd, string dataFileName);
    ~Licence1();

    pugi::xml_document *xmlDoc;
    string projectDescription = "";
    string stationName; // name of station
    string distributor;
    WORD licType = 2;                                                         // type of licence
    BinaryGenerationType binaryGeneration = BinaryGenerationType::Base64Cout; // typ generování binárního souboru

    string dataLicenceType = "";         // type of licence from xmlFile;
    string dataLicenceVersion = "";      // version type of licence from xmlFile;
    string dataCryptoVersion = "";       // version of crypting from xmlFile
    string dataGenerationType = "";      // version of dataGeneration from xmlFile
    string dataLicenceDataFileName = ""; // name of licence file to read

    void processConfigFile(string &dataFileName); // process data from config file
    bool createLicence(); // create licence for EOV_OSV
    LicenceIdentification lIdentification;
  };
}

#endif