// 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:
//
// - Transmit Inhibit Sectors
//
// 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.
//
// - Reduced Radiate Power Sectors
//
// 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.
//
// - Transmission Mode Sectors
//
// 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