/** * TrainingAreaBase Function Topic Client interface * $Id$ * $HeadURL$ * $Author$ */ // filename: tab_ftc.h #pragma once #include #include #include namespace DDSConnector { class DdsConnector; } namespace TrainingAreaBase { namespace Interface { class Ftc { protected: Ftc() = default; public: virtual ~Ftc() = default; /** * Create a new instance for TrainingAreaBase::Interface::Ftc. * The caller takes ownership of the returned instance! */ TAB_CLIENT_EXPORT static std::shared_ptr create(const std::shared_ptr &ddsConnector, bool forceCreate = false); /** * A unique identifier for this FTC */ TAB_CLIENT_EXPORT static inline const char *identifier() { return "TrainingAreaBase.Interface.Ftc"; } /** * initialize this Ftc instance with all function topic clients */ virtual bool enableAll(bool enable = true) = 0; /** * only initialize the specific function topic client (can be called instead enableAll()) */ virtual bool enableDemandBite(bool enable = true) = 0; virtual bool isDemandBiteEnabled() const = 0; virtual bool enableDemandInit(bool enable = true) = 0; virtual bool isDemandInitEnabled() const = 0; virtual bool enableDemandVulnerabilityStateChange(bool enable = true) = 0; virtual bool isDemandVulnerabilityStateChangeEnabled() const = 0; virtual bool enableSendCesHit(bool enable = true) = 0; virtual bool isSendCesHitEnabled() const = 0; virtual bool enableAdlerCalculateTrajectory(bool enable = true) = 0; virtual bool isAdlerCalculateTrajectoryEnabled() const = 0; virtual bool enableAdlerFqFb(bool enable = true) = 0; virtual bool isAdlerFqFbEnabled() const = 0; virtual bool enableAdlerFqAf(bool enable = true) = 0; virtual bool isAdlerFqAfEnabled() const = 0; virtual bool enableAdlerFqVm(bool enable = true) = 0; virtual bool isAdlerFqVmEnabled() const = 0; virtual bool enableSendEquipmentMessage(bool enable = true) = 0; virtual bool isSendEquipmentMessageEnabled() const = 0; virtual bool enableSendFireSmokeMarkerData(bool enable = true) = 0; virtual bool isSendFireSmokeMarkerDataEnabled() const = 0; virtual bool enableSendGeopairingData(bool enable = true) = 0; virtual bool isSendGeopairingDataEnabled() const = 0; virtual bool enableSendParticipantBeStillWarning(bool enable = true) = 0; virtual bool isSendParticipantBeStillWarningEnabled() const = 0; virtual bool enableSendTargetData(bool enable = true) = 0; virtual bool isSendTargetDataEnabled() const = 0; virtual bool enableSendResetAllDusMines(bool enable = true) = 0; virtual bool isSendResetAllDusMinesEnabled() const = 0; virtual bool enableSetDevicePower(bool enable = true) = 0; virtual bool isSetDevicePowerEnabled() const = 0; virtual bool enableDemandConfigurationReport(bool enable = true) = 0; virtual bool isDemandConfigurationReportEnabled() const = 0; virtual bool enableDemandParticipantConfiguration(bool enable = true) = 0; virtual bool isDemandParticipantConfigurationEnabled() const = 0; virtual bool enableDemandParticipantMode(bool enable = true) = 0; virtual bool isDemandParticipantModeEnabled() const = 0; virtual bool enableSendCesHitInformation(bool enable = true) = 0; virtual bool isSendCesHitInformationEnabled() const = 0; virtual bool enableSendLanguageSelection(bool enable = true) = 0; virtual bool isSendLanguageSelectionEnabled() const = 0; virtual bool enableSendOcData(bool enable = true) = 0; virtual bool isSendOcDataEnabled() const = 0; virtual bool enableSendParticipantBlockedArea(bool enable = true) = 0; virtual bool isSendParticipantBlockedAreaEnabled() const = 0; virtual bool enableSendParticipantConfiguration(bool enable = true) = 0; virtual bool isSendParticipantConfigurationEnabled() const = 0; virtual bool enableSendParticipantMode(bool enable = true) = 0; virtual bool isSendParticipantModeEnabled() const = 0; virtual bool enableSendParticipantSwVerions(bool enable = true) = 0; virtual bool isSendParticipantSwVerionsEnabled() const = 0; virtual bool enableSendSetSanitation(bool enable = true) = 0; virtual bool isSendSetSanitationEnabled() const = 0; virtual bool enableSendSetVulnerabilityModel(bool enable = true) = 0; virtual bool isSendSetVulnerabilityModelEnabled() const = 0; virtual bool enableSendSelectiveReammunition(bool enable = true) = 0; virtual bool isSendSelectiveReammunitionEnabled() const = 0; virtual bool enableSendControlData(bool enable = true) = 0; virtual bool isSendControlDataEnabled() const = 0; virtual bool enableSendOcCommand(bool enable = true) = 0; virtual bool isSendOcCommandEnabled() const = 0; virtual bool enableSendUasWaypoint(bool enable = true) = 0; virtual bool isSendUasWaypointEnabled() const = 0; virtual bool enableSendModifyUasState(bool enable = true) = 0; virtual bool isSendModifyUasStateEnabled() const = 0; virtual bool enableSendExFireReadiness(bool enable = true) = 0; virtual bool isSendExFireReadinessEnabled() const = 0; virtual bool enableSendExFiredReport(bool enable = true) = 0; virtual bool isSendExFiredReportEnabled() const = 0; virtual bool enableSendExConfirmationReport(bool enable = true) = 0; virtual bool isSendExConfirmationReportEnabled() const = 0; // // Function Topic 'DemandBite' // class DemandBiteReplyHandler { public: DemandBiteReplyHandler() = default; virtual ~DemandBiteReplyHandler() = default; virtual void onDemandBiteReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t demandBiteRequest(const DemandBiteRequest &request, DemandBiteReplyHandler *handler) = 0; virtual int64_t demandBiteRequest(const DemandBiteRequest &request, const std::function &cb) = 0; virtual int32_t demandBiteRequest(const DemandBiteRequest &request) noexcept(false) = 0; // await virtual int64_t lastDemandBiteRequestUniqueId() const = 0; // // Function Topic 'DemandInit' // class DemandInitReplyHandler { public: DemandInitReplyHandler() = default; virtual ~DemandInitReplyHandler() = default; virtual void onDemandInitReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t demandInitRequest(const DemandInitRequest &request, DemandInitReplyHandler *handler) = 0; virtual int64_t demandInitRequest(const DemandInitRequest &request, const std::function &cb) = 0; virtual int32_t demandInitRequest(const DemandInitRequest &request) noexcept(false) = 0; // await virtual int64_t lastDemandInitRequestUniqueId() const = 0; // // Function Topic 'DemandVulnerabilityStateChange' // class DemandVulnerabilityStateChangeReplyHandler { public: DemandVulnerabilityStateChangeReplyHandler() = default; virtual ~DemandVulnerabilityStateChangeReplyHandler() = default; virtual void onDemandVulnerabilityStateChangeReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t demandVulnerabilityStateChangeRequest(const DemandVulnerabilityStateChangeRequest &request, DemandVulnerabilityStateChangeReplyHandler *handler) = 0; virtual int64_t demandVulnerabilityStateChangeRequest(const DemandVulnerabilityStateChangeRequest &request, const std::function &cb) = 0; virtual int32_t demandVulnerabilityStateChangeRequest(const DemandVulnerabilityStateChangeRequest &request) noexcept(false) = 0; // await virtual int64_t lastDemandVulnerabilityStateChangeRequestUniqueId() const = 0; // // Function Topic 'SendCesHit' // class SendCesHitReplyHandler { public: SendCesHitReplyHandler() = default; virtual ~SendCesHitReplyHandler() = default; virtual void onSendCesHitReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendCesHitRequest(const SendCesHitRequest &request, SendCesHitReplyHandler *handler) = 0; virtual int64_t sendCesHitRequest(const SendCesHitRequest &request, const std::function &cb) = 0; virtual int32_t sendCesHitRequest(const SendCesHitRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendCesHitRequestUniqueId() const = 0; // // Function Topic 'AdlerCalculateTrajectory' // class AdlerCalculateTrajectoryReplyHandler { public: AdlerCalculateTrajectoryReplyHandler() = default; virtual ~AdlerCalculateTrajectoryReplyHandler() = default; virtual void onAdlerCalculateTrajectoryReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t adlerCalculateTrajectoryRequest(const AdlerCalculateTrajectoryRequest &request, AdlerCalculateTrajectoryReplyHandler *handler) = 0; virtual int64_t adlerCalculateTrajectoryRequest(const AdlerCalculateTrajectoryRequest &request, const std::function &cb) = 0; virtual int32_t adlerCalculateTrajectoryRequest(const AdlerCalculateTrajectoryRequest &request) noexcept(false) = 0; // await virtual int64_t lastAdlerCalculateTrajectoryRequestUniqueId() const = 0; // // Function Topic 'AdlerFqFb' // class AdlerFqFbReplyHandler { public: AdlerFqFbReplyHandler() = default; virtual ~AdlerFqFbReplyHandler() = default; virtual void onAdlerFqFbReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t adlerFqFbRequest(const AdlerFqFbRequest &request, AdlerFqFbReplyHandler *handler) = 0; virtual int64_t adlerFqFbRequest(const AdlerFqFbRequest &request, const std::function &cb) = 0; virtual int32_t adlerFqFbRequest(const AdlerFqFbRequest &request) noexcept(false) = 0; // await virtual int64_t lastAdlerFqFbRequestUniqueId() const = 0; // // Function Topic 'AdlerFqAf' // class AdlerFqAfReplyHandler { public: AdlerFqAfReplyHandler() = default; virtual ~AdlerFqAfReplyHandler() = default; virtual void onAdlerFqAfReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t adlerFqAfRequest(const AdlerFqAfRequest &request, AdlerFqAfReplyHandler *handler) = 0; virtual int64_t adlerFqAfRequest(const AdlerFqAfRequest &request, const std::function &cb) = 0; virtual int32_t adlerFqAfRequest(const AdlerFqAfRequest &request) noexcept(false) = 0; // await virtual int64_t lastAdlerFqAfRequestUniqueId() const = 0; // // Function Topic 'AdlerFqVm' // class AdlerFqVmReplyHandler { public: AdlerFqVmReplyHandler() = default; virtual ~AdlerFqVmReplyHandler() = default; virtual void onAdlerFqVmReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t adlerFqVmRequest(const AdlerFqVmRequest &request, AdlerFqVmReplyHandler *handler) = 0; virtual int64_t adlerFqVmRequest(const AdlerFqVmRequest &request, const std::function &cb) = 0; virtual int32_t adlerFqVmRequest(const AdlerFqVmRequest &request) noexcept(false) = 0; // await virtual int64_t lastAdlerFqVmRequestUniqueId() const = 0; // // Function Topic 'SendEquipmentMessage' // class SendEquipmentMessageReplyHandler { public: SendEquipmentMessageReplyHandler() = default; virtual ~SendEquipmentMessageReplyHandler() = default; virtual void onSendEquipmentMessageReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendEquipmentMessageRequest(const SendEquipmentMessageRequest &request, SendEquipmentMessageReplyHandler *handler) = 0; virtual int64_t sendEquipmentMessageRequest(const SendEquipmentMessageRequest &request, const std::function &cb) = 0; virtual int32_t sendEquipmentMessageRequest(const SendEquipmentMessageRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendEquipmentMessageRequestUniqueId() const = 0; // // Function Topic 'SendFireSmokeMarkerData' // class SendFireSmokeMarkerDataReplyHandler { public: SendFireSmokeMarkerDataReplyHandler() = default; virtual ~SendFireSmokeMarkerDataReplyHandler() = default; virtual void onSendFireSmokeMarkerDataReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendFireSmokeMarkerDataRequest(const SendFireSmokeMarkerDataRequest &request, SendFireSmokeMarkerDataReplyHandler *handler) = 0; virtual int64_t sendFireSmokeMarkerDataRequest(const SendFireSmokeMarkerDataRequest &request, const std::function &cb) = 0; virtual int32_t sendFireSmokeMarkerDataRequest(const SendFireSmokeMarkerDataRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendFireSmokeMarkerDataRequestUniqueId() const = 0; // // Function Topic 'SendGeopairingData' // class SendGeopairingDataReplyHandler { public: SendGeopairingDataReplyHandler() = default; virtual ~SendGeopairingDataReplyHandler() = default; virtual void onSendGeopairingDataReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendGeopairingDataRequest(const SendGeopairingDataRequest &request, SendGeopairingDataReplyHandler *handler) = 0; virtual int64_t sendGeopairingDataRequest(const SendGeopairingDataRequest &request, const std::function &cb) = 0; virtual int32_t sendGeopairingDataRequest(const SendGeopairingDataRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendGeopairingDataRequestUniqueId() const = 0; // // Function Topic 'SendParticipantBeStillWarning' // class SendParticipantBeStillWarningReplyHandler { public: SendParticipantBeStillWarningReplyHandler() = default; virtual ~SendParticipantBeStillWarningReplyHandler() = default; virtual void onSendParticipantBeStillWarningReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendParticipantBeStillWarningRequest(const SendParticipantBeStillWarningRequest &request, SendParticipantBeStillWarningReplyHandler *handler) = 0; virtual int64_t sendParticipantBeStillWarningRequest(const SendParticipantBeStillWarningRequest &request, const std::function &cb) = 0; virtual int32_t sendParticipantBeStillWarningRequest(const SendParticipantBeStillWarningRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendParticipantBeStillWarningRequestUniqueId() const = 0; // // Function Topic 'SendTargetData' // class SendTargetDataReplyHandler { public: SendTargetDataReplyHandler() = default; virtual ~SendTargetDataReplyHandler() = default; virtual void onSendTargetDataReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendTargetDataRequest(const SendTargetDataRequest &request, SendTargetDataReplyHandler *handler) = 0; virtual int64_t sendTargetDataRequest(const SendTargetDataRequest &request, const std::function &cb) = 0; virtual int32_t sendTargetDataRequest(const SendTargetDataRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendTargetDataRequestUniqueId() const = 0; // // Function Topic 'SendResetAllDusMines' // class SendResetAllDusMinesReplyHandler { public: SendResetAllDusMinesReplyHandler() = default; virtual ~SendResetAllDusMinesReplyHandler() = default; virtual void onSendResetAllDusMinesReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendResetAllDusMinesRequest(const SendResetAllDusMinesRequest &request, SendResetAllDusMinesReplyHandler *handler) = 0; virtual int64_t sendResetAllDusMinesRequest(const SendResetAllDusMinesRequest &request, const std::function &cb) = 0; virtual int32_t sendResetAllDusMinesRequest(const SendResetAllDusMinesRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendResetAllDusMinesRequestUniqueId() const = 0; // // Function Topic 'SetDevicePower' // class SetDevicePowerReplyHandler { public: SetDevicePowerReplyHandler() = default; virtual ~SetDevicePowerReplyHandler() = default; virtual void onSetDevicePowerReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t setDevicePowerRequest(const SetDevicePowerRequest &request, SetDevicePowerReplyHandler *handler) = 0; virtual int64_t setDevicePowerRequest(const SetDevicePowerRequest &request, const std::function &cb) = 0; virtual int32_t setDevicePowerRequest(const SetDevicePowerRequest &request) noexcept(false) = 0; // await virtual int64_t lastSetDevicePowerRequestUniqueId() const = 0; // // Function Topic 'DemandConfigurationReport' // class DemandConfigurationReportReplyHandler { public: DemandConfigurationReportReplyHandler() = default; virtual ~DemandConfigurationReportReplyHandler() = default; virtual void onDemandConfigurationReportReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t demandConfigurationReportRequest(const DemandConfigurationReportRequest &request, DemandConfigurationReportReplyHandler *handler) = 0; virtual int64_t demandConfigurationReportRequest(const DemandConfigurationReportRequest &request, const std::function &cb) = 0; virtual int32_t demandConfigurationReportRequest(const DemandConfigurationReportRequest &request) noexcept(false) = 0; // await virtual int64_t lastDemandConfigurationReportRequestUniqueId() const = 0; // // Function Topic 'DemandParticipantConfiguration' // class DemandParticipantConfigurationReplyHandler { public: DemandParticipantConfigurationReplyHandler() = default; virtual ~DemandParticipantConfigurationReplyHandler() = default; virtual void onDemandParticipantConfigurationReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t demandParticipantConfigurationRequest(const DemandParticipantConfigurationRequest &request, DemandParticipantConfigurationReplyHandler *handler) = 0; virtual int64_t demandParticipantConfigurationRequest(const DemandParticipantConfigurationRequest &request, const std::function &cb) = 0; virtual int32_t demandParticipantConfigurationRequest(const DemandParticipantConfigurationRequest &request) noexcept(false) = 0; // await virtual int64_t lastDemandParticipantConfigurationRequestUniqueId() const = 0; // // Function Topic 'DemandParticipantMode' // class DemandParticipantModeReplyHandler { public: DemandParticipantModeReplyHandler() = default; virtual ~DemandParticipantModeReplyHandler() = default; virtual void onDemandParticipantModeReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t demandParticipantModeRequest(const DemandParticipantModeRequest &request, DemandParticipantModeReplyHandler *handler) = 0; virtual int64_t demandParticipantModeRequest(const DemandParticipantModeRequest &request, const std::function &cb) = 0; virtual int32_t demandParticipantModeRequest(const DemandParticipantModeRequest &request) noexcept(false) = 0; // await virtual int64_t lastDemandParticipantModeRequestUniqueId() const = 0; // // Function Topic 'SendCesHitInformation' // class SendCesHitInformationReplyHandler { public: SendCesHitInformationReplyHandler() = default; virtual ~SendCesHitInformationReplyHandler() = default; virtual void onSendCesHitInformationReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendCesHitInformationRequest(const SendCesHitInformation &request, SendCesHitInformationReplyHandler *handler) = 0; virtual int64_t sendCesHitInformationRequest(const SendCesHitInformation &request, const std::function &cb) = 0; virtual int32_t sendCesHitInformationRequest(const SendCesHitInformation &request) noexcept(false) = 0; // await virtual int64_t lastSendCesHitInformationRequestUniqueId() const = 0; // // Function Topic 'SendLanguageSelection' // class SendLanguageSelectionReplyHandler { public: SendLanguageSelectionReplyHandler() = default; virtual ~SendLanguageSelectionReplyHandler() = default; virtual void onSendLanguageSelectionReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendLanguageSelectionRequest(const SendLanguageSelectionRequest &request, SendLanguageSelectionReplyHandler *handler) = 0; virtual int64_t sendLanguageSelectionRequest(const SendLanguageSelectionRequest &request, const std::function &cb) = 0; virtual int32_t sendLanguageSelectionRequest(const SendLanguageSelectionRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendLanguageSelectionRequestUniqueId() const = 0; // // Function Topic 'SendOcData' // class SendOcDataReplyHandler { public: SendOcDataReplyHandler() = default; virtual ~SendOcDataReplyHandler() = default; virtual void onSendOcDataReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendOcDataRequest(const SendOcDataRequest &request, SendOcDataReplyHandler *handler) = 0; virtual int64_t sendOcDataRequest(const SendOcDataRequest &request, const std::function &cb) = 0; virtual int32_t sendOcDataRequest(const SendOcDataRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendOcDataRequestUniqueId() const = 0; // // Function Topic 'SendParticipantBlockedArea' // class SendParticipantBlockedAreaReplyHandler { public: SendParticipantBlockedAreaReplyHandler() = default; virtual ~SendParticipantBlockedAreaReplyHandler() = default; virtual void onSendParticipantBlockedAreaReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendParticipantBlockedAreaRequest(const SendParticipantBlockedAreaRequest &request, SendParticipantBlockedAreaReplyHandler *handler) = 0; virtual int64_t sendParticipantBlockedAreaRequest(const SendParticipantBlockedAreaRequest &request, const std::function &cb) = 0; virtual int32_t sendParticipantBlockedAreaRequest(const SendParticipantBlockedAreaRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendParticipantBlockedAreaRequestUniqueId() const = 0; // // Function Topic 'SendParticipantConfiguration' // class SendParticipantConfigurationReplyHandler { public: SendParticipantConfigurationReplyHandler() = default; virtual ~SendParticipantConfigurationReplyHandler() = default; virtual void onSendParticipantConfigurationReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendParticipantConfigurationRequest(const SendParticipantConfigurationRequest &request, SendParticipantConfigurationReplyHandler *handler) = 0; virtual int64_t sendParticipantConfigurationRequest(const SendParticipantConfigurationRequest &request, const std::function &cb) = 0; virtual int32_t sendParticipantConfigurationRequest(const SendParticipantConfigurationRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendParticipantConfigurationRequestUniqueId() const = 0; // // Function Topic 'SendParticipantMode' // class SendParticipantModeReplyHandler { public: SendParticipantModeReplyHandler() = default; virtual ~SendParticipantModeReplyHandler() = default; virtual void onSendParticipantModeReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendParticipantModeRequest(const SendParticipantModeRequest &request, SendParticipantModeReplyHandler *handler) = 0; virtual int64_t sendParticipantModeRequest(const SendParticipantModeRequest &request, const std::function &cb) = 0; virtual int32_t sendParticipantModeRequest(const SendParticipantModeRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendParticipantModeRequestUniqueId() const = 0; // // Function Topic 'SendParticipantSwVerions' // class SendParticipantSwVerionsReplyHandler { public: SendParticipantSwVerionsReplyHandler() = default; virtual ~SendParticipantSwVerionsReplyHandler() = default; virtual void onSendParticipantSwVerionsReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendParticipantSwVerionsRequest(const SendParticipantSwVerionsRequest &request, SendParticipantSwVerionsReplyHandler *handler) = 0; virtual int64_t sendParticipantSwVerionsRequest(const SendParticipantSwVerionsRequest &request, const std::function &cb) = 0; virtual int32_t sendParticipantSwVerionsRequest(const SendParticipantSwVerionsRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendParticipantSwVerionsRequestUniqueId() const = 0; // // Function Topic 'SendSetSanitation' // class SendSetSanitationReplyHandler { public: SendSetSanitationReplyHandler() = default; virtual ~SendSetSanitationReplyHandler() = default; virtual void onSendSetSanitationReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendSetSanitationRequest(const SendSetSanitationRequest &request, SendSetSanitationReplyHandler *handler) = 0; virtual int64_t sendSetSanitationRequest(const SendSetSanitationRequest &request, const std::function &cb) = 0; virtual int32_t sendSetSanitationRequest(const SendSetSanitationRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendSetSanitationRequestUniqueId() const = 0; // // Function Topic 'SendSetVulnerabilityModel' // class SendSetVulnerabilityModelReplyHandler { public: SendSetVulnerabilityModelReplyHandler() = default; virtual ~SendSetVulnerabilityModelReplyHandler() = default; virtual void onSendSetVulnerabilityModelReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendSetVulnerabilityModelRequest(const SendSetVulnerabilityModelRequest &request, SendSetVulnerabilityModelReplyHandler *handler) = 0; virtual int64_t sendSetVulnerabilityModelRequest(const SendSetVulnerabilityModelRequest &request, const std::function &cb) = 0; virtual int32_t sendSetVulnerabilityModelRequest(const SendSetVulnerabilityModelRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendSetVulnerabilityModelRequestUniqueId() const = 0; // // Function Topic 'SendSelectiveReammunition' // class SendSelectiveReammunitionReplyHandler { public: SendSelectiveReammunitionReplyHandler() = default; virtual ~SendSelectiveReammunitionReplyHandler() = default; virtual void onSendSelectiveReammunitionReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendSelectiveReammunitionRequest(const SendSelectiveReammunitionRequest &request, SendSelectiveReammunitionReplyHandler *handler) = 0; virtual int64_t sendSelectiveReammunitionRequest(const SendSelectiveReammunitionRequest &request, const std::function &cb) = 0; virtual int32_t sendSelectiveReammunitionRequest(const SendSelectiveReammunitionRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendSelectiveReammunitionRequestUniqueId() const = 0; // // Function Topic 'SendControlData' // class SendControlDataReplyHandler { public: SendControlDataReplyHandler() = default; virtual ~SendControlDataReplyHandler() = default; virtual void onSendControlDataReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendControlDataRequest(const SendControlDataRequest &request, SendControlDataReplyHandler *handler) = 0; virtual int64_t sendControlDataRequest(const SendControlDataRequest &request, const std::function &cb) = 0; virtual int32_t sendControlDataRequest(const SendControlDataRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendControlDataRequestUniqueId() const = 0; // // Function Topic 'SendOcCommand' // class SendOcCommandReplyHandler { public: SendOcCommandReplyHandler() = default; virtual ~SendOcCommandReplyHandler() = default; virtual void onSendOcCommandReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendOcCommandRequest(const SendOcCommandRequest &request, SendOcCommandReplyHandler *handler) = 0; virtual int64_t sendOcCommandRequest(const SendOcCommandRequest &request, const std::function &cb) = 0; virtual int32_t sendOcCommandRequest(const SendOcCommandRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendOcCommandRequestUniqueId() const = 0; // // Function Topic 'SendUasWaypoint' // class SendUasWaypointReplyHandler { public: SendUasWaypointReplyHandler() = default; virtual ~SendUasWaypointReplyHandler() = default; virtual void onSendUasWaypointReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendUasWaypointRequest(const SendUasWaypointRequest &request, SendUasWaypointReplyHandler *handler) = 0; virtual int64_t sendUasWaypointRequest(const SendUasWaypointRequest &request, const std::function &cb) = 0; virtual int32_t sendUasWaypointRequest(const SendUasWaypointRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendUasWaypointRequestUniqueId() const = 0; // // Function Topic 'SendModifyUasState' // class SendModifyUasStateReplyHandler { public: SendModifyUasStateReplyHandler() = default; virtual ~SendModifyUasStateReplyHandler() = default; virtual void onSendModifyUasStateReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendModifyUasStateRequest(const SendModifyUasStateRequest &request, SendModifyUasStateReplyHandler *handler) = 0; virtual int64_t sendModifyUasStateRequest(const SendModifyUasStateRequest &request, const std::function &cb) = 0; virtual int32_t sendModifyUasStateRequest(const SendModifyUasStateRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendModifyUasStateRequestUniqueId() const = 0; // // Function Topic 'SendExFireReadiness' // class SendExFireReadinessReplyHandler { public: SendExFireReadinessReplyHandler() = default; virtual ~SendExFireReadinessReplyHandler() = default; virtual void onSendExFireReadinessReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendExFireReadinessRequest(const SendExFireReadinessRequest &request, SendExFireReadinessReplyHandler *handler) = 0; virtual int64_t sendExFireReadinessRequest(const SendExFireReadinessRequest &request, const std::function &cb) = 0; virtual int32_t sendExFireReadinessRequest(const SendExFireReadinessRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendExFireReadinessRequestUniqueId() const = 0; // // Function Topic 'SendExFiredReport' // class SendExFiredReportReplyHandler { public: SendExFiredReportReplyHandler() = default; virtual ~SendExFiredReportReplyHandler() = default; virtual void onSendExFiredReportReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendExFiredReportRequest(const SendExFiredReportRequest &request, SendExFiredReportReplyHandler *handler) = 0; virtual int64_t sendExFiredReportRequest(const SendExFiredReportRequest &request, const std::function &cb) = 0; virtual int32_t sendExFiredReportRequest(const SendExFiredReportRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendExFiredReportRequestUniqueId() const = 0; // // Function Topic 'SendExConfirmationReport' // class SendExConfirmationReportReplyHandler { public: SendExConfirmationReportReplyHandler() = default; virtual ~SendExConfirmationReportReplyHandler() = default; virtual void onSendExConfirmationReportReply(const Core::FunctionReplyObject &reply) = 0; }; virtual int64_t sendExConfirmationReportRequest(const SendExConfirmationReportRequest &request, SendExConfirmationReportReplyHandler *handler) = 0; virtual int64_t sendExConfirmationReportRequest(const SendExConfirmationReportRequest &request, const std::function &cb) = 0; virtual int32_t sendExConfirmationReportRequest(const SendExConfirmationReportRequest &request) noexcept(false) = 0; // await virtual int64_t lastSendExConfirmationReportRequestUniqueId() const = 0; }; } // namespace Interface } // namespace TrainingAreaBase