#include "StdAfx.h"
|
#include "StatusMonitor.h"
|
|
|
//////////////////////////////////////////////////////////////////////////
|
|
CStatusMonitor::CStatusMonitor(void)
|
{
|
m_iScanIdx = -1;
|
|
for(int iCam=0;iCam<MAX_CAMERA_COUNT;iCam++)
|
m_pFrameBuffer[iCam] = NULL;
|
|
InitGlassLoading();
|
|
m_pControlInterface = NULL;
|
m_pLightManager = NULL;
|
m_pTransData = NULL;
|
m_pGlassData = NULL;
|
m_pRecipe = NULL;
|
m_pHWSettings = NULL;
|
m_pLanguageControl = NULL;
|
m_pLicenseChecker = NULL;
|
}
|
|
CStatusMonitor::~CStatusMonitor(void)
|
{
|
}
|
|
void CStatusMonitor::InitGlassLoading()
|
{
|
for(int i=0;i<MAX_SCAN_COUNT;i++)
|
{
|
m_nGrabFrame[i] = 0;
|
m_bGrabEnd[i] = FALSE;
|
}
|
}
|
|
int CStatusMonitor::GetGrabFrameCount(int iScan)
|
{
|
if(iScan < 0 || iScan >= MAX_SCAN_COUNT)
|
return 0;
|
|
return m_nGrabFrame[iScan];
|
}
|
|
void CStatusMonitor::SetGrabEnd(int iScan)
|
{
|
if(iScan < 0 || iScan >= MAX_SCAN_COUNT)
|
return;
|
|
m_bGrabEnd[iScan] = TRUE;
|
}
|
|
void CStatusMonitor::SetGrabFrametoScan(int iScan,int nFrame)
|
{
|
if(iScan < 0 || iScan >= MAX_SCAN_COUNT)
|
return;
|
|
m_nGrabFrame[iScan] = nFrame;
|
}
|
|
BOOL CStatusMonitor::DeleteFolder(const CString &strFolder)
|
{
|
SHFILEOPSTRUCT FileOp = {0};
|
TCHAR szTemp[MAX_PATH];
|
|
wcscpy_s(szTemp, MAX_PATH, strFolder);
|
szTemp[strFolder.GetLength() + 1] = NULL; // NULL¹®ÀÚ°¡ µÎ°³ µé¾î°¡¾ß ÇÑ´Ù.
|
|
FileOp.hwnd = NULL;
|
FileOp.wFunc = FO_DELETE;
|
FileOp.pFrom = NULL;
|
FileOp.pTo = NULL;
|
FileOp.fFlags = FOF_NOCONFIRMATION | FOF_NOERRORUI; // È®Àθ޽ÃÁö°¡ ¾È¶ßµµ·Ï ¼³Á¤
|
FileOp.fAnyOperationsAborted = false;
|
FileOp.hNameMappings = NULL;
|
FileOp.lpszProgressTitle = NULL;
|
FileOp.pFrom = szTemp;
|
|
SHFileOperation(&FileOp);
|
|
return true;
|
}
|
|
BOOL CStatusMonitor::CheckDirectory(const TCHAR szPathName[], BOOL bDelete/* = FALSE*/)
|
{
|
CFileFind finder;
|
CString strTemp;
|
CString strDir = szPathName;
|
int nPos;
|
|
BOOL bExist = finder.FindFile(szPathName);
|
|
if(bDelete == TRUE)
|
{
|
DeleteFolder(szPathName);
|
bExist = FALSE;
|
}
|
|
if (bExist == FALSE)
|
{
|
nPos = strDir.Find(_T("\\"));
|
nPos = strDir.Find(_T("\\"), nPos+1);
|
while(nPos > 0)
|
{
|
strTemp = strDir.Mid(0,nPos);
|
if(0 < strTemp.GetLength())
|
{
|
if(CString("\\") == strTemp.GetAt(strTemp.GetLength()-1))
|
{
|
nPos = strDir.Find(_T("\\"), nPos+1);
|
continue;
|
}
|
}
|
if (finder.FindFile(strTemp) == FALSE)
|
{
|
if(::CreateDirectory(strTemp, NULL) == FALSE)
|
{
|
strTemp.Format(_T("[%s]Folder Create Fail. "), szPathName);
|
|
//LogMessage(strTemp, 2);
|
return FALSE;
|
}
|
}
|
nPos = strDir.Find(_T("\\"), nPos+1);
|
}
|
}
|
return TRUE;
|
}
|