refs #848, parse command line in simulator

* added default implementation
* sims can override parseDetails for specific cmd lines
* enable/disable FSUIPC in fscommon part
* added useFsuipc(bool on)
This commit is contained in:
Klaus Basan
2016-12-31 05:09:26 +01:00
committed by Mathew Sutcliffe
parent 15020b2d5f
commit c609c555b4
5 changed files with 78 additions and 6 deletions

View File

@@ -201,6 +201,12 @@ namespace BlackCore
this->reverseLookupAndUpdateOwnAircraftModel(model);
}
bool CSimulatorCommon::parseDetails(const CSimpleCommandParser &parser)
{
Q_UNUSED(parser);
return false;
}
void CSimulatorCommon::reverseLookupAndUpdateOwnAircraftModel(const BlackMisc::Simulation::CAircraftModel &model)
{
Q_ASSERT_X(sApp, Q_FUNC_INFO, "Missing sApp");
@@ -323,6 +329,25 @@ namespace BlackCore
return removed;
}
bool CSimulatorCommon::parseCommandLine(const QString &commandLine, const CIdentifier &originator)
{
if (this->isMyIdentifier(originator)) { return false; }
if (commandLine.isEmpty()) { return false; }
CSimpleCommandParser parser(
{
".plugin", ".drv", ".driver"
});
parser.parse(commandLine);
if (!parser.isKnownCommand()) { return false; }
if (parser.matchesPart(1, "unload"))
{
this->unload();
return true;
}
return this->parseDetails(parser);
}
void CSimulatorCommon::ps_oneSecondTimer()
{
blinkHighlightedAircraft();