From 4289dfbba5033a08e9aea375f439e2ea7e0648da Mon Sep 17 00:00:00 2001
From: darker <mr.darker@163.com>
Date: 星期二, 18 二月 2025 16:23:54 +0800
Subject: [PATCH] Merge branch 'clh' into liuyang
---
SourceCode/Bond/Servo/CMaster.cpp | 18 +++++++++++++++++-
1 files changed, 17 insertions(+), 1 deletions(-)
diff --git a/SourceCode/Bond/Servo/CMaster.cpp b/SourceCode/Bond/Servo/CMaster.cpp
index 92505c0..bee8f05 100644
--- a/SourceCode/Bond/Servo/CMaster.cpp
+++ b/SourceCode/Bond/Servo/CMaster.cpp
@@ -12,7 +12,7 @@
CMaster::CMaster()
{
- m_listener = {nullptr};
+ m_listener = {nullptr, nullptr};
}
CMaster::~CMaster()
@@ -26,6 +26,7 @@
void CMaster::setListener(MasterListener listener)
{
m_listener.onEqAlive = listener.onEqAlive;
+ m_listener.onEqCimStateChanged = listener.onEqCimStateChanged;
}
int CMaster::init()
@@ -106,12 +107,27 @@
m_listener.onEqAlive(this, p, bAlive);
}
};
+ listener.onCimStateChanged = [&](void* pEquipment, BOOL bOn) -> void {
+ CEquipment* p = (CEquipment*)pEquipment;
+ if (m_listener.onEqCimStateChanged != nullptr) {
+ m_listener.onEqCimStateChanged(this, p, bOn);
+ }
+ };
pEquipment->setListener(listener);
m_listEquipment.push_back(pEquipment);
return 0;
}
+ CEquipment* CMaster::getEquipment(int id)
+ {
+ for (auto item : m_listEquipment) {
+ if (item->getID() == id) return item;
+ }
+
+ return nullptr;
+ }
+
void CMaster::onTimer(UINT nTimerid)
{
for (auto item : m_listEquipment) {
--
Gitblit v1.9.3