#pragma once #include "CAttributeVector.h" #include "CJobDataB.h" #define DEVICE_COUNT 15 #define JOBDATAS_SIZE (256 * 2) namespace SERVO { class CJobDataS { public: CJobDataS(); CJobDataS::CJobDataS(CJobDataS&& other) noexcept; virtual ~CJobDataS(); public: void* getOwner(); void setOwner(void* pOwner); void copy(CJobDataS* pScr); void update(CJobDataS* pScr); CJobDataB& getJobDataB(CJobDataB& jobDataB); int getCassetteSequenceNo() const; void setCassetteSequenceNo(int no); int getJobSequenceNo() const; void setJobSequenceNo(int no); std::string& getLotId(); void setLotId(const char* pszId); std::string& getProductId(); void setProductId(const char* pszId); std::string& getOperationId(); void setOperationId(const char* pszId); std::string& getGlass1Id(); void setGlass1Id(const char* pszId); std::string& getGlass2Id(); void setGlass2Id(const char* pszId); int getJobType(); void setJobType(int type); int getMaterialsType(); void setMaterialsType(int type); int getProductType(); void setProductType(int type); int getDummyType(); void setDummyType(int type); int getSkipFlag(); void setSkipFlag(int flag); int getProcessFlag(); void setProcessFlag(int flag); int getProcessResonCode(); void setProcessResonCode(int code); int getLastGlassFlag(); void setLastGlassFlag(int flag); int getFirstGlassFlag(); void setFirstGlassFlag(int flag); int getQTime(int index); void setQTime(int index, int time); int getQTimeOverFlag(); void setQTimeOverFlag(int flag); int getMasterRecipe(); void setMasterRecipe(int recipe); short getDeviceRecipeId(int nDeviceIndex) const; void setDeviceRecipeId(int nDeviceIndex, short nRecipeId); const short* getRecipeIds() const; void setRecipeIds(const short* pIds, int nCount); std::string& getPanelMeasure(); void setPanelMeasure(const char* pszMeasure); int getMode(); void setMode(int mode); int getSlotUnitSelectFlag(); void setSlotUnitSelectFlag(int flag); int getSourcePortNo(); void setSourcePortNo(int no); int getSourceSlotNo(); void setSourceSlotNo(int no); int getTargetPortNo(); void setTargetPortNo(int no); int getTargetSlotNo(); void setTargetSlotNo(int no); short getProductJudge() const; void setProductJudge(short nProductJudge); int serialize(char* pszBuffer, int nBufferSize); int unserialize(const char* pszBuffer, int nBufferSize); void getAttributeVector(CAttributeVector& attrubutes, int beginWeight); private: void* m_pOwner; int m_nCassetteSequenceNo; int m_nJobSequenceNo; std::string m_strLotId; std::string m_strProductId; std::string m_strOperationId; std::string m_strGlass1Id; std::string m_strGlass2Id; int m_nJobType; int m_nMaterialsType; int m_nProductType; int m_nDummyType; int m_nSkipFlag; int m_nProcessFlag; int m_nProcessResonCode; int m_nLastGlassFlag; int m_nFirstGlassFlag; int m_nQTime[3]; int m_nQTimeOverFlag; int m_nMasterRecipe; short m_nRecipeIds[DEVICE_COUNT]; std::string m_strPanelMeasure; int m_nMode; int m_nSlotUnitSelectFlag; int m_nSourcePortNo; int m_nSourceSlotNo; int m_nTargetPortNo; int m_nTargetSlotNo; short m_nProductJudge; private: char* m_pRawData; }; }