// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESTRACK_REPORTINGPROVIDE_SENSOR_TRACKSDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESTRACK_REPORTINGPROVIDE_SENSOR_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 Provide_Sensor_Tracks { // The method represents a deletion of a single sensor track (air, land, space or // surface) to the CMS. After a deletion, no further writes for that sensor track // instance are made. Subsystems may subsequently use the same sensor_track_id to // denote another sensor track instance possibly after a 'cooling off period'. Such // behavior is implementation specific. // This service allows the CMS to obtain an overview of (real and/or simulated) air // / land / space / surface objects observed or simulated. Information may cover all // aspects of a track such as kinematic and amplifying information. // The service does not cover: // // Although the service focuses on radar as an example of a sensor, the service also // applies to other sensors, like IR/EO sensors and ECM/ESM sensors. // The actor is the Combat Management System. // The service starts when: // // The sensor provides, periodically or on event, a set of sensor tracks observed by // the sensor. These may be sensor point or bearing tracks. The set of sensor tracks // includes: // // Some sensors are not capable of reporting lost and/or dead-reckoned tracks. // The sensor may also provide single sensor tracks periodically or on event. // The service ends with success when: // struct delete_sensor_track_type { org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::sensor_track_id_type the_sensor_track_id; // 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 }; #ifndef DDS_XTYPES #pragma keylist delete_sensor_track_type subsystem_id #endif // struct holding keys for class prioritize_track_type. struct prioritize_track_key_type { 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; }; // CMS requests the subsystem to report the referenced sensor track with the stated // priority. struct prioritize_track_type { #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 org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::sensor_track_id_type sensor_track_id; org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::track_priority_type priority; }; #ifndef DDS_XTYPES #pragma keylist prioritize_track_type request_id subsystem_id #endif // struct holding keys for class remove_track_priority_type. struct remove_track_priority_key_type { 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 CMS requests the subsystem to report the track with the default priority for // that subsystem. struct remove_track_priority_type { #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 org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::sensor_track_id_type sensor_track_id; }; #ifndef DDS_XTYPES #pragma keylist remove_track_priority_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif