#include #include "../GrpcTransfer/ImageService.grpc.pb.h" #include "../DataManager/DataPackage.h" using grpc::Channel; using grpc::ClientContext; using grpc::Status; using R360::Alarm; using R360::DataList; using R360::EmbeddedData; using R360::Empty; using R360::MessageService; class MessageServiceClient { public: explicit MessageServiceClient(){} // void R360SendMessage(char *pic) // { // ClientContext context; // Empty response; // std::unique_ptr> writer( // stub_->R360SendMessage(&context, &response)); // // 构造第一个DataList消息 // DataList data_list; // EmbeddedData *embeddedData = data_list.add_data(); // embeddedData->set_usb_camera_index(1); // // 填充图片数据(示例中使用字符串模拟) // embeddedData->set_image(pic); // embeddedData->set_degree(90); // // 添加报警信息 // Alarm *alarm = embeddedData->add_alarm(); // alarm->set_x(100); // alarm->set_y(150); // alarm->set_w(50); // alarm->set_h(50); // alarm->set_score(0.95); // alarm->set_type(R360::UAV); // 使用枚举值 // if (!writer->Write(data_list)) // { // std::cerr << "写入消息失败" << std::endl; // } // // 如有需要,可发送更多消息... // // DataList another_data_list; // // writer->Write(another_data_list); // /*writer->WritesDone(); // Status status = writer->Finish(); // if (status.ok()) // { // std::cout << "R360SendMessage RPC 调用成功" << std::endl; // } // else // { // std::cout << "R360SendMessage RPC 调用失败: " << status.error_message() << std::endl; // }*/ // } DataList* R360SendMessage(DataPackage *pkg); private: DataList m_DataList; };