// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESPLOT_REPORTINGFILTER_PLOTSDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESPLOT_REPORTINGFILTER_PLOTSDEFVAR #include "Common_Types.idl" #include "Requests.idl" #include "Plot_Reporting.idl" module org { module omg { module c4i { module Service_Interfaces { module Sensor_Services { module Plot_Reporting { // This package contains interfaces for the Filter Plots service. module Filter_Plots { // Reports the parameters of one of the filters that are active for plots in the // communication and networking subsystem. Plots 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 plots are made available to other network segments. // The plot 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_plot_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::Plot_Reporting::plot_filter_parameters_type filter_value; }; #ifndef DDS_XTYPES #pragma keylist report_plot_filter_type subsystem_id #endif // Reports that a particular plot filter has been removed. // The interface to the CMS for receiving information relating to the filters used // to control which plots are made available to other network segments. // The plot 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 plot_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 plot_filter_removed_type subsystem_id #endif // struct holding keys for class add_plot_filter_type. struct add_plot_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 plots to the communication and networking subsystem. // The interface to the subsystem for receiving updates to the filters used to // control which plots are made available to other network segments. // The plot 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_plot_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 plots by org::omg::c4i::Domain_Model::Sensor_Domain::Plot_Reporting::plot_filter_parameters_type filter; }; #ifndef DDS_XTYPES #pragma keylist add_plot_filter_type request_id subsystem_id #endif // struct holding keys for class remove_plot_filter_type. struct remove_plot_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 plots from the communication and networking subsystem. // The interface to the subsystem for receiving updates to the filters used to // control which plots are made available to other network segments. // The plot 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_plot_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_plot_filter_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif