// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSUBSYSTEM_SERVICESEXTENDED_SUBSYSTEM_CONTROLSHUTDOWNDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSUBSYSTEM_SERVICESEXTENDED_SUBSYSTEM_CONTROLSHUTDOWNDEFVAR #include "Requests.idl" #include "Subsystem_Control.idl" module org { module omg { module c4i { module Service_Interfaces { module Subsystem_Services { module Extended_Subsystem_Control { // Contains operations and sequence diagrams for the Shutdown interface. module Shutdown { // Interface used by CMS to receive an indication from the subsystem that it has // successfully performed shutdown. // The purpose of this interface is to transition the sub-system to the STANDBY // state from any other state as defined by Manage Technical State. Note: this shall // cause the Subsystem to cease radiating if it is in an ONLINE state with emissions // enabled. struct receive_shutdown_state_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 org::omg::c4i::Domain_Model::Subsystem_Domain::Subsystem_Control::technical_state_type technical_state; }; #ifndef DDS_XTYPES #pragma keylist receive_shutdown_state_type request_id #endif // Interface used by the subsystem to receive a request from the CMS to execute a // shutdown. struct perform_shutdown_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 }; #ifndef DDS_XTYPES #pragma keylist perform_shutdown_type request_id #endif }; }; }; }; }; }; }; #endif