refs #250, helper methods

* in aircraft class to compare COM
* in context / runtime component to check vitality of core
This commit is contained in:
Klaus Basan
2014-05-22 12:15:01 +02:00
parent 23b1013be7
commit e0b06e1555
5 changed files with 36 additions and 0 deletions

View File

@@ -398,6 +398,20 @@ namespace BlackCore
m_init = true;
}
bool CRuntime::hasRemoteApplicationContext() const
{
Q_ASSERT(this->m_contextApplication);
return !this->m_contextApplication->usingLocalObjects();
}
bool CRuntime::canPingApplicationContext() const
{
Q_ASSERT(this->m_contextApplication);
if (this->m_contextApplication->usingLocalObjects()) return true;
qint64 token = QDateTime::currentMSecsSinceEpoch();
return (token == this->m_contextApplication->ping(token));
}
void CRuntime::initDBusServer(const QString &dBusAddress)
{
if (this->m_dbusServer) return;

View File

@@ -187,6 +187,11 @@ namespace BlackCore
//! Init
void init(const CRuntimeConfig &config);
//! Remote application context, indicates distributed environment
bool hasRemoteApplicationContext() const;
//! Is application context available?
bool canPingApplicationContext() const;
private:
bool m_init; /*!< flag */

View File

@@ -88,6 +88,12 @@ namespace BlackGui
//! \remarks use this methods to hook up signal/slots with runtime
virtual void runtimeHasBeenSet() {}
//! \copydoc CRuntime::hasRemoteApplicationContext
bool hasRemoteApplicationContext() const { return this->m_runtime->hasRemoteApplicationContext(); }
//! \copydoc CRuntime::canPingApplicationContext
bool canPingApplicationContext() const { return this->m_runtime->canPingApplicationContext(); }
private:
BlackCore::CRuntime *m_runtime;
bool m_runtimeOwner;

View File

@@ -55,6 +55,14 @@ namespace BlackMisc
return this->m_distanceToPlane;
}
/*
* Same COM system data
*/
bool CAircraft::hasSameComData(const CComSystem &com1, const CComSystem &com2, const CTransponder &transponder)
{
return this->getCom1System() == com1 && this->getCom2System() == com2 && this->getTransponder() == transponder;
}
/*
* Valid for login
*/

View File

@@ -138,6 +138,9 @@ namespace BlackMisc
//! \brief Set COM2 system
void setCom2System(const CComSystem &comSystem) { this->m_com2system = comSystem; }
//! Identical COM system?
bool hasSameComData(const CComSystem &com1, const CComSystem &com2, const CTransponder &transponder);
//! \brief Is any (COM1/2) active frequency within 8.3383kHz channel?
bool isActiveFrequencyWithin8_33kHzChannel(const BlackMisc::PhysicalQuantities::CFrequency &comFrequency) const
{