| | |
| | | |
| | | CMaster::CMaster() |
| | | { |
| | | |
| | | m_listener = {nullptr}; |
| | | } |
| | | |
| | | CMaster::~CMaster() |
| | |
| | | delete item; |
| | | } |
| | | m_listEquipment.clear(); |
| | | } |
| | | |
| | | void CMaster::setListener(MasterListener listener) |
| | | { |
| | | m_listener.onEqAlive = listener.onEqAlive; |
| | | } |
| | | |
| | | int CMaster::init() |
| | |
| | | |
| | | int CMaster::addEquipment(CEquipment* pEquipment) |
| | | { |
| | | EquipmentListener listener; |
| | | listener.onAlive = [&](void* pEquipment, BOOL bAlive) -> void { |
| | | CEquipment* p = (CEquipment*)pEquipment; |
| | | if (m_listener.onEqAlive != nullptr) { |
| | | m_listener.onEqAlive(this, p, bAlive); |
| | | } |
| | | }; |
| | | pEquipment->setListener(listener); |
| | | m_listEquipment.push_back(pEquipment); |
| | | |
| | | return 0; |
| | | } |
| | | |
| | |
| | | } |
| | | |
| | | |
| | | // 以下为测试代码 |
| | | // 按一定频率扫描LB数据 |
| | | static int i = 0; |
| | | i++; |
| | | if (i % (4 * 1) == 0) { |
| | |
| | | const StationIdentifier& station = item->getStation(); |
| | | MemoryBlock& block = item->getReadBitBlock(); |
| | | |
| | | char szBuffer[1024]; |
| | | int nRet = m_cclink.ReadData2(station, (short)block.type, |
| | | block.start, block.size, szBuffer); |
| | | for (unsigned int i = 0; i < block.size; i++) { |
| | | if(szBuffer[i] != 0) |
| | | TRACE("%d[%x]\n", i, szBuffer[i]); |
| | | block.start, block.size, block.buffer); |
| | | if (0 == nRet) { |
| | | item->onReceiveLBData(block.buffer, block.size); |
| | | } |
| | | TRACE("nRet=%d\n", nRet); |
| | | } |
| | | } |
| | | } |