Files
qt5-legatus-legacy/Lts/Services/ParticipantManagement/ppm_service.xml
T
2026-08-13 18:33:10 +02:00

1145 lines
69 KiB
XML
Executable File

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<service namespace="ParticipantManagement" abbreviation="PPM" procNames="ParticipantManagement" customRecordReplay="1" exerciseDependency="Global,Exercise" groups="Core,ExercisePreparation,ExerciseExecution,ExercisePaused,ExerciseAfterActionReview" prio="2">
<rcs>
<Id Id="$Id$"/>
<HeadURL HeadURL="$HeadURL$"/>
<Author Author="$Author$"/>
</rcs>
<operatorRights offset="27">
<guiPlugin name="Msdl" offset="6">
<operatorRightGroup name="MSDL Im/Export" description="Allowing MSDL Import and Export">
<operatorRight right="MsdlImportExport" value="1" description="Allowing MSDL Import and Export"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="OperationalPlanning" offset="7">
<operatorRightGroup name="Operational Planning" description="View Operational Plannings">
<operatorRight right="OperationalPlanningView" value="1" description="View Operational Plannings"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="ParticipantEdit" offset="1">
<operatorRightGroup name="Edit Participants" description="Edit and Organise Participants and Support Participants. Execute Tactical Organisation">
<operatorRight right="ParticipantsEdit" value="1" description="Edit Participants"/>
<operatorRight right="ParticipantsOrganise" value="2" description="Organise Participants"/>
<operatorRight right="SupportParticipantsEdit" value="3" description="Edit Support Participants"/>
<operatorRight right="SupportParticipantsOrganise" value="4" description="Organise Support Participants"/>
<operatorRight right="TacticalParticipantOrganisation" value="5" description="Tactical Participant Organisation"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="ParticipantInfo" offset="2">
<operatorRightGroup name="Participant Info Dialogs" description="Show Participant Info Window and Table, allow Participant Search, Send Config and Text Messages to Participants">
<operatorRight right="ParticipantInfoWindowShow" value="1" description="Show Participant Info Window"/>
<operatorRight right="ParticipantInfoSearch" value="2" description="Search Participant by Equipment Number"/>
<operatorRight right="ParticipantInfoTableShow" value="3" description="Show Participant Info Table"/>
<operatorRight right="ParticipantInfoSendMessage" value="4" description="Send short message to participant"/>
<operatorRight right="ParticipantInfoSendConfig" value="5" description="Send Participant Status (State / Mode / Resurrect)"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="ParticipantTemplates" offset="3">
<operatorRightGroup name="Participant Templates" description="Edit Participant and Support Participant Templates">
<operatorRight right="ParticipantTemplatesShow" value="1" description="Show Participant Templates"/>
<operatorRight right="ParticipantTemplatesEdit" value="2" description="Edit Participant Templates"/>
<operatorRight right="SupportParticipantTemplatesShow" value="3" description="Show Support Participant Templates"/>
<operatorRight right="SupportParticipantTemplatesEdit" value="4" description="Edit Support Participant Templates"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="ParticipantTypeEdit" offset="5">
<operatorRightGroup name="Participant Types" description="Edit Participant Types">
<operatorRight right="ParticipantTypesShow" value="1" description="Show Participant Types"/>
<operatorRight right="ParticipantTypesEdit" value="2" description="Edit Participant Types"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="PartyEdit" offset="4">
<operatorRightGroup name="Parties" description="Edit Parties">
<operatorRight right="PartiesShow" value="1" description="Show Parties"/>
<operatorRight right="PartiesEdit" value="2" description="Edit Parties"/>
</operatorRightGroup>
</guiPlugin>
<guiPlugin name="Uas" offset="8">
<operatorRightGroup name="Uas" description="Edit and link Uas to participants">
<operatorRight right="EditAndLinkUas" value="1" description="Edit and link Uas to participants"/>
</operatorRightGroup>
</guiPlugin>
</operatorRights>
<tables>
<table name="ppm_equipment_exercise_mapping" exerciseDependency="Global">
<column name="id" datatype="bigint" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="equipment_number" datatype="integer"/>
<column name="participant_id" datatype="integer"/>
<column name="exercise_id" datatype="integer" isForeignKey="1"/>
<constraint name="IDX_ppm_equipment_exercise_mapping_exericse_id" type="index">
<column name="exercise_id"/>
</constraint>
<constraint name="UQ_ppm_equipment_exercise_mapping" type="unique">
<column name="equipment_number"/>
<column name="exercise_id"/>
</constraint>
<foreignKey name="FK_ppm_equipment_exercise_mapping_exercise">
<source table="ppm_equipment_exercise_mapping" column="exercise_id"/>
<destination service="ExerciseManagement" serviceAbbr="exm" schema="exm" table="exercise" column="id"/>
</foreignKey>
</table>
<table name="ppm_equipment_type" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1"/>
<column name="name" datatype="text"/>
<column name="min_equip_no" datatype="integer"/>
<column name="max_equip_no" datatype="integer"/>
<column name="tra_vulnerability_model_id" datatype="integer"/>
<column name="tra_player_type_id" datatype="integer"/>
<column name="wms_type_class_id" datatype="integer" isForeignKey="1"/>
<column name="deleted_in_wms" datatype="boolean"/>
<foreignKey name="FK_ppm_equipment_type_ppm_wms_type_class">
<source table="ppm_equipment_type" column="wms_type_class_id"/>
<destination table="ppm_wms_type_class" column="id"/>
</foreignKey>
</table>
<table name="ppm_participant">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="assign_state" datatype="integer" isForeignKey="1"/>
<column name="party_id" datatype="integer" isForeignKey="1"/>
<column name="type_id" datatype="integer" isForeignKey="1"/>
<column name="external_id" datatype="bigint" comment="HLA Id (EntityIdentifierStruct)"/>
<column name="designator" datatype="text"/>
<column name="equipment_number" datatype="integer"/>
<column name="hierarchy_number" datatype="integer"/>
<column name="identification" datatype="text" default="''"/>
<column name="info" datatype="text"/>
<column name="is_deleted" datatype="boolean"/>
<column name="is_simulated" datatype="boolean"/>
<column name="name" datatype="text"/>
<column name="superior_id" datatype="integer"/>
<column name="symbol" datatype="text"/>
<column name="tactical_identifier" datatype="text"/>
<column name="properties" datatype="jsonb"/>
<foreignKey name="FK_ppm_participant_ppm_participant_assign_state">
<source table="ppm_participant" column="assign_state"/>
<destination schema="ppm" table="ppm_participant_assign_state" column="id"/>
</foreignKey>
<foreignKey name="FK_ppm_participant_ppm_party">
<source table="ppm_participant" column="party_id"/>
<destination table="ppm_party" column="id"/>
</foreignKey>
<foreignKey name="FK_ppm_participant_ppm_type">
<source table="ppm_participant" column="type_id"/>
<destination schema="ppm" table="ppm_type" column="id"/>
</foreignKey>
</table>
<table name="ppm_participant_assign_state" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="ppm_participant_organisation">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="participant_id" datatype="integer"/>
<column name="origin_party_id" datatype="integer"/>
<column name="current_party_id" datatype="integer"/>
<column name="is_attached" datatype="boolean"/>
<column name="is_cooperate" datatype="boolean"/>
</table>
<table name="ppm_party" comment="sequence .id starts at 0 (Pool)" exerciseDependency="Global,Exercise">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="0" increment="1"/>
</column>
<column name="role_id" datatype="integer" isForeignKey="1"/>
<column name="name" datatype="text"/>
<column name="color" datatype="integer"/>
<column name="fading_color" datatype="integer"/>
<column name="is_used_by" datatype="boolean" comment="when false, party can be deleted"/>
<column name="hla_force_identifier" datatype="integer" comment="HLA Force Identifier Enum"/>
<column name="properties" datatype="jsonb"/>
<foreignKey name="FK_ppm_party_ppm_role">
<source table="ppm_party" column="role_id"/>
<destination table="ppm_role" column="id"/>
</foreignKey>
</table>
<table name="ppm_register_return_value" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="ppm_role" exerciseDependency="Global,Exercise">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="ppm_special_sensor_status" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="ppm_target_information">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="participant_id" datatype="integer" isForeignKey="1"/>
<column name="pre_warning_interval" datatype="integer"/>
<column name="pre_warning_effect" datatype="integer"/>
<column name="take_down_interval" datatype="integer"/>
<column name="take_down_effect" datatype="integer"/>
<column name="silhouette_id" datatype="integer"/>
<column name="properties" datatype="jsonb"/>
<foreignKey name="FK_ppm_target_information_ppm_participant" referential_integrity="DeleteCascade">
<source table="ppm_target_information" column="participant_id"/>
<destination table="ppm_participant" column="id"/>
</foreignKey>
</table>
<table name="ppm_template" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="type_id" datatype="integer" isForeignKey="1"/>
<column name="superior_id" datatype="integer"/>
<column name="name" datatype="text"/>
<column name="info" datatype="text"/>
<column name="tactical_identifier" datatype="text"/>
<column name="designator" datatype="text"/>
<column name="symbol" datatype="text"/>
<column name="hierarchy_number" datatype="integer"/>
<column name="equipment_number" datatype="integer"/>
<foreignKey name="FK_ppm_template_ppm_type">
<source table="ppm_template" column="type_id"/>
<destination table="ppm_type" column="id"/>
</foreignKey>
</table>
<table name="ppm_type" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="type_class_id" datatype="integer" isForeignKey="1"/>
<column name="equipment_type_id" datatype="integer" isOptional="1" isForeignKey="1"/>
<column name="name" datatype="text"/>
<column name="symbol" datatype="text"/>
<column name="radio_count" datatype="integer" comment="Number of radios - important for Combat Net Radio focal point calculation"/>
<column name="hierarchy_level" datatype="integer" comment="0..9 (0 = lowest)"/>
<column name="is_deleted" datatype="boolean"/>
<column name="dis_entities" datatype="bigint[]"/>
<column name="properties" datatype="jsonb"/>
<foreignKey name="FK_ppm_type_ppm_type_class">
<source table="ppm_type" column="type_class_id"/>
<destination table="ppm_type_class" column="id"/>
</foreignKey>
<foreignKey name="FK_ppm_type_ppm_equipment_type">
<source table="ppm_type" column="equipment_type_id"/>
<destination table="ppm_equipment_type" column="id"/>
</foreignKey>
</table>
<table name="ppm_type_class" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="ppm_uas" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1" comment="internal id">
<sequence start="1" increment="1"/>
</column>
<column name="device_identifier" datatype="text" comment="external id from the device"/>
<column name="participant_id" datatype="integer"/>
<column name="uas_state_id" datatype="integer" />
<column name="exercise_id" datatype="integer"/>
<column name="hostname" datatype="text"/>
<column name="hostport" datatype="integer"/>
<column name="use_tcp" datatype="boolean"/>
</table>
<table name="ppm_wms_type_class" exerciseDependency="Global">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
</table>
<table name="ppm_mission_action" exerciseDependency="Exercise">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="element_number" datatype="integer" comment="Sorting of items that belong to the same MissionItem"/>
<column name="name" datatype="text"/>
<column name="duration" datatype="integer"/>
<column name="mission_action_type_id" datatype="integer" isForeignKey="1"/>
<column name="properties" datatype="jsonb"/>
<column name="mission_item_id" datatype="integer" isForeignKey="1"/>
<column name="fulfilled" datatype="timestamp" comment="Timestamp when the action was fulfilled"/>
<foreignKey name="FK_ppm_mission_action_ppm_mission_action_type">
<source table="ppm_mission_action" column="mission_action_type_id"/>
<destination table="ppm_mission_action_type" column="id"/>
</foreignKey>
<foreignKey name="FK_ppm_mission_action_ppm_mission_item">
<source table="ppm_mission_action" column="mission_item_id"/>
<destination table="ppm_mission_item" column="id"/>
</foreignKey>
</table>
<table name="ppm_mission_action_type">
<column name="id" datatype="integer" isPrimaryKey="1"/>
<column name="name" datatype="text"/>
</table>
<table name="ppm_mission_item">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="element_number" datatype="integer" comment="Sorting of items within a mission plan"/>
<column name="name" datatype="text"/>
<column name="location" datatype="point_3d"/>
<column name="time_offset" datatype="integer"/>
<column name="mission_plan_id" datatype="integer" isForeignKey="1"/>
<foreignKey name="FK_ppm_mission_item_ppm_mission_plan">
<source table="ppm_mission_item" column="mission_plan_id"/>
<destination table="ppm_mission_plan" column="id"/>
</foreignKey>
</table>
<table name="ppm_mission_plan">
<column name="id" datatype="integer" isPrimaryKey="1">
<sequence start="1" increment="1"/>
</column>
<column name="name" datatype="text"/>
<column name="mission_start" datatype="timestamp"/>
<column name="participant_id" datatype="integer"/>
<column name="jump_to_start" datatype="boolean"/>
<column name="repeat" datatype="boolean"/>
<column name="aborted" datatype="boolean"/>
</table>
</tables>
<views/>
<dbServiceStructs>
<serviceStruct name="EquipmentExerciseMapping" table="ppm_equipment_exercise_mapping">
<function name="removeEquipmentExerciseMapping" returns="bool">
<parameter pos="1" name="equipmentExerciseMapping" type="const Database::EquipmentExerciseMapping &amp;"/>
</function>
</serviceStruct>
<serviceStruct name="PpmEquipmentType" table="ppm_equipment_type"/>
<serviceStruct name="PpmParticipant" table="ppm_participant"/>
<serviceStruct name="PpmParticipantOrganisation" table="ppm_participant_organisation"/>
<serviceStruct name="PpmParty" table="ppm_party"/>
<serviceStruct name="PpmTargetInformation" table="ppm_target_information"/>
<serviceStruct name="PpmTemplate" table="ppm_template"/>
<serviceStruct name="PpmType" table="ppm_type"/>
<serviceStruct name="PpmUas" table="ppm_uas"/>
<serviceStruct name="PpmMissionAction" table="ppm_mission_action"/>
<serviceStruct name="PpmMissionItem" table="ppm_mission_item"/>
<serviceStruct name="PpmMissionPlan" table="ppm_mission_plan"/>
<table name="ppm_equipment_exercise_mapping"/>
<table name="ppm_equipment_type"/>
<table name="ppm_participant"/>
<table name="ppm_participant_organisation"/>
<table name="ppm_party"/>
<table name="ppm_target_information"/>
<table name="ppm_template"/>
<table name="ppm_type"/>
<table name="ppm_mission_action"/>
<table name="ppm_mission_item"/>
<table name="ppm_mission_plan"/>
</dbServiceStructs>
<topicTypes>
<topicType name="Equipment2ParticipantId">
<column name="equipmentNumber" idlType="long"/>
<column name="participantId" idlType="long"/>
</topicType>
<topicType name="ModifyTargetInformationRequest">
<column name="targetInfo" idlType="TargetInformation"/>
</topicType>
<topicType name="Reammunition">
<column name="chargeTypeId" idlType="long"/>
<column name="newStock" idlType="long"/>
<column name="newDefaultStock" idlType="long"/>
<column name="tracerRatio" idlType="long"/>
</topicType>
<topicType name="RemoveTargetInformationRequest">
<column name="id" idlType="long"/>
</topicType>
<topicType name="SanitationMaterial">
<column name="materialId" idlType="long"/>
<column name="materialCount" idlType="long"/>
</topicType>
<topicType name="SelectiveReammunitionRequest">
<column name="id" idlType="long"/>
<column name="gearId" idlType="long"/>
<column name="reammunition" idlType="sequence&lt;Reammunition&gt;"/>
</topicType>
<topicType name="Bite" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="equipmentNumber" idlType="long" isKey="1" comment="key because BITE messages can also occur for non-registered participants"/>
<column name="participantId" idlType="long"/>
<column name="sampleTime" idlType="long long"/>
<column name="registerType" idlType="long"/>
<column name="biteState" idlType="long"/>
<column name="configState" idlType="long"/>
<column name="batteryState" idlType="long"/>
<column name="configError" idlType="boolean"/>
<column name="biteErrors" idlType="sequence&lt;BiteError&gt;"/>
</topicType>
<topicType name="BiteError">
<column name="errorNumber" idlType="long"/>
<column name="canDeviceNumber" idlType="long"/>
<column name="subdeviceNumber" idlType="long"/>
<column name="uniqueId" idlType="long"/>
</topicType>
<topicType name="CtaError" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="equipmentNumber" idlType="long" isKey="1"/>
<column name="timeReceipt" idlType="long long"/>
<column name="timePlayerUnit" idlType="long long"/>
<column name="errorReason" idlType="ProjectDataManagement::DataErrorReason"/>
<column name="telegramId" idlType="long"/>
</topicType>
<topicType name="DynamicData">
<column name="stateHistory" idlType="sequence&lt;StateInformation&gt;" comment="StateInformation with the latest stateTime represents the current state"/>
<column name="gear" idlType="sequence&lt;GearInformation&gt;"/>
<column name="sanitationUniqueId" idlType="long" comment="Lower 8 bits = sensor state, next 8 Bits = CSF state"/>
<column name="qualification" idlType="Qualification"/>
<column name="sanitationOriginatorEquipNo" idlType="long" comment="Lower 8 bits = sensor state, next 8 Bits = CSF state"/>
<column name="sanitationMaterialStock" idlType="sequence&lt;SanitationMaterial&gt;"/>
<column name="manipulation" idlType="sequence&lt;ManipulationInformation&gt;" comment="if empty, there is no manipulation"/>
<column name="hasNbcProtectionActive" idlType="boolean"/>
<column name="hasNbcProtectionConfigured" idlType="boolean"/>
<column name="specialSensorDataState" idlType="long" comment="Lower 8 bits = sensor state, next 8 Bits = CSF state"/>
<column name="designations" idlType="sequence&lt;LaserDesignation&gt;"/>
</topicType>
<topicType name="DynamicParticipantData" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="DynamicData">
<column name="participantId" idlType="long" isKey="1"/>
<column name="sampleTime" idlType="long long"/>
</topicType>
<topicType name="EquipmentExerciseMapping" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="exerciseId" idlType="long" isKey="1"/>
<column name="mapping" idlType="sequence&lt;Equipment2ParticipantId&gt;"/>
</topicType>
<topicType name="EquipmentSystemEvent" isDataObject="1" autosubscribe="0" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="EquipmentSystemEventBase">
<column name="sampleTime" idlType="long long"/>
</topicType>
<topicType name="EquipmentSystemEventBase">
<column name="id" idlType="long long" isKey="1"/>
<column name="equipmentNumber" idlType="long"/>
<column name="position" idlType="Core::GeoPosition"/>
<column name="equipmentFunctionId" idlType="long"/>
<column name="subDeviceId" idlType="long"/>
<column name="uniqueDeviceId" idlType="long"/>
<column name="deviceSpecificEventCode" idlType="long"/>
<column name="eventData" idlType="sequence&lt;octet&gt;" isOptional="1"/>
</topicType>
<topicType name="EquipmentSystemEventFtcReply" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" baseValueType="EquipmentSystemEventBase">
<column name="timeStamp" idlType="long long"/>
<column name="filterId" idlType="long"/>
</topicType>
<topicType name="EquipmentType" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="id" idlType="long" isKey="1"/>
<column name="name" idlType="string"/>
<column name="wmsTypeClass" idlType="WmsTypeClass"/>
<column name="minEquipNo" idlType="long"/>
<column name="maxEquipNo" idlType="long"/>
<column name="traVulnerabilityModelId" idlType="long"/>
<column name="traPlayerTypeId" idlType="long"/>
<column name="deletedInWms" idlType="boolean"/>
</topicType>
<topicType name="ExistingMedicalSupplies" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="participantId" idlType="long" isKey="1"/>
<column name="sampleTime" idlType="long long"/>
<column name="list" idlType="sequence&lt;MedicalSupply&gt;"/>
</topicType>
<topicType name="GearCharge">
<column name="gearId" idlType="long"/>
<column name="gearTypeId" idlType="long"/>
<column name="chargeTypeId" idlType="long"/>
<column name="remain" idlType="long"/>
</topicType>
<topicType name="GearInformation">
<column name="gearId" idlType="long"/>
<column name="gearTypeId" idlType="long"/>
<column name="chargeTypeId" idlType="long"/>
<column name="remain" idlType="long"/>
<column name="lastUpdate" idlType="long long"/>
<column name="chargeCounting" idlType="boolean"/>
</topicType>
<topicType name="HitLineInfo" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="id" idlType="long" isKey="1"/>
<column name="chargeTypeId" idlType="long"/>
<column name="originatorParticipantId" idlType="long"/>
<column name="originatorPartyId" idlType="long" comment="to obtain party color"/>
<column name="originatorPos" idlType="Core::GeoPosition" comment="Core::Position"/>
<column name="originatorBuildingId" idlType="long" comment="When an entity is outside of a building, the ID is 0"/>
<column name="originatorRoomId" idlType="long" comment="When an entity is outside a room, the ID is 0."/>
<column name="injuryParticipantId" idlType="long"/>
<column name="injuryPos" idlType="Core::GeoPosition" comment="Core::Position"/>
<column name="injuryBuildingId" idlType="long" comment="When an entity is outside of a building, the ID is 0."/>
<column name="injuryRoomId" idlType="long" comment="When an entity is outside a room, the ID is 0."/>
<column name="sampleTime" idlType="long long"/>
</topicType>
<topicType name="LaserDesignation">
<column name="gearId" idlType="long"/>
<column name="spotLocation" idlType="Core::GeoPosition"/>
<column name="code" idlType="long" comment="Actually a non used Enum with either OTHER or TBD"/>
<column name="outputPower" idlType="double" comment="Output Power of the laser in [W], Dynamic Data will suppress this struct as Optional when power == 0.0"/>
</topicType>
<topicType name="ManipulationInformation">
<column name="equipmentFunctionId" idlType="long"/>
<column name="manipulationTime" idlType="long long"/>
</topicType>
<topicType name="Participant" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="ParticipantBase">
<column name="sampleTime" idlType="long long"/>
<column name="superiorId" idlType="long" comment="participantId of this participants superior"/>
<column name="inferiorIds" idlType="sequence&lt;long&gt;"/>
</topicType>
<topicType name="ParticipantBase">
<column name="id" idlType="long" isKey="1"/>
<column name="partyId" idlType="long"/>
<column name="hierarchyNumber" idlType="long"/>
<column name="equipmentNumber" idlType="long" isOptional="1" comment="optional because units do not have an equipment number"/>
<column name="typeId" idlType="long"/>
<column name="externalId" idlType="long long" comment="HLA Id (Entity Identifier Struct)"/>
<column name="symbol" idlType="string"/>
<column name="name" idlType="string"/>
<column name="identification" idlType="string"/>
<column name="designator" idlType="string"/>
<column name="tacticalIdentifier" idlType="string"/>
<column name="info" idlType="string"/>
<column name="assignState" idlType="ParticipantAssignState" comment="only a transition from NotAssigned to HandoutExcon, HandoutWms to ExconWmsOverruled, or any to NotAssigned is allowed"/>
<column name="isSimulated" idlType="boolean"/>
<column name="isDeleted" idlType="boolean"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="ParticipantData" baseValueType="ParticipantBase">
<column name="modId" idlType="long" comment="Generated by the client"/>
<column name="superiorModId" idlType="long" comment="mod of this participants superior"/>
</topicType>
<topicType name="ParticipantGearEvent" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="participantId" idlType="long" isKey="1"/>
<column name="sampleTime" idlType="long long"/>
<column name="chargeAmount" idlType="long"/>
<column name="charge" idlType="GearCharge"/>
</topicType>
<topicType name="ParticipantMode" isDataObject="1" autosubscribe="0" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1" baseValueType="ParticipantModeData">
<column name="participantId" idlType="long" isKey="1"/>
<column name="sampleTime" idlType="long long"/>
</topicType>
<topicType name="ParticipantModeData" extensibility="EXTENSIBLE">
<column name="language" idlType="ProjectDataManagement::LanguageConfiguration"/>
<column name="opMode" idlType="ProjectDataManagement::OperationMode"/>
<column name="reactivationDecontamination" idlType="long"/>
<column name="reactivationMaintenance" idlType="long"/>
<column name="reactivationMedic" idlType="long"/>
<column name="modeVest" idlType="ProjectDataManagement::WphMode"/>
<column name="modeHelmet" idlType="ProjectDataManagement::WphMode"/>
<column name="modePersonalProtection" idlType="ProjectDataManagement::PersonalProtection"/>
<column name="protectionLevel" idlType="ProjectDataManagement::ProtectionLevel"/>
<column name="handgrenadeSearchMode" idlType="ProjectDataManagement::HandgrenadeSearchMode"/>
<column name="internationalMode" idlType="ProjectDataManagement::InternationalMode"/>
<column name="abcProtectionMode" idlType="ProjectDataManagement::ABCProtectionMode"/>
</topicType>
<topicType name="ParticipantOrganisation" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="participantId" idlType="long" isKey="1"/>
<column name="originPartyId" idlType="long"/>
<column name="currentPartyId" idlType="long"/>
<column name="isAttached" idlType="boolean"/>
<column name="isCooperate" idlType="boolean"/>
</topicType>
<topicType name="ParticipantPosition" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="participantId" idlType="long" isKey="1"/>
<column name="participantTypeId" idlType="long" comment="needed for report generation"/>
<column name="sampleTime" idlType="long long"/>
<column name="pos" idlType="Core::GeoPosition" comment="Core::Position"/>
<column name="partyId" idlType="long"/>
<column name="buildingId" idlType="long" comment="When an entity is outside of a building, the ID is 0."/>
<column name="roomId" idlType="long" comment="When an entity is outside a room, the ID is 0."/>
<column name="reportingSource" idlType="Core::PositionReportingSource"/>
<column name="mountedOn" idlType="long" isOptional="1"/>
<column name="mountedParticipants" idlType="sequence&lt;long&gt;" isOptional="1"/>
</topicType>
<topicType name="Party" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="id" idlType="long" isKey="1"/>
<column name="name" idlType="string" isTranslatable="1"/>
<column name="color" idlType="long"/>
<column name="fadingColor" idlType="long"/>
<column name="role" idlType="Role"/>
<column name="isUsedBy" idlType="boolean" comment="when false, party can be deleted"/>
<column name="sampleTime" idlType="long long"/>
<column name="hlaForceIdentifier" idlType="HlaForceIdentifierEnum" comment="ForceIdentifier on HLA"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="Sanitation" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1" recordTopic="1">
<column name="participantId" idlType="long" isKey="1"/>
<column name="sampleTime" idlType="long long"/>
<column name="data" idlType="SanitationData"/>
</topicType>
<topicType name="SanitationData">
<column name="originatorEquipmentNumber" idlType="long" comment="participantId of treating (Id des Behandelnden)"/>
<column name="qualification" idlType="Qualification"/>
<column name="sanitationProceduresTaken" idlType="long long" comment="Sanitaetsmassnahmen"/>
</topicType>
<topicType name="ShootbackArea">
<column name="identifier" idlType="string"/>
<column name="coord1" idlType="Core::GeoPosition2D"/>
<column name="coord2" idlType="Core::GeoPosition2D"/>
<column name="coord3" idlType="Core::GeoPosition2D"/>
<column name="coord4" idlType="Core::GeoPosition2D"/>
</topicType>
<topicType name="StateInformation">
<column name="vulnerabilityState" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="vulnerabilityBits" idlType="long"/>
<column name="vulnerabilityKindId" idlType="long" comment="this id refers to an appropriate datatopic from the project data management service"/>
<column name="originatorId" idlType="long" comment="Can be participant, aes, oc or excon depending on originatorType"/>
<column name="originatorType" idlType="ProjectDataManagement::StateChangeOriginator"/>
<column name="originatorChargeTypeId" idlType="long"/>
<column name="stateTime" idlType="long long" comment="can not be called t-i-m-e-s-t-a-m-p because it may be a reserverd keyword"/>
<column name="vitality" idlType="long" comment="in percent"/>
<column name="sanitationProceduresTaken" idlType="long long" comment="useCustomFunction"/>
<column name="sanitationResult" idlType="SanitationResult"/>
<column name="sanitationEvaluation" idlType="SanitationEvaluation"/>
</topicType>
<topicType name="TargetInformation" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="id" idlType="long" isKey="1"/>
<column name="participantId" idlType="long"/>
<column name="sampleTime" idlType="long long"/>
<column name="prewarningInterval" idlType="long"/>
<column name="prewarningEffect" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="takedownInterval" idlType="long"/>
<column name="takedownEffect" idlType="ProjectDataManagement::VulnerabilityState"/>
<column name="silhouette" idlType="long"/>
<column name="shootbackAreas" idlType="sequence&lt;ShootbackArea&gt;"/>
</topicType>
<topicType name="TemplateBase">
<column name="templateId" idlType="long" isKey="1"/>
<column name="hierarchyNumber" idlType="long"/>
<column name="equipmentNumber" idlType="long"/>
<column name="typeId" idlType="long"/>
<column name="symbol" idlType="string"/>
<column name="name" idlType="string"/>
<column name="designator" idlType="string"/>
<column name="tacticalIdentifier" idlType="string"/>
<column name="info" idlType="string"/>
</topicType>
<topicType name="TemplateData" baseValueType="TemplateBase">
<column name="modId" idlType="long" comment="generated by the client"/>
<column name="superiorModId" idlType="long"/>
<column name="isDeleted" idlType="boolean" comment="if true, the template gets deleted"/>
</topicType>
<topicType name="TemplateParticipant" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" baseValueType="TemplateBase">
<column name="superiorTemplateId" idlType="long"/>
<column name="inferiorIds" idlType="sequence&lt;long&gt;" isOptional="1"/>
</topicType>
<topicType name="Type" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="1">
<column name="id" idlType="long" isKey="1"/>
<column name="typeClass" idlType="TypeClass"/>
<column name="equipmentTypeId" idlType="long"/>
<column name="symbol" idlType="string"/>
<column name="name" idlType="string" isTranslatable="1"/>
<column name="radioCount" idlType="long" comment="Number of radios - important for Combat Net Radio focal point calculation"/>
<column name="hierarchyLevel" idlType="long"/>
<column name="isDeleted" idlType="boolean"/>
<column name="disEntities" idlType="sequence&lt;long long&gt;"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="UAS" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="deviceIdentifier" idlType="string" comment="external id from the device"/>
<column name="exerciseId" idlType="long"/>
<column name="id" idlType="long" isKey="1" comment="internal id"/>
<column name="hostname" idlType="string"/>
<column name="participantId" idlType="long" comment="id of the linked participant. 0 = no link"/>
<column name="hostport" idlType="long"/>
<column name="uasState" idlType="ProjectDataManagement::UasState"/>
<column name="sampleTime" idlType="long long"/>
<column name="useTcp" idlType="boolean"/>
</topicType>
<topicType name="UASRadioLinkConnectionStatus" isDataObject="1">
<column name="id" idlType="long" isKey="1" comment="internal id"/>
<column name="uasState" idlType="ProjectDataManagement::UasState"/>
</topicType>
<topicType name="UnitPosition" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="participantId" idlType="long" isKey="1"/>
<column name="sampleTimeLeader" idlType="long long"/>
<column name="sampleTimeCenter" idlType="long long"/>
<column name="positionLeader" idlType="Core::GeoPosition"/>
<column name="positionCenter" idlType="Core::GeoPosition"/>
</topicType>
<topicType name="CallBiteRequest">
<column name="withSelfTest" idlType="boolean"/>
<column name="participantIds" idlType="sequence&lt;long&gt;"/>
</topicType>
<topicType name="ChangePartyUsedStateRequest">
<column name="partyId" idlType="long"/>
<column name="isUsedBy" idlType="boolean"/>
</topicType>
<topicType name="CreateModifyUasRequest">
<column name="id" idlType="long" isKey="1" comment="the internal id. 0 = create"/>
<column name="deviceIdentifier" idlType="string" comment="external id from the device"/>
<column name="participantId" idlType="long" comment="id of the linked participant. 0 = no link"/>
<column name="configurationXMLId" idlType="long"/>
<column name="exerciseId" idlType="long"/>
<column name="hostname" idlType="string"/>
<column name="hostport" idlType="long"/>
<column name="useTcp" idlType="boolean"/>
<column name="properties" idlType="string"/>
</topicType>
<topicType name="ModifyUasStateRequest">
<column name="uasId" idlType="long" isKey="1" comment="the internal id. 0 = create"/>
<column name="uasState" idlType="ProjectDataManagement::UasState"/>
<column name="equipmentNumber" idlType="long"/>
</topicType>
<topicType name="RemoveUasRequest">
<column name="id" idlType="long"/>
</topicType>
<topicType name="EquipmentSystemEventDataRequest">
<column name="startTime" idlType="long long"/>
<column name="endTime" idlType="long long"/>
<column name="equipmentFunctionId" idlType="long"/>
<column name="subDeviceId" idlType="long"/>
<column name="deviceSpecificEventCode" idlType="long"/>
</topicType>
<topicType name="GetParticipantsReply" baseValueType="Core::FunctionReply">
<column name="participants" idlType="sequence&lt;Participant&gt;"/>
<column name="requestId" idlType="long"/>
</topicType>
<topicType name="GetParticipantsRequest">
<column name="requestId" idlType="long"/>
<column name="partyId" idlType="long"/>
<column name="timeStamp" idlType="long long"/>
</topicType>
<topicType name="InitParticipantRequest">
<column name="participantIds" idlType="sequence&lt;long&gt;"/>
<column name="workstationId" idlType="long"/>
<column name="restockCharges" idlType="boolean"/>
<column name="resetManipulation" idlType="boolean"/>
<column name="resetVulnerabilityState" idlType="boolean"/>
<column name="restockSanitationMaterial" idlType="boolean"/>
</topicType>
<topicType name="MedicalSupply">
<column name="number" idlType="long" comment="lfd. Nr. in der Auflistung /11/ EVG-Ausstattungsliste EH B "/>
<column name="medicalSupply" idlType="long" comment="Bestand SanMaterialien"/>
<column name="count" idlType="long" comment="Anzahl SanMat"/>
</topicType>
<topicType name="ModifyEquipmentTypeDataRequest">
<column name="data" idlType="sequence&lt;EquipmentType&gt;"/>
<column name="deleteAll" idlType="boolean"/>
</topicType>
<topicType name="ModifyParticipantDataRequest">
<column name="requestId" idlType="long"/>
<column name="data" idlType="sequence&lt;ParticipantData&gt;"/>
<column name="participantOrganisation" idlType="ParticipantOrganisation" isOptional="1"/>
<column name="forceAddWithId" idlType="boolean"/>
</topicType>
<topicType name="ModifyStateRequest">
<column name="participantIds" idlType="sequence&lt;long&gt;"/>
<column name="workstationId" idlType="long"/>
<column name="vulnerabilityState" idlType="ProjectDataManagement::VulnerabilityState" comment="enum ProjectDataManagement::VulnerabilityState"/>
<column name="vulnerabilityKind" idlType="long"/>
<column name="vitality" idlType="long"/>
</topicType>
<topicType name="ModifyTemplateDataRequest">
<column name="data" idlType="sequence&lt;TemplateData&gt;"/>
</topicType>
<topicType name="RegisterParticipantRequest">
<column name="participantId" idlType="long"/>
<column name="equipmentNumber" idlType="long"/>
<column name="assignState" idlType="ParticipantAssignState"/>
<column name="identification" idlType="string" comment="was A - l - i - a - s"/>
<column name="info" idlType="string"/>
</topicType>
<topicType name="RegisterReply" baseValueType="Core::FunctionReply">
<column name="registerReturnValue" idlType="RegisterReturnValue"/>
<column name="exerciseId" idlType="long"/>
</topicType>
<topicType name="RemovePartyRequest">
<column name="partyId" idlType="long"/>
</topicType>
<topicType name="RemoveTypeRequest">
<column name="typeId" idlType="long"/>
</topicType>
<topicType name="SendMessageRequest">
<column name="participantIds" idlType="sequence&lt;long&gt;"/>
<column name="message" idlType="string"/>
</topicType>
<topicType name="SetAsSimulated" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0">
<column name="participantId" idlType="long"/>
<column name="setSimulated" idlType="boolean"/>
</topicType>
<topicType name="SetParticipantModeRequest" baseValueType="ParticipantModeData">
<column name="participantId" idlType="long"/>
</topicType>
<topicType name="SetSanitationRequest">
<column name="id" idlType="long"/>
<column name="timeStamp" idlType="long long"/>
<column name="data" idlType="SanitationData"/>
</topicType>
<topicType name="SetSimulatedPosition">
<column name="participantId" idlType="long"/>
<column name="position" idlType="Core::GeoPosition"/>
<column name="onlyOutdatedParticipants" idlType="boolean"/>
</topicType>
<topicType name="SetSimulatedPositionRelative">
<column name="participantId" idlType="long"/>
<column name="positionOffsetX" idlType="double"/>
<column name="positionOffsetY" idlType="double"/>
</topicType>
<topicType name="SetSimulatedParticipantFormation">
<column name="participantId" idlType="long"/>
<column name="position" idlType="Core::GeoPosition"/>
<column name="positionOffsetX" idlType="double"/>
<column name="positionOffsetY" idlType="double"/>
<column name="formation" idlType="string"/>
</topicType>
<topicType name="SyncPartiesRequest">
<column name="id" idlType="long"/>
<column name="exerciseId" idlType="long"/>
</topicType>
<topicType name="OcCommandRequest">
<column name="participantIds" idlType="sequence&lt;long&gt;"/>
<column name="action" idlType="long"/>
</topicType>
<topicType name="MissionAction">
<column name="actionNumber" idlType="long" comment="ElementNumber of this MissionAction in parenting MissionItem"/>
<column name="actionType" idlType="MissionActionType"/>
<column name="duration" idlType="long" comment="duration [s], how long this action takes / shall be performed"/>
<column name="fulfilled" idlType="long long" comment="Timestamp when the action was fulfilled"/>
<column name="itemNumber" idlType="long" comment="ElementNumber of the parenting MissionItem"/>
<column name="planId" idlType="long" comment="Id of the parenting MissionPlan"/>
<column name="name" idlType="string"/>
<column name="properties" idlType="string" comment="Depending on the actionType, values needed can be stored here. I.e. chargeTypeId for dropping munition from a UAS."/>
</topicType>
<topicType name="MissionItem">
<column name="actions" idlType="sequence&lt;MissionAction&gt;" comment="actions to perform at the position"/>
<column name="actionsFulfilled" idlType="long" comment="Count of actions that already have been fulfilled (i.e. have a fulfilled timestamp in the child actions). with actionsFulfilled / actions.count() we can have something like 1/3 easily. It also indicates - read as currentAction - the action that is currently worked on."/>
<column name="fulfilled" idlType="long long" comment="timestamp (copy) of fulfilled of the child action with the highest element_number. Just for convenience. To not fill before all child actions have been fulfilled!"/>
<column name="itemNumber" idlType="long" comment="ElementNumber of this MissionItem in parenting MissionPlan"/>
<column name="location" idlType="Core::GeoPosition"/>
<column name="name" idlType="string"/>
</topicType>
<topicType name="ModifyMissionPlanRequest">
<column name="id" idlType="long" isKey="1"/>
<column name="items" idlType="sequence&lt;MissionItem&gt;"/>
<column name="jumpToStart" idlType="boolean" comment="Only used for MovementSimulation"/>
<column name="missionStart" idlType="long long"/>
<column name="name" idlType="string"/>
<column name="participantId" idlType="long"/>
<column name="properties" idlType="string"/>
<column name="repeat" idlType="boolean"/>
</topicType>
<topicType name="SetMissionActionFulfilledRequest">
<column name="missionId" idlType="long"/>
<column name="fulfilled" idlType="long long" isOptional="1" comment="Timestamp when the MissionAction (or MissionItem) was fulfilled. If not filled, current time is taken."/>
<column name="itemNumber" idlType="long"/>
<column name="actionNumber" idlType="long"/>
</topicType>
<topicType name="RemoveMissionPlanRequest">
<column name="id" idlType="long"/>
</topicType>
<topicType name="MissionPlan" isDataObject="1" autosubscribe="1" routeToClient="1" routeToServer="0" routeInReplay="0" recordTopic="1">
<column name="fulfilled" idlType="long long" comment="Timestamp of the fulfilled timestamp of the child mission item with the highest element_number. To see, when the mission plan was actually done."/>
<column name="id" idlType="long" isKey="1"/>
<column name="items" idlType="sequence&lt;MissionItem&gt;"/>
<column name="itemsFulfilled" idlType="long" comment="number of child items that have been (totally!) fulfilled, i.e. have a timestamp in their fulfilled. With itemsFulfilled / items.count() we can easily display 1/3 waypoints reached. It also indicates - read as currentItem - the item that is currently worked on."/>
<column name="jumpToStart" idlType="boolean"/>
<column name="missionStart" idlType="long long"/>
<column name="name" idlType="string"/>
<column name="participantId" idlType="long"/>
<column name="properties" idlType="string"/>
<column name="repeat" idlType="boolean"/>
<column name="aborted" idlType="boolean"/>
<column name="sampleTime" idlType="long long"/>
</topicType>
</topicTypes>
<functionTopics>
<functionTopic name="ModifyTargetInformation" requestTopicType="ModifyTargetInformationRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyTargetInformationRequest" replyTopicName="ModifyTargetInformationReply" routeInReplay="0"/>
<functionTopic name="RemoveTargetInformation" requestTopicType="RemoveTargetInformationRequest" replyTopicType="Core::FunctionReply" requestTopicName="RemoveTargetInformationRequest" replyTopicName="RemoveTargetInformationReply" routeInReplay="0"/>
<functionTopic name="SelectiveReammunition" requestTopicType="SelectiveReammunitionRequest" replyTopicType="Core::FunctionReply" requestTopicName="SelectiveReammunitionRequest" replyTopicName="SelectiveReammunitionReply" routeInReplay="0"/>
<functionTopic name="SetSimulatedPosition" requestTopicType="SetSimulatedPosition" replyTopicType="Core::FunctionReply" requestTopicName="SetSimulatedPositionRequest" replyTopicName="SetSimulatedPositionReply" routeInReplay="0"/>
<functionTopic name="SetSimulatedPositionRelative" requestTopicType="SetSimulatedPositionRelative" replyTopicType="Core::FunctionReply" requestTopicName="SetSimulatedPositionRelativeRequest" replyTopicName="SetSimulatedPositionRelativeReply" routeInReplay="0"/>
<functionTopic name="SetSimulatedParticipantFormation" requestTopicType="SetSimulatedParticipantFormation" replyTopicType="Core::FunctionReply" requestTopicName="SetSimulatedParticipantFormationRequest" replyTopicName="SetSimulatedParticipantFormationReply" routeInReplay="0"/>
<functionTopic name="CallBite" requestTopicType="CallBiteRequest" replyTopicType="Core::FunctionReply" requestTopicName="CallBiteRequest" replyTopicName="CallBiteReply" routeInReplay="0"/>
<functionTopic name="ChangePartyUsedState" requestTopicType="ChangePartyUsedStateRequest" replyTopicType="Core::FunctionReply" requestTopicName="ChangePartyUsedStateRequest" replyTopicName="ChangePartyUsedStateReply" routeInReplay="0"/>
<functionTopic name="CreateModifyUas" requestTopicType="CreateModifyUasRequest" replyTopicType="Core::FunctionReply" requestTopicName="CreateModifyUasRequest" replyTopicName="CreateModifyUasReply" routeInReplay="0"/>
<functionTopic name="ModifyUasState" requestTopicType="ModifyUasStateRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyUasStateRequest" replyTopicName="ModifyUasStateReply" routeInReplay="0"/>
<functionTopic name="RemoveUas" requestTopicType="RemoveUasRequest" replyTopicType="Core::FunctionReply" requestTopicName="RemoveUasRequest" replyTopicName="RemoveUasReply" routeInReplay="0"/>
<functionTopic name="EquipmentSystemEventData" requestTopicType="EquipmentSystemEventDataRequest" replyTopicType="Core::FunctionReply" requestTopicName="EquipmentSystemEventDataRequest" replyTopicName="EquipmentSystemEventDataReply" routeInReplay="0"/>
<functionTopic name="GetParticipants" requestTopicType="GetParticipantsRequest" replyTopicType="GetParticipantsReply" requestTopicName="GetParticipantsRequest" replyTopicName="GetParticipantsReply" routeInReplay="0"/>
<functionTopic name="InitParticipant" requestTopicType="InitParticipantRequest" replyTopicType="Core::FunctionReply" requestTopicName="InitParticipantRequest" replyTopicName="InitParticipantReply" routeInReplay="0"/>
<functionTopic name="ModifyEquipmentTypeData" requestTopicType="ModifyEquipmentTypeDataRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyEquipmentTypeDataRequest" replyTopicName="ModifyEquipmentTypeDataReply" routeInReplay="0"/>
<functionTopic name="ModifyParticipantData" requestTopicType="ModifyParticipantDataRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyParticipantDataRequest" replyTopicName="ModifyParticipantDataReply" routeInReplay="0"/>
<functionTopic name="ModifyPartyData" requestTopicType="Party" replyTopicType="Core::FunctionReply" requestTopicName="ModifyPartyDataRequest" replyTopicName="ModifyPartyDataReply" routeInReplay="0"/>
<functionTopic name="ModifyState" requestTopicType="ModifyStateRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyStateRequest" replyTopicName="ModifyStateReply" routeInReplay="0"/>
<functionTopic name="ModifyTemplateData" requestTopicType="ModifyTemplateDataRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyTemplateDataRequest" replyTopicName="ModifyTemplateDataReply" routeInReplay="0"/>
<functionTopic name="ModifyType" requestTopicType="Type" replyTopicType="Core::FunctionReply" requestTopicName="ModifyTypeRequest" replyTopicName="ModifyTypeReply" routeInReplay="0"/>
<functionTopic name="RegisterParticipant" requestTopicType="RegisterParticipantRequest" replyTopicType="RegisterReply" requestTopicName="RegisterParticipantRequest" replyTopicName="RegisterParticipantReply" routeInReplay="0"/>
<functionTopic name="RemoveParty" requestTopicType="RemovePartyRequest" replyTopicType="Core::FunctionReply" requestTopicName="RemovePartyRequest" replyTopicName="RemovePartyReply" routeInReplay="0"/>
<functionTopic name="RemoveType" requestTopicType="RemoveTypeRequest" replyTopicType="Core::FunctionReply" requestTopicName="RemoveTypeRequest" replyTopicName="RemoveTypeReply" routeInReplay="0"/>
<functionTopic name="SendMessage" requestTopicType="SendMessageRequest" replyTopicType="Core::FunctionReply" requestTopicName="SendMessageRequest" replyTopicName="SendMessageReply" routeInReplay="0"/>
<functionTopic name="SetAsSimulated" requestTopicType="SetAsSimulated" replyTopicType="Core::FunctionReply" requestTopicName="SetAsSimulatedRequest" replyTopicName="SetAsSimulatedReply" routeInReplay="0"/>
<functionTopic name="SetParticipantMode" requestTopicType="SetParticipantModeRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetParticipantModeRequest" replyTopicName="SetParticipantModeReply" routeInReplay="0"/>
<functionTopic name="SetSanitation" requestTopicType="SetSanitationRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetSanitationRequest" replyTopicName="SetSanitationReply" routeInReplay="0"/>
<functionTopic name="SyncParties" requestTopicType="SyncPartiesRequest" replyTopicType="Core::FunctionReply" requestTopicName="SyncPartiesRequest" replyTopicName="SyncPartiesReply" routeInReplay="0"/>
<functionTopic name="OcCommand" requestTopicType="OcCommandRequest" replyTopicType="Core::FunctionReply" requestTopicName="OcCommandRequest" replyTopicName="OcCommandReply" routeInReplay="0"/>
<functionTopic name="SetMissionActionFulfilled" requestTopicType="SetMissionActionFulfilledRequest" replyTopicType="Core::FunctionReply" requestTopicName="SetMissionActionFulfilledRequest" replyTopicName="SetMissionActionFulfilledReply" routeInReplay="0"/>
<functionTopic name="ModifyMissionPlan" requestTopicType="ModifyMissionPlanRequest" replyTopicType="Core::FunctionReply" requestTopicName="ModifyMissionPlanRequest" replyTopicName="ModifyMissionPlanReply" routeInReplay="0"/>
<functionTopic name="RemoveMissionPlan" requestTopicType="RemoveMissionPlanRequest" replyTopicType="Core::FunctionReply" requestTopicName="RemoveMissionPlanRequest" replyTopicName="RemoveMissionPlanReply" routeInReplay="0"/>
</functionTopics>
<customDtcFunctions>
<customDtcFunction>
<function name="convertFromParticipantTemplateToTemplateData" returns="ParticipantManagement::TemplateData" isConst="1">
<parameter pos="1" name="inputTemplate" type="const ParticipantManagement::TemplateParticipant &amp;"/>
</function>
<function name="convertParticipantToParticipantData" returns="ParticipantManagement::ParticipantData" isConst="1">
<parameter pos="1" name="inputParticipant" type="const ParticipantManagement::Participant &amp;"/>
</function>
<function name="participantIdsByUnit" returns="bool">
<parameter pos="1" name="unitId" type="int"/>
<parameter pos="2" name="participants" type="const QMap&lt;int, Participant&gt; &amp;"/>
<parameter pos="3" name="participantIds" type="QSet&lt;int&gt; &amp;"/>
</function>
<function name="rootTemplates" returns="bool" isConst="1">
<parameter pos="1" name="templateVector" type="QVector&lt;ParticipantManagement::TemplateParticipant&gt;&amp;"/>
</function>
<function name="youngestStateInformation" returns="ParticipantManagement::StateInformation" isConst="1">
<parameter pos="1" name="stateList" type="const std::vector&lt;ParticipantManagement::StateInformation&gt; &amp;"/>
</function>
<function name="proceduresDone" returns="ParticipantManagement::SanitationResult" isConst="1">
<parameter pos="1" name="stateList" type="const std::vector&lt;ParticipantManagement::StateInformation&gt; &amp;"/>
</function>
<function name="templateParticipantsFromTemplateId" returns="bool">
<parameter pos="1" name="rootTemplateId" type="int"/>
<parameter pos="2" name="templateVector" type="QVector&lt;ParticipantManagement::TemplateParticipant&gt; &amp;"/>
</function>
<function name="units" returns="QMap&lt;int, ParticipantManagement::Participant&gt;" isConst="1"/>
<function name="visibleParties" returns="bool" isConst="1">
<parameter pos="1" name="visibleParties" type="QMap&lt;int32_t, ParticipantManagement::Party&gt; &amp;"/>
<parameter pos="2" name="filter" type="const QVector&lt;int&gt; &amp;"/>
</function>
<function name="hierarchyFromParticipant" returns="QString">
<parameter pos="1" name="participantId" type="int"/>
</function>
<function name="hierarchyFromParticipant" returns="QString" isConst="1">
<parameter pos="1" name="participantId" type="int"/>
<parameter pos="2" name="participants" type="const QMap&lt;int, Participant&gt; &amp;"/>
</function>
<function name="isEquipmentNumberInUse" returns="bool" isConst="1">
<parameter pos="1" name="equipmentNumber" type="int"/>
<parameter pos="2" name="exerciseId" type="int &amp;"/>
</function>
<function name="participantIdByEquipmentNumber" returns="int" isConst="1">
<parameter pos="1" name="equipmentNumber" type="int"/>
</function>
<function name="equipmentNumberByParticipantId" returns="int" isConst="1">
<parameter pos="1" name="participantId" type="int"/>
</function>
<function name="uasMissionIdByEquipmentNumber" returns="int" isConst="1">
<parameter pos="1" name="equipmentNumber" type="int"/>
</function>
<function name="partyIdFromForceIdentifier" returns="int" isConst="1">
<parameter pos="1" name="inputForceIdentifier" type="ParticipantManagement::HlaForceIdentifierEnum"/>
</function>
<function name="saaConnectedState" returns="ParticipantManagement::ConnectState">
<parameter pos="1" name="partyId" type="int"/>
</function>
<function name="isTypeInUse" returns="bool" isConst="1">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="isTypePatientSimulator" returns="bool" isConst="1">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="isAdlerType" returns="bool" isConst="1">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="isArtilleryType" returns="bool" isConst="1">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="getTypeFromAdlerType" returns="ParticipantManagement::Type">
<parameter pos="1" name="adlerTypeName" type="const QString &amp;"/>
<parameter pos="2" name="isUnit" type="bool"/>
<parameter pos="3" name="isVerbund" type="bool"/>
</function>
<function name="isTypeUas" returns="bool" isConst="0">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="getUasByParticipantId" returns="UAS" isConst="0">
<parameter pos="1" name="participantId" type="int"/>
<parameter pos="2" name="exerciseId" type="int"/>
</function>
<function name="getParticipantFromPrf" returns="int" isConst="1">
<parameter pos="1" name="prf" type="int"/>
</function>
<function name="getPrfFromParticipant" returns="int" isConst="1">
<parameter pos="1" name="participantId" type="int"/>
</function>
<function name="getParticipantsByPolygon" returns="QVector&lt;int&gt;">
<parameter pos="1" name="polygon" type="const QPolygonF &amp;"/>
<parameter pos="2" name="includeUnits" type="bool"/>
<parameter pos="3" name="includeOc" type="bool"/>
</function>
<function name="getSubordinatesByParticipant" returns="QVector&lt;int&gt;">
<parameter pos="1" name="participantId" type="int"/>
</function>
<function name="sortByDistance" returns="QMap&lt;double, int&gt;" >
<parameter pos="1" name="lon" type="const double"/>
<parameter pos="2" name="lat" type="const double"/>
<parameter pos="3" name="participantIds" type="const QVector&lt;int&gt; &amp;"/>
</function>
<function name="getUasIds" returns="QVector&lt;int&gt;">
</function>
<function name="currentMissionAction" returns="ParticipantManagement::MissionAction" isConst="1">
<parameter pos="1" name="missionPlanId" type="int"/>
</function>
<function name="getUasByParticipantId" returns="ParticipantManagement::UAS" isConst="1">
<parameter pos="1" name="participantId" type="int"/>
<parameter pos="2" name="exerciseId" type="int"/>
</function>
<function name="getParticipantByInternalName" returns="ParticipantManagement::Participant" isConst="1">
<parameter pos="1" name="partyId" type="int"/>
<parameter pos="2" name="unitName" type="const QString &amp;"/>
<parameter pos="3" name="internalName" type="const QString &amp;"/>
</function>
<function name="isEditable" returns="bool" isConst="1">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="isAdlerVerbund" returns="bool" isConst="1">
<parameter pos="1" name="typeId" type="int"/>
</function>
<function name="isPartyAdlerVerbund" returns="bool" isConst="1">
<parameter pos="1" name="partyId" type="int"/>
</function>
</customDtcFunction>
</customDtcFunctions>
<enumerations>
<enumeration name="ParticipantAssignState" table="ppm_participant_assign_state">
<attribute key="NotAssigned" value="0"/>
<attribute key="AssignedWms" value="1"/>
<attribute key="HandoutWms" value="2"/>
<attribute key="HandoutExcon" value="3"/>
<attribute key="ExconWmsOverruled" value="4"/>
</enumeration>
<enumeration name="SpecialSensorStatus" table="ppm_special_sensor_status">
<attribute key="NotConfigured" value="0"/>
<attribute key="ChemicalDetectionFunction_NotOperational" value="65"/>
<attribute key="ChemicalDetectionFunction_Detecting" value="66"/>
<attribute key="NBCDetectionAccessory_NotOperational" value="73"/>
<attribute key="NBCDetectionAccessory_Test" value="74"/>
<attribute key="NBCDetectionAccessory_DetectingAir" value="75"/>
<attribute key="AVLB_Mounted" value="81"/>
<attribute key="AVLB_Deployed" value="82"/>
<attribute key="AVLB_Mounting" value="83"/>
<attribute key="AVLB_Deploying" value="84"/>
<attribute key="MineLayer_Operational" value="97"/>
<attribute key="MineLayer_Laying" value="98"/>
<attribute key="MineClearingFunction_March" value="113"/>
<attribute key="MineClearingFunction_ReadyToClear" value="114"/>
<attribute key="MineClearingFunction_Clearing" value="115"/>
<attribute key="MineTrowingFunction_NotOperational" value="116"/>
<attribute key="MineTrowingFunction_ParameterInput" value="117"/>
<attribute key="MineTrowingFunction_ReadyToDeploy" value="118"/>
<attribute key="MineTrowingFunction_Deploying" value="119"/>
<attribute key="MineTrowingFunction_Resupply" value="120"/>
<attribute key="MineTrowingFunction_FinishDeploying" value="121"/>
<attribute key="ADLER_Operational" value="125"/>
<attribute key="ADLER_ConditionallyOperational" value="126"/>
<attribute key="ADLER_NotOperational" value="127"/>
</enumeration>
<enumeration name="Qualification">
<attribute key="NotAssigned" value="0"/>
<attribute key="FAA" value="1"/>
<attribute key="FAB" value="2"/>
<attribute key="SANPers" value="3"/>
</enumeration>
<enumeration name="RegisterReturnValue" table="ppm_register_return_value">
<attribute key="RegistrationOk" value="0"/>
<attribute key="PlayerNotFound" value="1"/>
<attribute key="PlayerDeleted" value="2"/>
<attribute key="AssignmentIncorrect" value="3"/>
<attribute key="EquipNoAlreadyAssigned" value="4"/>
<attribute key="RegistrationFailed" value="5"/>
</enumeration>
<enumeration name="Role" table="ppm_role">
<attribute key="Unknown" value="0"/>
<attribute key="Friend" value="1"/>
<attribute key="Neutral" value="2"/>
<attribute key="Enemy" value="3"/>
<attribute key="Pending" value="4"/>
<attribute key="AssumedFriend" value="5"/>
<attribute key="Suspect" value="6"/>
</enumeration>
<enumeration name="SanitationEvaluation">
<attribute key="NotApplicable" value="-1"/>
<attribute key="Okay" value="0"/>
<attribute key="PartlyWrong" value="1"/>
<attribute key="Wrong" value="2"/>
</enumeration>
<enumeration name="SanitationResult">
<attribute key="deprecatedNA" value="-1"/>
<attribute key="NoEffect" value="0"/>
<attribute key="Unhandled" value="1"/>
<attribute key="Insufficient" value="2"/>
<attribute key="Sufficient" value="3"/>
<attribute key="Optimal" value="4"/>
</enumeration>
<enumeration name="TypeClass" table="ppm_type_class">
<attribute key="Unknown" value="0"/>
<attribute key="SupportEntity" value="1"/>
<attribute key="Unit" value="2"/>
<attribute key="Human" value="3"/>
<attribute key="GroundVehicle" value="4"/>
<attribute key="Aircraft" value="5"/>
<attribute key="Vessel" value="6"/>
<attribute key="WeaponSystem" value="7"/>
<attribute key="VehicleWithGear" value="8"/>
<attribute key="SupportUnit" value="9"/>
</enumeration>
<enumeration name="WmsTypeClass" table="ppm_wms_type_class">
<attribute key="None" value="0"/>
<attribute key="Building" value="1"/>
<attribute key="Vehicle" value="2"/>
<attribute key="Human" value="3"/>
<attribute key="TargetVehicle" value="4"/>
<attribute key="TargetHuman" value="5"/>
<attribute key="Airborne" value="6"/>
<attribute key="VehicleMarker" value="7"/>
</enumeration>
<enumeration name="HlaForceIdentifierEnum">
<attribute key="Other" value="0"/>
<attribute key="Friendly_1" value="1"/>
<attribute key="Opposing_1" value="2"/>
<attribute key="Neutral_1" value="3"/>
<attribute key="Friendly_2" value="4"/>
<attribute key="Opposing_2" value="5"/>
<attribute key="Neutral_2" value="6"/>
<attribute key="Friendly_3" value="7"/>
<attribute key="Opposing_3" value="8"/>
<attribute key="Neutral_3" value="9"/>
<attribute key="Friendly_4" value="10"/>
<attribute key="Opposing_4" value="11"/>
<attribute key="Neutral_4" value="12"/>
<attribute key="Friendly_5" value="13"/>
<attribute key="Opposing_5" value="14"/>
<attribute key="Neutral_5" value="15"/>
<attribute key="Friendly_6" value="16"/>
<attribute key="Opposing_6" value="17"/>
<attribute key="Neutral_6" value="18"/>
<attribute key="Friendly_7" value="19"/>
<attribute key="Opposing_7" value="20"/>
<attribute key="Neutral_7" value="21"/>
<attribute key="Friendly_8" value="22"/>
<attribute key="Opposing_8" value="23"/>
<attribute key="Neutral_8" value="24"/>
<attribute key="Friendly_9" value="25"/>
<attribute key="Opposing_9" value="26"/>
<attribute key="Neutral_9" value="27"/>
<attribute key="Friendly_10" value="28"/>
<attribute key="Opposing_10" value="29"/>
<attribute key="Neutral_10" value="30"/>
</enumeration>
<enumeration name="MissionActionType" table="ppm_mission_action_type">
<attribute key="Undefined" value="0"/>
<attribute key="MoveTo" value="1"/>
<attribute key="Loiter" value="2"/>
<attribute key="Attack" value="3"/>
</enumeration>
<enumeration name="ConnectState">
<attribute key="Undefined" value="0"/>
<attribute key="Disconnecting" value="1"/>
<attribute key="Disconnected" value="2"/>
<attribute key="Connecting" value="3"/>
<attribute key="Connected" value="4"/>
<attribute key="NoHeartbeat" value="5"/>
</enumeration>
</enumerations>
</service>