mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-03-23 07:15:35 +08:00
Decouple flightloop processing from DBus
There are needs to not only run DBus tasks, but also different generic tasks during the processing loop.
This commit is contained in:
committed by
Klaus Basan
parent
41ac858df8
commit
cfc9c3166e
@@ -35,9 +35,6 @@ namespace XSwiftBus
|
||||
//! \warning Before calling this method, make sure that a valid DBus connection was set.
|
||||
void registerDBusObjectPath(const std::string &interfaceName, const std::string &objectPath);
|
||||
|
||||
//! Process DBus messages. Needs to be implemented by deriving classes
|
||||
virtual int processDBus() = 0;
|
||||
|
||||
protected:
|
||||
//! DBus message handler
|
||||
virtual DBusHandlerResult dbusMessageHandler(const CDBusMessage &message) = 0;
|
||||
|
||||
@@ -156,9 +156,9 @@ namespace XSwiftBus
|
||||
{
|
||||
auto *plugin = static_cast<CPlugin *>(refcon);
|
||||
plugin->m_dbusDispatcher.runOnce();
|
||||
if (plugin->m_service) { plugin->m_service->processDBus(); }
|
||||
if (plugin->m_weather) { plugin->m_weather->processDBus(); }
|
||||
if (plugin->m_traffic) { plugin->m_traffic->processDBus(); }
|
||||
if (plugin->m_service) { plugin->m_service->process(); }
|
||||
if (plugin->m_weather) { plugin->m_weather->process(); }
|
||||
if (plugin->m_traffic) { plugin->m_traffic->process(); }
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
@@ -625,7 +625,7 @@ namespace XSwiftBus
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
}
|
||||
|
||||
int CService::processDBus()
|
||||
int CService::process()
|
||||
{
|
||||
invokeQueuedDBusCalls();
|
||||
return 1;
|
||||
|
||||
@@ -226,7 +226,8 @@ namespace XSwiftBus
|
||||
//! \copydoc XSwiftBus::CMessageBoxControl::toggle
|
||||
void toggleMessageBoxVisibility() { m_messages.toggle(); }
|
||||
|
||||
int processDBus() override;
|
||||
//! Perform generic processing
|
||||
int process();
|
||||
|
||||
protected:
|
||||
DBusHandlerResult dbusMessageHandler(const CDBusMessage &message) override;
|
||||
|
||||
@@ -723,7 +723,7 @@ namespace XSwiftBus
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
}
|
||||
|
||||
int CTraffic::processDBus()
|
||||
int CTraffic::process()
|
||||
{
|
||||
invokeQueuedDBusCalls();
|
||||
return 1;
|
||||
|
||||
@@ -118,7 +118,8 @@ namespace XSwiftBus
|
||||
//! Sets the aircraft with callsign to be followed in plane view
|
||||
void setFollowedAircraft(const std::string &callsign);
|
||||
|
||||
int processDBus() override;
|
||||
//! Perform generic processing
|
||||
int process();
|
||||
|
||||
protected:
|
||||
DBusHandlerResult dbusMessageHandler(const CDBusMessage &message) override;
|
||||
|
||||
@@ -241,7 +241,7 @@ namespace XSwiftBus
|
||||
return DBUS_HANDLER_RESULT_HANDLED;
|
||||
}
|
||||
|
||||
int CWeather::processDBus()
|
||||
int CWeather::process()
|
||||
{
|
||||
invokeQueuedDBusCalls();
|
||||
return 1;
|
||||
|
||||
@@ -97,7 +97,9 @@ namespace XSwiftBus
|
||||
//! \param turbulence Amount of turbulence [0,10].
|
||||
void setWindLayer(int layer, int altitude, double direction, int speed, int shearDirection, int shearSpeed, int turbulence);
|
||||
|
||||
virtual int processDBus() override;
|
||||
//! Perform generic processing
|
||||
int process();
|
||||
|
||||
protected:
|
||||
virtual DBusHandlerResult dbusMessageHandler(const CDBusMessage &message) override;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user