#include #include "ivversion.h" #include #include "vehicle_upload.h" #include "vehicle_control.h" #include "vehicle_patrol.h" #include #include #include std::string gstrserverip = "139.9.235.66";//"123.57.212.138"; std::string gstruploadPort = "10591";//"9000"; std::string gstrpatrolPort = "10592";//"9000"; std::string gstrcontrolPort = "20591";//"9000"; std::string gstruploadInterval = "500"; std::string gstrpatrolInterval = "500"; std::string gstrcontrolInterval = "100"; std::string gstruploadMapInterval = "500"; std::string gstrid = "1234567890123456789H"; std::string gstrplateNumber = "津A123456"; void dec_yaml(const char * stryamlpath) { YAML::Node config; try { config = YAML::LoadFile(stryamlpath); } catch(...) { qDebug("yaml file has some unknown characters or load fail."); return; } if(config["server"]) { gstrserverip = config["server"].as(); } if(config["uploadPort"]) { gstruploadPort = config["uploadPort"].as(); } if(config["patrolPort"]) { gstrpatrolPort = config["patrolPort"].as(); } if(config["controlPort"]) { gstrcontrolPort = config["controlPort"].as(); } if(config["uploadInterval"]) { gstruploadInterval = config["uploadInterval"].as(); } if(config["patrolInterval"]) { gstrpatrolInterval = config["patrolInterval"].as(); } if(config["controlinterval"]) { gstrcontrolInterval = config["controlinterval"].as(); } if(config["uploadmapinterval"]) { gstruploadMapInterval = config["uploadmapinterval"].as(); } if(config["id"]) { gstrid = config["id"].as(); } if(config["plateNumber"]) { gstrplateNumber = config["plateNumber"].as(); } return; } int main(int argc, char *argv[]) { showversion("driver_cloud_grpc_client_BS"); QCoreApplication a(argc, argv); char stryamlpath[256]; if(argc<2) { snprintf(stryamlpath,255,"driver_cloud_grpc_client_BS.yaml"); } else { strncpy(stryamlpath,argv[1],255); } dec_yaml(stryamlpath); std::string control_str = gstrserverip+":"; control_str = control_str + gstrcontrolPort ; std::string patrol_str = gstrserverip+":"; patrol_str = patrol_str + gstrpatrolPort; std::string upload_str = gstrserverip+":"; upload_str = upload_str + gstruploadPort ; DataExchangeClient *vehicleuploaddata = new DataExchangeClient(grpc::CreateChannel(upload_str, grpc::InsecureChannelCredentials())); vehicleuploaddata->start(); VehicleChangeCtrlModeClient *vehiclechangectrlmode = new VehicleChangeCtrlModeClient(grpc::CreateChannel(control_str, grpc::InsecureChannelCredentials())); VehicleControlClient *vehiclecontrol = new VehicleControlClient(grpc::CreateChannel(control_str, grpc::InsecureChannelCredentials())); QObject::connect(vehiclechangectrlmode,&VehicleChangeCtrlModeClient::ctrlMode_Changed,vehiclecontrol,&VehicleControlClient::ctrlMode_Changed_Slot); vehiclechangectrlmode->start(); vehiclecontrol->start(); VehicleUploadMapClient *vehicleuploadmap = new VehicleUploadMapClient(grpc::CreateChannel(control_str, grpc::InsecureChannelCredentials())); QObject::connect(vehicleuploadmap,&VehicleUploadMapClient::patrolPOI_Recieved,vehicleuploaddata,&DataExchangeClient::patrolPOI_Recieved_Slot); QObject::connect(vehicleuploaddata,&DataExchangeClient::uploadPath_Finished,vehicleuploadmap,&VehicleUploadMapClient::uploadPath_Finished_Slot); vehicleuploadmap->start(); VehiclePatrolExceptionClient vehiclepatrol(grpc::CreateChannel(patrol_str, grpc::InsecureChannelCredentials())); vehiclepatrol.start(); return a.exec(); }