#include "DataHandle.h" #include #include DataHandle::DataHandle() : m_dataCallBack(nullptr) , m_streamServer(nullptr){ } DataHandle::~DataHandle() { m_streamServer->Stop(); if (m_streamServer){ delete m_streamServer; m_streamServer = nullptr; } } void DataHandle::Init() { m_config = ConfigManager::GetInstance(); m_config->PreInit(); m_config->Init(); m_streamServer = new StreamServer(m_config->GetMachine()); //测试线程 m_testTd = std::thread ([this] { static float i = 10.12540f; while (1) { WriteData* wd = new WriteData(); wd->dataType = RESPOND; wd->strValue = std::to_string(i); wd->nameKey = "hello"; wd->result = true; wd->valueType = iFLOAT; if (m_streamServer->GetClient()) m_streamServer->GetClient()->SetPushMsg(wd); std::this_thread::sleep_for(std::chrono::seconds(1)); } }); m_testTd.detach(); m_streamServer->SetCallBackFunc(this, &DataHandle::DataCallBackProc); m_streamServer->Init(); } void DataHandle::Run() { m_streamServer->Run(); } void DataHandle::Stop() { m_streamServer->Stop(); } void DataHandle::DataCallBackProc(void* pthis, const ReadData& msg) { DataHandle* p = (DataHandle*)pthis; switch (msg.dataType) { case GET: break; case SET: break; case LOAD: break; //载入 case LOADOUT: break; //载出 case SUPPLYAXLEAFTER: break; //供粉轴后移 case SUPPLYAXLEFRONT: break; //供粉轴前移 case SUPPLYAXLEAFTERCONT: break; //供粉轴后移连续 case SUPPLYAXLEFRONTCONT: break; //供粉轴前移连续 case PAVEAXLEFRONT: break; // 铺粉臂前移 case PAVEAXLEFRONTCONT: break; //铺粉臂前移连续 case PAVEAXLEAFTER: break; //铺粉臂后移 case PAVEAXLEAFTERCONT: break; //铺粉臂后移连续 case PAVEAXLECLEAR: break; //铺粉臂清零 case PRINTAXLEUP: break; //成型缸上升 case PRINTAXLEUPCONT: break; //成型缸连续上升 case PRINTAXLEDOWN: break; //成型缸下降 case PRINTAXLEDOWNCONT: break; //成型缸连续下降 case PRINTAXLECLEAR: break; //成型缸清零 case TRANSFERAXIELEFT: break; //移栽轴左移 case TRANSFERAXIELEFTCONT: break; //移栽轴连续左移 case TRANSFERAXIERIGHT: break; //移栽轴右移 case TRANSFERAXIERIGHTCONT: break; //移栽轴连续右移 case TRANSFERAXIECLEAR: break; //移栽轴清零 default: break; } }