// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_CONTROLMANAGE_TRANSMISSION_SECTORSDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSENSOR_SERVICESSENSOR_CONTROLMANAGE_TRANSMISSION_SECTORSDEFVAR #include "Common_Types.idl" #include "Requests.idl" #include "Sensor_Control.idl" module org { module omg { module c4i { module Service_Interfaces { module Sensor_Services { module Sensor_Control { // This package contains interfaces for the Manage Transmission Sectors service. module Manage_Transmission_Sectors { // struct holding keys for class transmission_sector_setting_type. struct transmission_sector_setting_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; }; // Method used by the sensor to return the actual setting of the transmission // sectors and its changes (if any). // This determines the sectors where the sensor is allowed to radiate together with // the relevant transmission modes and parameters. Sectors may be delimited in // azimuth only, or both in azimuth and elevation; for each sector the sensor may be // requested either to no transmit at all or to apply a proper transmission mode. // Typical transmission sectors types are: // // sectors where the sensor is not allowed to radiate. Depending on the sensor type // and its capabilities, such a type of sectors may be delimited in azimuth only, or // both in azimuth and elevation. // // sectors where the sensor shall radiate at reduced power. Depending on the sensor // type and its capabilities, such a type of sectors may be delimited either in // azimuth only or both in azimuth and elevation. // // sectors where the sensor is required to apply a devoted transmission mode (see // Manage Frequency Usage). Depending on the sensor type and its // capabilities, such a type of sectors may be delimited either in azimuth only or // both in azimuth and elevation, but they may not overlap each other. // // sectors where the sensor is not allowed to radiate. Such a type of sectors may be // delimited in azimuth only, or both in azimuth and elevation, depending on the // sensor type and its capabilities. (Note: the same as "Transmit Inhibit Sectors”, // with the difference that sectors are defined in Ship’s Reference System.) // Provision of the sensor transmission sectors setting // Sensor shall keep CMS informed about the actual setting of the transmission // sectors and its changes (if any). // It is the CMS's responsibility to initiate the determination of initial state by // making a request for information to the subsystem. // Lack of mastership // In the case where CMS does not have mastership of the sensor, CMS shall be // informed about the actual setting of the transmission sectors and its changes (if // any). struct transmission_sector_setting_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::Sensor_Control::transmission_sector_set_type setting_message; }; #ifndef DDS_XTYPES #pragma keylist transmission_sector_setting_type request_id subsystem_id #endif // struct holding keys for class set_transmission_sector_type. struct set_transmission_sector_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; }; // Method used by the CMS to send a set/reset transmission sector request to the // sensor. // This is the Subsystem interface for managing transmission sectors. struct set_transmission_sector_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::Sensor_Control::transmission_sector_set_type sector; }; #ifndef DDS_XTYPES #pragma keylist set_transmission_sector_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif