You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

52 lines
969 B

#pragma once
#include <iostream>
#include <string>
#include <chrono>
#include <filesystem>
#include <map>
#include "a2l/a2lfile.h"
#include "a2l/a2mlblock.h"
#include "a2l/ifdatablock.h"
using namespace std::filesystem;
using namespace std::chrono_literals;
class CA2LFileData
{
public:
class Header {
public:
Header();
~Header();
std::string GetComment();
std::string GetProjectNo();
std::string GetVersion();
void SetComment(std::string strHeader);
void SetProjectNo(std::string strProjectNo);
void SetVersion(std::string strVersion);
private:
std::string m_strComment;
std::string m_strProjectNo;
std::string m_strVersion;
};
public:
CA2LFileData();
~CA2LFileData();
bool LoadA2lFile(std::string strPath, bool bIsParse = false);
bool ParseA2lFile();
CA2LFileData::Header* GetHeader();
private:
std::shared_ptr <a2l::A2lFile> m_pA2lFile;
std::string m_strA2lFilePath;
std::shared_ptr <CA2LFileData::Header> m_pHeader;
};