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
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;
|
|
};
|
|
|