#pragma once
|
|
#include "DitGlassRawStruct.h"
|
#include <vector>
|
#include "akCore/akFileUtil.h"
|
|
class CRawResultReader
|
{
|
public:
|
CRawResultReader(void);
|
virtual ~CRawResultReader(void);
|
protected:
|
enum emReadProcessState
|
{
|
RPS_StateIdle = 0,
|
RPS_StateFileRead, //Àб⠼öÇà Áß
|
RPS_ResultReadOK,
|
RPS_ResultReadFail,
|
RPS_CmdFileRead, //Àб⠸í·É ¼öÇà
|
RPS_CmdFileStop, //Àб⠸í·É ¼öÇà ÁßÁö
|
RPS_Num
|
};
|
public:
|
|
|
void clear()
|
{
|
m_vecStackDefect.clear();
|
}
|
|
BOOL RawMergeFileReadStart(char* pGlassID);
|
/* <LJC 20211122 : #3820 ADD Start> */
|
BOOL ProcessRawMergeFileReadStart(char* pGlassID);
|
/* <LJC 20211122 : #3820 ADD End> */
|
BOOL RawMergeFileReadStop(BOOL bWait = TRUE);
|
BOOL IsRead() { return m_nProcessState == RPS_ResultReadOK ? TRUE : FALSE; }
|
|
int GetDefectNum() { return (int)m_vecStackDefect.size(); }
|
_grmDefectData* GetDefect(int i) { return &m_vecStackDefect[i]; }
|
|
BOOL readOptionFile(char* pFileName = NULL);
|
|
BOOL getRawMergeUse() { return m_bStackUse; };
|
char* getRawMergeLocalPath() { return m_strLocalPath; };
|
protected:
|
BOOL openFile(char* pGlassID);
|
static void threadResultFileRead(void* pArg);
|
/* <LJC 20211122 : #3820 ADD Start> */
|
static void ProcessResultFileRead(void* pArg);
|
/* <LJC 20211122 : #3820 ADD End> */
|
int m_nThreadStackFileReadFlag;
|
|
protected:
|
char m_strConfigFile[MAX_PATH];
|
BOOL m_bStackUse;
|
char m_strLocalPath[MAX_PATH];
|
|
|
emReadProcessState m_nProcessState;//-1:Àбâ½ÇÆÐ,0:Idle, 1:Àб⼺°ø, 2:Àбâ½Ãµµ(ÀбâÁß)
|
std::vector<_grmDefectData> m_vecStackDefect;
|
|
CString m_strGlassID;
|
protected:
|
char* getParsingData(char* pBuf, int nLen, CString* pOutData);
|
char* getParsingData(char* pBuf, int nLen, int* pOutData);
|
char* getParsingData(char* pBuf, int nLen, short* pOutData);
|
|
|
|
};
|