From 4a9f803ce6896554706b97fe36e0002d18e1f346 Mon Sep 17 00:00:00 2001
From: mrDarker <mr.darker@163.com>
Date: 星期三, 16 七月 2025 09:35:41 +0800
Subject: [PATCH] 1. [TaskControl] 添加设备启用状态判断(IsEnabled) 2. 在多个工艺任务(如 bake_to_cooling、bond_to_bake 等)中增加 psrEq->IsEnabled() 判断
---
SourceCode/Bond/Servo/Context.h | 44 ++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 42 insertions(+), 2 deletions(-)
diff --git a/SourceCode/Bond/Servo/Context.h b/SourceCode/Bond/Servo/Context.h
index c23adcb..9e556ac 100644
--- a/SourceCode/Bond/Servo/Context.h
+++ b/SourceCode/Bond/Servo/Context.h
@@ -1,8 +1,48 @@
#pragma once
-class CContext
+#include "Common.h"
+#include <functional>
+
+
+typedef std::function<void(void*)> ONRELEASECALLBACK;
+class CContext : public IRxObject
{
public:
CContext();
- ~CContext();
+ virtual ~CContext();
+
+public:
+ void setOnRelease(ONRELEASECALLBACK fOnRelease);
+ int addRef();
+ int release();
+
+public:
+ virtual std::string& getClassName() = 0;
+ virtual std::string toString() = 0;
+ void setRetCode(int code);
+ int getRetCode();
+ void setRetMsg(const char* pszMsg);
+ std::string& getRetMsg();
+ HANDLE getEventHandle();
+ void setEvent();
+ void resetEvent();
+ static void createDir(CString strDir);
+
+protected:
+ inline void Lock() { EnterCriticalSection(&m_criticalSection); }
+ inline void Unlock() { LeaveCriticalSection(&m_criticalSection); }
+ void ReadString(CArchive& ar, std::string& string);
+ void WriteString(CArchive& ar, std::string& string);
+ static BOOL IsBoxId(CString& strId);
+ static BOOL IsLotId(CString& strId);
+
+private:
+ ONRELEASECALLBACK m_onReleaseCallback;
+ int m_nRef;
+ CRITICAL_SECTION m_criticalSection;
+
+protected:
+ int m_nRetCode;
+ std::string m_strRetMsg;
+ HANDLE m_hEvent;
};
--
Gitblit v1.9.3