From 0acb45dd2750e8d307da3d798c5535d6ea5c6279 Mon Sep 17 00:00:00 2001 From: Sven Czarnian Date: Sat, 20 Nov 2021 09:29:01 +0100 Subject: [PATCH] force a reload --- src/PlugIn.cpp | 18 ++++++++++++++++++ src/PlugIn.h | 6 ++++++ 2 files changed, 24 insertions(+) diff --git a/src/PlugIn.cpp b/src/PlugIn.cpp index 1ea3023..e66055e 100644 --- a/src/PlugIn.cpp +++ b/src/PlugIn.cpp @@ -357,6 +357,24 @@ void PlugIn::generateAircraftReportMessage(const EuroScopePlugIn::CRadarTarget& report->set_reporttime(String::splitString(stream.str(), ".")[0]); } +bool PlugIn::OnCompileCommand(const char* cmdline) { + std::string message(cmdline); + +#pragma warning(disable: 4244) + std::transform(message.begin(), message.end(), message.begin(), ::toupper); +#pragma warning(default: 4244) + + /* no AMAN command */ + if (0 != message.find(".AMAN")) + return false; + + if (std::string::npos != message.find("RELOAD")) { + this->validateBackendData(); + return true; + } + + return false; +} void PlugIn::OnFunctionCall(int functionId, const char* itemString, POINT pt, RECT area) { std::ignore = itemString; diff --git a/src/PlugIn.h b/src/PlugIn.h index d4621ab..19daa20 100644 --- a/src/PlugIn.h +++ b/src/PlugIn.h @@ -79,6 +79,12 @@ namespace aman { */ EuroScopePlugIn::CRadarScreen* OnRadarScreenCreated(const char* displayName, bool needsRadarContent, bool geoReferenced, bool canBeSaved, bool canBeCreated) override; + /** + * @brief Called as soon as a controller writes down a command + * @param[in] cmdline The commandline + * @return True if the command was parsed, else false + */ + bool OnCompileCommand(const char* cmdline) override; /** * @brief Called as soon as a function is triggered * @param[in] functionId The triggered ID