SDC C-Project CF Review 프로그램
LYW
2021-10-15 e5fa774d622d6852fe8e1f033045aed221649108
ReviewHistory/ReveiwHistory/StackResultCSOT.h
»õ ÆÄÀÏ
@@ -0,0 +1,76 @@
#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);
};