#pragma once #include "CCLinkIEControl.h" #include "CAttributeVector.h" #include "ToolUnits.h" namespace SERVO { #define STEP_EVENT_READDATA 0x01 #define STEP_EVENT_COMPLETE 0x02 class CEquipment; class CStep { public: CStep(); virtual ~CStep(); public: 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: StationIdentifier m_station; std::string m_strName; CEquipment* m_pEquipment; CCCLinkIEControl* m_pCclink; CRITICAL_SECTION m_criticalSection; }; }