// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESTRACK_REPORTINGLABEL_TRACKSDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESTRACK_REPORTINGLABEL_TRACKSDEFVAR #include "Common_Types.idl" #include "Requests.idl" #include "Track_Reporting.idl" module org { module omg { module c4i { module Service_Interfaces { module Sensor_Services { module Track_Reporting { module Label_Tracks { // struct holding keys for class external_track_label_response_type. struct external_track_label_response_key_type { // The unique identifier for the request org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // The interface to the CMS for track number labeling. The subsystem uses the // mappings received in transmissions to other platforms. This enables distributed // local pictures to be formed that are coherent with other protocols being used for // sharing data. struct external_track_label_response_type { // The unique identifier for the request #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif // The identifier for the sensor track org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::sensor_track_id_type sensor_track_id; // The external track numbers labelling the sensor track org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::external_track_number_type external_track_number; }; #ifndef DDS_XTYPES #pragma keylist external_track_label_response_type request_id subsystem_id #endif // struct holding keys for class label_track_for_external_protocol_type. struct label_track_for_external_protocol_key_type { // The unique identifier for the request org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // This operation is used to instruct the subsystem to label a sensor track with an // external track number when transmitting it off-platform. // The interface to the subsystem for track number labeling. The CMS instructs the // subsystem responsible for transmission of sensor tracks to other platforms to // label such sensor tracks with the track numbers of any external protocols on // which the sensor track data is being transmitted or otherwise corresponds. // The subsystem acknowledges the request and responds with the sensor track's // mapping to external track numbers used for transmission to other platforms. struct label_track_for_external_protocol_type { // The unique identifier for the request #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif // The identifier for the sensor track org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::sensor_track_id_type sensor_track_id; // The track number on an external protocol to label the track with org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::external_track_number_type external_track_number; }; #ifndef DDS_XTYPES #pragma keylist label_track_for_external_protocol_type request_id subsystem_id #endif // struct holding keys for class unlabel_track_for_external_protocol_type. struct unlabel_track_for_external_protocol_key_type { // The unique identifier for the request org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; // Indicates which subsystem published the data or is intended to read it as a // subscriber org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; }; // This operation is used to instruct the subsystem to no longer label a sensor // track with a track number for a particular external protocol when transmitting it // off-platform. // The interface to the subsystem for track number labeling. The CMS instructs the // subsystem responsible for transmission of sensor tracks to other platforms to // label such sensor tracks with the track numbers of any external protocols on // which the sensor track data is being transmitted or otherwise corresponds. // The subsystem acknowledges the request and responds with the sensor track's // mapping to external track numbers used for transmission to other platforms. struct unlabel_track_for_external_protocol_type { // The unique identifier for the request #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #else org::omg::c4i::Domain_Model::Common_Types::Requests::request_id_type request_id; #endif // Indicates which subsystem published the data or is intended to read it as a // subscriber #ifdef DDS_XTYPES @key org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #else org::omg::c4i::Domain_Model::Common_Types::subsystem_id_type subsystem_id; #endif // The identifier for the sensor track org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::sensor_track_id_type sensor_track_id; // The name of the external protocol string external_protocol; }; #ifndef DDS_XTYPES #pragma keylist unlabel_track_for_external_protocol_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif