#pragma once
|
|
#include "CHAutoDrsConnector/AutoDrsConnectorInfo.h"
|
#include "CHThreadPools/WorkThreadPools.h"
|
|
class CReceiveMessageData : public CWorkThreadData
|
{
|
public:
|
CReceiveMessageData(PVOID pPtr) : CWorkThreadData(pPtr)
|
{
|
strReceiveMessage.Format(_T(""));
|
}
|
|
virtual ~CReceiveMessageData()
|
{
|
strReceiveMessage.Format(_T(""));
|
}
|
|
public:
|
CString strReceiveMessage;
|
};
|
|
class AFX_EXT_CLASS CAutoDrsConnector:public CWorkThreadPools
|
{
|
public:
|
CAutoDrsConnector(int nIndex);
|
virtual ~CAutoDrsConnector(void);
|
|
// setter
|
void SetIADC2P(IAutoDrsConnector2Parent* pADC2P) { m_pADC2P = pADC2P; }
|
void SetIndex(int nIndex) { m_nIndex = nIndex; }
|
|
// getter
|
virtual BOOL GetConnected() const { return m_bConnected; }
|
|
// pure virtual func
|
virtual int Connect(const CAutoDrsConnectorInfo& connectorInfo) = 0;
|
virtual void Disconnect() = 0;
|
virtual BOOL SendCommand(const CAutoDrsCommandData* pCommandData ) = 0;
|
virtual BOOL ReceiveResult(CAutoDrsResultData* pResultData) = 0;
|
virtual BOOL ParsingData(const CString strResultPath,VectorAutoDrsResultData& vecAutoDrsResultData ) = 0;
|
|
// Control Info
|
CAutoDrsConnectorInfo GetConnectionInfo();
|
void SetConnectionInfo(CAutoDrsConnectorInfo connectorInfo);
|
|
// TransferData
|
const SDrsTransferData* GetTransferData();
|
void SetTransferData(SDrsTransferData &TransferData);
|
|
virtual BOOL ParsingAutoDrsResult(char* strLineData, CAutoDrsResultData* pResultData) = 0;
|
|
protected:
|
// Make String
|
CString GetLocationData( int nLocationIdx, int nSubTypeIdx );
|
CString GetStackData( int nStackIdx );
|
CString GetScanDirData( int nScanIdx );
|
virtual int AddReceiveResult(const CString& strReceiveMessage );
|
virtual void WorkThreadProcess(PVOID pParameter);
|
|
protected:
|
IAutoDrsConnector2Parent* m_pADC2P;
|
CCriticalSection m_csSendData;
|
CCriticalSection m_csReceiveData;
|
|
int m_nIndex;
|
BOOL m_bConnected;
|
CAutoDrsCommandData* m_pCommandData;
|
CAutoDrsResultData* m_pResultData;
|
|
CAutoDrsConnectorInfo m_ConnectionInfo;
|
SDrsTransferData m_TransferData;
|
};
|