// copyright 2013-2020 BAE Systems, Thales Group, Object Management Group Inc; 2013 Selex ES, DSTO, Atlas Elektronik, EADS Deutschland GmbH #ifndef ORGOMGC4ISERVICE_INTERFACESSUBSYSTEM_SERVICESSIMULATION_SUPPORTDEFINE_FAULT_SCRIPTSDEFVAR #define ORGOMGC4ISERVICE_INTERFACESSUBSYSTEM_SERVICESSIMULATION_SUPPORTDEFINE_FAULT_SCRIPTSDEFVAR #include "Common_Types.idl" #include "Requests.idl" #include "Simulation_Support.idl" module org { module omg { module c4i { module Service_Interfaces { module Subsystem_Services { module Simulation_Support { module Define_Fault_Scripts { // struct holding keys for class fault_script_summary_type. struct fault_script_summary_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; }; // This provides a list of all fault scripts for a subsystem to the CMS for // confirmation. // This enables a maintainer trainer to script a set of subsystem faults, the // effects of which would be simulated for training purposes. The faults may be // scripted in relation to a specific simulation scenario. Each fault script shall // include a unique identifier. struct fault_script_summary_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 // The list of fault scripts org::omg::c4i::Domain_Model::Subsystem_Domain::Simulation_Support::fault_scripts_type faults; }; #ifndef DDS_XTYPES #pragma keylist fault_script_summary_type request_id subsystem_id #endif // struct holding keys for class add_fault_scripts_type. struct add_fault_scripts_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; }; // Adds the given fault scripts to the subsystem's simulation. struct add_fault_scripts_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 // The fault scripts to be added org::omg::c4i::Domain_Model::Subsystem_Domain::Simulation_Support::fault_scripts_type scripts; }; #ifndef DDS_XTYPES #pragma keylist add_fault_scripts_type request_id subsystem_id #endif // struct holding keys for class remove_fault_scripts_type. struct remove_fault_scripts_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; }; // Removes the given fault scripts from the subsystem's simulation. struct remove_fault_scripts_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 // The ids of the fault scripts to be removed org::omg::c4i::Domain_Model::Subsystem_Domain::Simulation_Support::fault_script_ids_type fault_scripts; }; #ifndef DDS_XTYPES #pragma keylist remove_fault_scripts_type request_id subsystem_id #endif }; }; }; }; }; }; }; #endif