Browse Source

force a reload

Sven Czarnian 3 years ago
parent
commit
0acb45dd27
2 changed files with 24 additions and 0 deletions
  1. 18 0
      src/PlugIn.cpp
  2. 6 0
      src/PlugIn.h

+ 18 - 0
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;

+ 6 - 0
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