#pragma once
|
#include "CCLinkIEControl.h"
|
#include "CAttributeVector.h"
|
#include "ToolUnits.h"
|
|
|
namespace SERVO {
|
#define STEP_EVENT_READDATA 0x01
|
#define STEP_EVENT_COMPLETE 0x02
|
|
typedef std::function<void(void* pStep, int code, void* pData)> ONSTEPEVENT;
|
typedef struct _StepListener
|
{
|
ONSTEPEVENT onEvent;
|
} StepListener;
|
|
class CEquipment;
|
class CStep
|
{
|
public:
|
CStep();
|
virtual ~CStep();
|
|
public:
|
void setListener(StepListener listener);
|
void setCcLink(CCCLinkIEControl* pCcLink);
|
void setEquipment(CEquipment* pEquipment);
|
CEquipment* getEquipment();
|
void setName(const char* pszName);
|
std::string& getName();
|
virtual void getAttributeVector(CAttributeVector& attrubutes);
|
virtual void init();
|
virtual void term();
|
|
|
protected:
|
inline void Lock() { EnterCriticalSection(&m_criticalSection); }
|
inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
|
void convertString(const char* pszBuffer, int size, std::string& strOut);
|
|
protected:
|
StepListener m_listener;
|
StationIdentifier m_station;
|
std::string m_strName;
|
CEquipment* m_pEquipment;
|
CCCLinkIEControl* m_pCclink;
|
CRITICAL_SECTION m_criticalSection;
|
};
|
}
|