#pragma once
|
|
#include <vector>
|
#include "akCore/akFileUtil.h"
|
|
struct _StackDefect
|
{
|
int m_nDefectID ;
|
char m_strCellID[32] ;
|
int m_nPosX ;
|
int m_nPosY ;
|
int m_nSize ;
|
char m_strJudge[16] ;
|
char m_strCode[16] ;
|
};
|
|
class CStackResultCSOT
|
{
|
public:
|
CStackResultCSOT(void);
|
virtual ~CStackResultCSOT(void);
|
protected:
|
enum emStackProcessState
|
{
|
SPS_StateIdle = 0,
|
SPS_StateFileRead, //Àб⠼öÇà Áß
|
SPS_ResultReadOK,
|
SPS_ResultReadFail,
|
SPS_CmdFileRead, //Àб⠸í·É ¼öÇà
|
SPS_CmdFileStop, //Àб⠸í·É ¼öÇà ÁßÁö
|
|
SPS_Num
|
};
|
public:
|
void clear()
|
{
|
m_vecMacroDefect.clear();
|
}
|
|
BOOL StackFileReadStart(char* pGlassID);
|
BOOL StackFileReadStop(BOOL bWait=TRUE);
|
BOOL IsRead() { return m_nProcessState == SPS_ResultReadOK?TRUE:FALSE; }
|
|
int GetDefectNum() { return (int)m_vecMacroDefect.size();}
|
_StackDefect* GetDefect(int i) { return &m_vecMacroDefect[i]; }
|
|
BOOL readOptionFile(char* pFileName = NULL);
|
|
BOOL getStackUse(){return m_bStackUse;};
|
char* getStackEquipID(){return m_strEquipID;};
|
char* getStackOperID(){return m_strParam1;};
|
char* getStackLocalPath(){return m_strLocalPath;};
|
protected:
|
BOOL openFile( char* pGlassID );
|
|
static void threadStackFileRead(void* pArg);
|
int m_nThreadStackFileReadFlag;
|
|
protected:
|
char m_strConfigFile[MAX_PATH];
|
BOOL m_bStackUse;
|
char m_strLocalPath[MAX_PATH];
|
char m_strEquipID[32];
|
char m_strParam1[32]; //operid
|
|
emStackProcessState m_nProcessState;//-1:Àбâ½ÇÆÐ,0:Idle, 1:Àб⼺°ø, 2:Àбâ½Ãµµ(ÀбâÁß)
|
std::vector<_StackDefect> m_vecMacroDefect;
|
|
CString m_strGlassID;
|
protected:
|
char* getParsingData(char* pBuf, int nLen, CString* pOutData);
|
char* getParsingData(char* pBuf, int nLen, int* pOutData);
|
|
|
|
};
|