private void Response() { while (IsRunningThread) { var receivedBuffer = ReceiveRequest(); var requestMessage = CameraPlugin.ParsingInfoRequest(receivedBuffer, ref msForInfoResponse); if (requestMessage != null) { var cameraName = (requestMessage.Value == null) ? string.Empty : requestMessage.Value.StringValue; switch (requestMessage.Name) { case "request_ros2": if (parameters.GetValues <string>("ros2/frames_id/frame_id", out var frames_id)) { SetROS2FramesIdInfoResponse(ref msForInfoResponse, frames_id); } break; case "request_camera_info": { var camera = multicam.GetCamera(cameraName); var cameraInfoMessage = camera.GetCameraInfo(); CameraPlugin.SetCameraInfoResponse(ref msForInfoResponse, cameraInfoMessage); } break; case "request_transform": { var camera = multicam.GetCamera(cameraName); var devicePose = camera.GetPose(); SetTransformInfoResponse(ref msForInfoResponse, devicePose); } break; default: break; } SendResponse(msForInfoResponse); } ThreadWait(); } }
private void Response() { while (true) { var receivedBuffer = ReceiveRequest(); var requestMessage = CameraPlugin.ParsingCameraInfoRequest(ref memoryStreamForCameraInfo, receivedBuffer); if (requestMessage != null && requestMessage.Name.Equals("request_camera_info")) { var cameraName = requestMessage.Value.StringValue; if (cameraName != null) { var cameraInfoMessage = cam.GetCameraInfo(cameraName); CameraPlugin.SetCameraInfoResponse(ref memoryStreamForCameraInfo, cameraInfoMessage); } SendResponse(memoryStreamForCameraInfo); } } }