#include "GrpcTransfer.h" DataList* MessageServiceClient::R360SendMessage(DataPackagePtr pkg) { DataList dataList; EmbeddedData *embeddedData = dataList.add_data(); embeddedData->set_usb_camera_index(pkg->nCameraID); // 填充图片数据(示例中使用字符串模拟) std::string tempImageData(pkg->pJpegData, pkg->nJpegSize); embeddedData->set_image(tempImageData); embeddedData->set_degree(pkg->dDegree); for (int i = 0; i < pkg->Result.count; ++i) { // 添加报警信息 Alarm *alarm = embeddedData->add_alarm(); alarm->set_x(pkg->Result.results[i].box.left); alarm->set_y(pkg->Result.results[i].box.top); alarm->set_w(pkg->Result.results[i].box.right - pkg->Result.results[i].box.left); alarm->set_h(pkg->Result.results[i].box.bottom - pkg->Result.results[i].box.top); alarm->set_score(pkg->Result.results[i].prop); alarm->set_type(R360::AlarmType(pkg->Result.results[i].cls_id)); // 使用枚举值 } m_DataList = dataList; return &m_DataList; }