From bfe14e41fa5b07771d78af4511ba18d706bc23cc Mon Sep 17 00:00:00 2001
From: LAPTOP-SNT8I5JK\Boounion <Chenluhua@qq.com>
Date: 星期一, 28 七月 2025 17:07:52 +0800
Subject: [PATCH] 1.Spooling Config功能EAP模拟测试;

---
 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