// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESTRACK_REPORTINGFILTER_TRACKSDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESTRACK_REPORTINGFILTER_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 Filter_Tracks { // Reports the parameters of one of the filters that are active for tracks in the // communication and networking subsystem. Tracks are transmitted or received, // according to their mode, if they pass the conditions of at least one of the // active filters. // The interface to the CMS for receiving information relating to the filters used // to control which tracks are made available to other network segments. // The plot (and track) sharing architecture recognizes that connectivity between // different platforms hosting sensors may not support the bandwidth required to // share all plot and track updates. It is possible for a sensor also to provide the // networking functionality in which case it is providing an additional role in the // interface. struct report_track_filter_type { // The identifier for the filter org::omg::c4i::Domain_Model::Common_Types::filter_id_type filter_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 // The criteria for the filter org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::track_filter_parameters_type filter; }; #ifndef DDS_XTYPES #pragma keylist report_track_filter_type subsystem_id #endif // Reports that a particular track filter has been removed. // The interface to the CMS for receiving information relating to the filters used // to control which tracks are made available to other network segments. // The plot (and track) sharing architecture recognizes that connectivity between // different platforms hosting sensors may not support the bandwidth required to // share all plot and track updates. It is possible for a sensor also to provide the // networking functionality in which case it is providing an additional role in the // interface. struct track_filter_removed_type { // The identifier of the filter removed org::omg::c4i::Domain_Model::Common_Types::filter_id_type filter_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 track_filter_removed_type subsystem_id #endif // struct holding keys for class add_track_filter_type. struct add_track_filter_key_type { // unique reference 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; }; // Adds an active filter for tracks to the communication and networking subsystem. // The interface to the subsystem for receiving updates to the filters used to // control which tracks are made available to other network segments. // The plot (and track) sharing architecture recognizes that connectivity between // different platforms hosting sensors may not support the bandwidth required to // share all plot and track updates. // In this use case the subsystem is the network component providing connectivity to // other platforms, as distinct from the local sensors providing the plots. It is // possible for a sensor to also provide the networking functionality, in which case // it is providing an additional role in the interface. struct add_track_filter_type { // unique reference 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 values to be used to filter tracks by org::omg::c4i::Domain_Model::Sensor_Domain::Track_Reporting::track_filter_parameters_type filter; }; #ifndef DDS_XTYPES #pragma keylist add_track_filter_type request_id subsystem_id #endif // struct holding keys for class remove_track_filter_type. struct remove_track_filter_key_type { // The unique reference 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; }; // Removes a filter for tracks from the communication and networking subsystem. // The interface to the subsystem for receiving updates to the filters used to // control which tracks are made available to other network segments. // The plot (and track) sharing architecture recognizes that connectivity between // different platforms hosting sensors may not support the bandwidth required to // share all plot and track updates. // In this use case the subsystem is the network component providing connectivity to // other platforms, as distinct from the local sensors providing the plots. It is // possible for a sensor to also provide the networking functionality, in which case // it is providing an additional role in the interface. struct remove_track_filter_type { // The unique reference 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 filter to be removed org::omg::c4i::Domain_Model::Common_Types::filter_id_type filter_id; }; #ifndef DDS_XTYPES #pragma keylist remove_track_filter_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif