mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-03 15:45:46 +08:00
Remark: Doxygen <70 warnings
This commit is contained in:
@@ -84,14 +84,13 @@ namespace BlackCore
|
||||
IContextApplication(QObject *parent = nullptr) : QObject(parent), m_dBusInterface(nullptr) {}
|
||||
|
||||
signals:
|
||||
/*!
|
||||
* \brief Status message
|
||||
* \param message
|
||||
*/
|
||||
//! \brief Status message
|
||||
void statusMessage(const BlackMisc::CStatusMessage &message);
|
||||
|
||||
|
||||
//! Widget GUI is about to start
|
||||
void widgetGuiStarting() const;
|
||||
|
||||
//! Widget GUI is about to terminate
|
||||
void widgetGuiTerminating() const;
|
||||
|
||||
public slots:
|
||||
|
||||
@@ -145,14 +145,6 @@ namespace BlackCore
|
||||
// Q_ASSERT_X(success, "CDBusServer::addObject", "Registration failed");
|
||||
}
|
||||
|
||||
/*
|
||||
* Print last error message
|
||||
*/
|
||||
void CDBusServer::printError() const
|
||||
{
|
||||
qWarning() << m_busServer.lastError().name();
|
||||
}
|
||||
|
||||
/*
|
||||
* Last error
|
||||
*/
|
||||
|
||||
@@ -30,6 +30,7 @@ namespace BlackCore
|
||||
Q_CLASSINFO("D-Bus Interface", BLACKCORE_DBUSERVER_SERVICENAME)
|
||||
|
||||
public:
|
||||
//! \brief Service name of DBus serve
|
||||
static const QString ServiceName;
|
||||
|
||||
/*!
|
||||
@@ -73,24 +74,12 @@ namespace BlackCore
|
||||
}
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Constructor
|
||||
* \param parent
|
||||
*/
|
||||
CDBusServer(const QString &address, QObject *parent = 0);
|
||||
//! \brief Constructor
|
||||
CDBusServer(const QString &address, QObject *parent = nullptr);
|
||||
|
||||
/*!
|
||||
* \brief Adds a QObject to be exposed to DBus
|
||||
* \param name
|
||||
* \param object
|
||||
*/
|
||||
//!! \brief Adds a QObject to be exposed to DBus
|
||||
void addObject(const QString &name, QObject *object);
|
||||
|
||||
/*!
|
||||
* \brief printError
|
||||
*/
|
||||
void printError() const;
|
||||
|
||||
/*!
|
||||
* \brief Last error
|
||||
* \return
|
||||
|
||||
@@ -117,6 +117,12 @@ namespace BlackCore
|
||||
*/
|
||||
virtual bool isConnected() const = 0;
|
||||
|
||||
signals:
|
||||
/*!
|
||||
* \brief Connection has been terminated
|
||||
*/
|
||||
void terminate();
|
||||
|
||||
public slots:
|
||||
////////////////////////////////////////////////////////////////
|
||||
//! \name Network slots
|
||||
@@ -398,6 +404,7 @@ namespace BlackCore
|
||||
|
||||
/*!
|
||||
* We received a reply to one of our queries.
|
||||
* \param callsign capabilities for this callsign
|
||||
* \param flags A combination of capabilities flags.
|
||||
* \sa sendCapabilitiesQuery
|
||||
*/
|
||||
|
||||
@@ -26,8 +26,10 @@ namespace BlackCore
|
||||
using namespace BlackMisc::Aviation;
|
||||
using namespace BlackMisc::Network;
|
||||
|
||||
//! \brief dispatch exception
|
||||
void exceptionDispatcher(const char *caller);
|
||||
|
||||
//! \brief Constructor
|
||||
CNetworkVatlib::CNetworkVatlib(QObject *parent)
|
||||
: INetwork(parent),
|
||||
m_loginMode(LoginNormal),
|
||||
@@ -174,6 +176,11 @@ namespace BlackCore
|
||||
catch (...) { exceptionDispatcher(Q_FUNC_INFO); }
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Convert connection status (from Cvatlib_Network to INetwork)
|
||||
* \param status
|
||||
* \return
|
||||
*/
|
||||
INetwork::ConnectionStatus convertConnectionStatus(Cvatlib_Network::connStatus status)
|
||||
{
|
||||
switch (status)
|
||||
@@ -576,6 +583,11 @@ namespace BlackCore
|
||||
/********************************** shimlib callbacks ************************************/
|
||||
/********************************** * * * * * * * * * * * * * * * * * * * ************************************/
|
||||
|
||||
/*!
|
||||
* \brief Cast from *void to *CNetworkVatlib
|
||||
* \param cbvar
|
||||
* \return
|
||||
*/
|
||||
CNetworkVatlib *cbvar_cast(void *cbvar)
|
||||
{
|
||||
return static_cast<CNetworkVatlib *>(cbvar);
|
||||
|
||||
@@ -21,52 +21,58 @@
|
||||
|
||||
namespace BlackCore
|
||||
{
|
||||
|
||||
/*!
|
||||
* \brief Our implementation for the VATSIM protocol
|
||||
*/
|
||||
class CNetworkVatlib : public INetwork
|
||||
{
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
//! \brief Constructor
|
||||
CNetworkVatlib(QObject *parent = nullptr);
|
||||
|
||||
//! \brief Destructor
|
||||
virtual ~CNetworkVatlib();
|
||||
|
||||
//! \brief Is connected?
|
||||
bool isConnected() const { return m_status == Cvatlib_Network::connStatus_Connected; }
|
||||
|
||||
public: // INetwork slots overrides
|
||||
// INetwork slots overrides
|
||||
virtual void presetServer(const BlackMisc::Network::CServer &server) override;
|
||||
virtual void presetCallsign(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void presetIcaoCodes(const BlackMisc::Aviation::CAircraftIcao &icao) override;
|
||||
virtual void presetLoginMode(LoginMode mode) override;
|
||||
virtual void initiateConnection() override;
|
||||
virtual void terminateConnection() override;
|
||||
virtual void sendPing(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
|
||||
// Network
|
||||
virtual void presetServer(const BlackMisc::Network::CServer &server);
|
||||
virtual void presetCallsign(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void presetIcaoCodes(const BlackMisc::Aviation::CAircraftIcao &icao);
|
||||
virtual void presetLoginMode(LoginMode mode);
|
||||
virtual void initiateConnection();
|
||||
virtual void terminateConnection();
|
||||
virtual void sendPing(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
virtual void sendRealNameQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendIpQuery();
|
||||
virtual void sendServerQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
// queries
|
||||
virtual void sendRealNameQuery(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void sendIpQuery() override;
|
||||
virtual void sendServerQuery(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
|
||||
// Text messages
|
||||
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &messages);
|
||||
virtual void sendTextMessages(const BlackMisc::Network::CTextMessageList &messages) override;
|
||||
|
||||
// ATC
|
||||
virtual void sendAtcQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendAtcQuery(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void sendAtisQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
|
||||
// Aircraft
|
||||
virtual void sendCapabilitiesQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendIcaoCodesQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void sendFrequencyQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
virtual void setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft);
|
||||
virtual void setOwnAircraftPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude);
|
||||
virtual void setOwnAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation);
|
||||
virtual void setOwnAircraftAvionics(const BlackMisc::Aviation::CComSystem &com1, const BlackMisc::Aviation::CComSystem &com2,
|
||||
const BlackMisc::Aviation::CTransponder &xpdr);
|
||||
virtual void sendCapabilitiesQuery(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void sendIcaoCodesQuery(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void sendFrequencyQuery(const BlackMisc::Aviation::CCallsign &callsign) override;
|
||||
virtual void setOwnAircraft(const BlackMisc::Aviation::CAircraft &aircraft) override;
|
||||
virtual void setOwnAircraftPosition(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude) override;
|
||||
virtual void setOwnAircraftSituation(const BlackMisc::Aviation::CAircraftSituation &situation) override;
|
||||
virtual void setOwnAircraftAvionics(const BlackMisc::Aviation::CComSystem &com1,
|
||||
const BlackMisc::Aviation::CComSystem &com2,
|
||||
const BlackMisc::Aviation::CTransponder &xpdr) override;
|
||||
|
||||
// Weather
|
||||
virtual void sendMetarQuery(const QString &airportICAO);
|
||||
virtual void sendWeatherDataQuery(const QString &airportICAO);
|
||||
virtual void sendMetarQuery(const QString &airportICAO) override;
|
||||
virtual void sendWeatherDataQuery(const QString &airportICAO) override;
|
||||
|
||||
private slots:
|
||||
void replyToFrequencyQuery(const BlackMisc::Aviation::CCallsign &callsign);
|
||||
@@ -108,9 +114,6 @@ namespace BlackCore
|
||||
void process();
|
||||
void update();
|
||||
|
||||
signals:
|
||||
void terminate();
|
||||
|
||||
public:
|
||||
//! Deletion policy for QScopedPointer
|
||||
struct VatlibQScopedPointerDeleter
|
||||
|
||||
@@ -586,8 +586,10 @@ namespace BlackCore
|
||||
/********************************** shimlib callbacks ************************************/
|
||||
/********************************** * * * * * * * * * * * * * * * * * * * ************************************/
|
||||
|
||||
/*
|
||||
* Cast
|
||||
/*!
|
||||
* \brief Cast from *void to *CVoiceVatlib
|
||||
* \param cbvar
|
||||
* \return
|
||||
*/
|
||||
CVoiceVatlib *cbvar_cast_voice(void *cbvar)
|
||||
{
|
||||
|
||||
@@ -152,7 +152,7 @@ namespace BlackCore
|
||||
/*!
|
||||
* \brief Room status update, used in callback
|
||||
* \param comUnit
|
||||
* \param upd
|
||||
* \param roomStatus
|
||||
*/
|
||||
void changeRoomStatus(ComUnit comUnit, Cvatlib_Voice_Simple::roomStatusUpdate roomStatus);
|
||||
|
||||
|
||||
@@ -78,7 +78,7 @@ namespace BlackMisc
|
||||
}
|
||||
|
||||
/*
|
||||
* Equal?
|
||||
* As string?
|
||||
*/
|
||||
QString CAircraftIcao::asString() const
|
||||
{
|
||||
|
||||
@@ -17,7 +17,7 @@ namespace BlackMisc
|
||||
namespace Aviation
|
||||
{
|
||||
/*!
|
||||
* Value object encapsulating information for ICAO classification
|
||||
* Value object for ICAO classification
|
||||
*/
|
||||
class CAircraftIcao : public BlackMisc::CValueObject
|
||||
{
|
||||
@@ -37,99 +37,54 @@ namespace BlackMisc
|
||||
*/
|
||||
CAircraftIcao(const QString &icao, const QString &type, const QString &airline, const QString &livery, const QString &color)
|
||||
: m_designator(icao.trimmed().toUpper()), m_type(type.trimmed().toUpper()), m_airline(airline.trimmed().toUpper()),
|
||||
m_livery(livery.trimmed().toUpper()), m_color(color.trimmed().toUpper()) {}
|
||||
m_livery(livery.trimmed().toUpper()), m_color(color.trimmed().toUpper()) {}
|
||||
|
||||
/*!
|
||||
* \brief QVariant, required for DBus QVariant lists
|
||||
* \return
|
||||
*/
|
||||
virtual QVariant toQVariant() const
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Get ICAO designator, e.g. "B737"
|
||||
* \return
|
||||
*/
|
||||
//! Get ICAO designator, e.g. "B737"
|
||||
const QString &getDesignator() const { return m_designator; }
|
||||
|
||||
/*!
|
||||
* Set callsign
|
||||
* \param callsign
|
||||
*/
|
||||
//! Set callsign
|
||||
void setDesignator(const QString &icaoDesignator) { this->m_designator = icaoDesignator.trimmed().toUpper(); }
|
||||
|
||||
/*!
|
||||
* \brief Get airline
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get airline
|
||||
const QString &getAirline() const { return this->m_airline; }
|
||||
|
||||
/*!
|
||||
* \brief Set airline
|
||||
* \param airline
|
||||
*/
|
||||
//! \brief Set airline
|
||||
void setAirline(const QString &airline) { this->m_airline = airline.trimmed().toUpper(); }
|
||||
|
||||
/*!
|
||||
* \brief Airline?
|
||||
* \return
|
||||
*/
|
||||
//! \brief Airline available?
|
||||
bool hasAirline() const { return !this->m_airline.isEmpty(); }
|
||||
|
||||
/*!
|
||||
* \brief Get livery
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get livery
|
||||
const QString &getLivery() const { return this->m_livery; }
|
||||
|
||||
/*!
|
||||
* \brief Set airline
|
||||
* \param livery
|
||||
*/
|
||||
//! \brief Set livery
|
||||
void setLivery(const QString &livery) { this->m_livery = livery.trimmed().toUpper(); }
|
||||
|
||||
/*!
|
||||
* \brief Livery?
|
||||
* \return
|
||||
*/
|
||||
//! \brief has livery?
|
||||
bool hasLivery() const { return !this->m_livery.isEmpty(); }
|
||||
|
||||
/*!
|
||||
* \brief Get livery or color
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get livery or color
|
||||
const QString &getLiveryOrColor() const { return this->hasLivery() ? this->m_livery : this->m_color; }
|
||||
|
||||
/*!
|
||||
* \brief Get color
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get color
|
||||
const QString &getColor() const { return this->m_color; }
|
||||
|
||||
/*!
|
||||
* \brief Set color
|
||||
* \param color
|
||||
*/
|
||||
//! \brief Set color
|
||||
void setColor(const QString &color) { this->m_color = color.trimmed().toUpper(); }
|
||||
|
||||
/*!
|
||||
* \brief Color?
|
||||
* \return
|
||||
*/
|
||||
//! \brief Color available?
|
||||
bool hasColor() const { return !this->m_color.isEmpty(); }
|
||||
|
||||
/*!
|
||||
* \brief Get type
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get type
|
||||
const QString &getType() const { return this->m_type; }
|
||||
|
||||
/*!
|
||||
* \brief Get engine type
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get engine type
|
||||
QString getEngineType() const
|
||||
{
|
||||
if (this->m_type.length() != 3) return "";
|
||||
@@ -137,39 +92,24 @@ namespace BlackMisc
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief As string for GUI representation
|
||||
* \return
|
||||
* \brief As string for GUI representation by index
|
||||
* \remarks Different from toQString()
|
||||
*/
|
||||
QString asString() const;
|
||||
|
||||
/*!
|
||||
* \brief Set type
|
||||
* \param type
|
||||
*/
|
||||
//! \brief Set type
|
||||
void setType(const QString &type) { this->m_type = type.trimmed().toUpper(); }
|
||||
|
||||
/*!
|
||||
* \brief Equal operator ==
|
||||
* \param other
|
||||
* @return
|
||||
*/
|
||||
//! \brief Equal operator ==
|
||||
bool operator ==(const CAircraftIcao &other) const;
|
||||
|
||||
/*!
|
||||
* \brief Unequal operator ==
|
||||
* \param other
|
||||
* @return
|
||||
*/
|
||||
//! \brief Unequal operator !=
|
||||
bool operator !=(const CAircraftIcao &other) const;
|
||||
|
||||
/*!
|
||||
* \brief Value hash
|
||||
*/
|
||||
virtual uint getValueHash() const;
|
||||
//! \brief Value hash
|
||||
virtual uint getValueHash() const override;
|
||||
|
||||
/*!
|
||||
* \brief Register metadata
|
||||
*/
|
||||
//! \brief Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
/*!
|
||||
@@ -184,62 +124,33 @@ namespace BlackMisc
|
||||
IndexAsString
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief Property by index
|
||||
* \param index
|
||||
* \return
|
||||
*/
|
||||
virtual QVariant propertyByIndex(int index) const;
|
||||
//! \copydoc CValueObject::propertyByIndex
|
||||
virtual QVariant propertyByIndex(int index) const override;
|
||||
|
||||
/*!
|
||||
* \brief Property by index as string
|
||||
* \param index
|
||||
* \param i18n
|
||||
* \return
|
||||
*/
|
||||
virtual QString propertyByIndexAsString(int index, bool i18n) const;
|
||||
//! \copydoc CValueObject::propertyByIndex(index, i18n)
|
||||
virtual QString propertyByIndexAsString(int index, bool i18n) const override;
|
||||
|
||||
/*!
|
||||
* \brief Property by index (setter)
|
||||
* \param variant
|
||||
* \param index
|
||||
*/
|
||||
virtual void setPropertyByIndex(const QVariant &variant, int index);
|
||||
//! \copydoc CValueObject::setPropertyByIndex(variant, index)
|
||||
virtual void setPropertyByIndex(const QVariant &variant, int index) override;
|
||||
|
||||
protected:
|
||||
/*!
|
||||
* \brief Rounded value as string
|
||||
* \param i18n
|
||||
* \return
|
||||
*/
|
||||
//! \copydoc CValueObject::convertToQString
|
||||
virtual QString convertToQString(bool i18n = false) const;
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::getMetaTypeId
|
||||
*/
|
||||
virtual int getMetaTypeId() const;
|
||||
//! \copydoc CValueObject::getMetaTypeId
|
||||
virtual int getMetaTypeId() const override;
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::isA
|
||||
*/
|
||||
virtual bool isA(int metaTypeId) const;
|
||||
//! \copydoc CValueObject::isA
|
||||
virtual bool isA(int metaTypeId) const override;
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::compareImpl
|
||||
*/
|
||||
virtual int compareImpl(const CValueObject &other) const;
|
||||
//! \copydoc CValueObject::compareImpl
|
||||
virtual int compareImpl(const CValueObject &other) const override;
|
||||
|
||||
/*!
|
||||
* \brief Stream to DBus <<
|
||||
* \param argument
|
||||
*/
|
||||
virtual void marshallToDbus(QDBusArgument &argument) const;
|
||||
//! \copydoc CValueObject::marshallToDbus
|
||||
virtual void marshallToDbus(QDBusArgument &argument) const override;
|
||||
|
||||
/*!
|
||||
* \brief Stream from DBus >>
|
||||
* \param argument
|
||||
*/
|
||||
virtual void unmarshallFromDbus(const QDBusArgument &argument);
|
||||
//! \copydoc CValueObject::unmarshallFromDbus
|
||||
virtual void unmarshallFromDbus(const QDBusArgument &argument) override;
|
||||
|
||||
private:
|
||||
QString m_designator;
|
||||
|
||||
@@ -27,32 +27,19 @@ namespace BlackMisc
|
||||
class CAircraftSituation : public BlackMisc::CValueObject, public BlackMisc::Geo::ICoordinateGeodetic
|
||||
{
|
||||
public:
|
||||
/*!
|
||||
* Default constructor.
|
||||
*/
|
||||
//! \brief Default constructor.
|
||||
CAircraftSituation() : m_timestamp(QDateTime::currentDateTimeUtc()) {}
|
||||
|
||||
/*!
|
||||
* Constructor.
|
||||
* \param position
|
||||
* \param altitude
|
||||
* \param heading
|
||||
* \param pitch
|
||||
* \param bank
|
||||
* \param gs
|
||||
* \param parent
|
||||
*/
|
||||
//! \brief Comprehensive Constructor
|
||||
CAircraftSituation(const BlackMisc::Geo::CCoordinateGeodetic &position, const BlackMisc::Aviation::CAltitude &altitude,
|
||||
const BlackMisc::Aviation::CHeading &heading = BlackMisc::Aviation::CHeading(),
|
||||
const BlackMisc::PhysicalQuantities::CAngle &pitch = BlackMisc::PhysicalQuantities::CAngle(),
|
||||
const BlackMisc::PhysicalQuantities::CAngle &bank = BlackMisc::PhysicalQuantities::CAngle(),
|
||||
const BlackMisc::PhysicalQuantities::CSpeed &gs = BlackMisc::PhysicalQuantities::CSpeed())
|
||||
: m_position(position), m_altitude(altitude), m_heading(heading), m_pitch(pitch), m_bank(bank), m_groundspeed(gs),
|
||||
m_timestamp(QDateTime::currentDateTimeUtc()) {}
|
||||
m_timestamp(QDateTime::currentDateTimeUtc()) {}
|
||||
|
||||
/*!
|
||||
* \brief Properties by index
|
||||
*/
|
||||
//! \brief Properties by index
|
||||
enum ColumnIndex
|
||||
{
|
||||
IndexPosition = 1000, // used, so it can be chained in aircraft
|
||||
@@ -68,198 +55,102 @@ namespace BlackMisc
|
||||
IndexTimeStampFormatted
|
||||
};
|
||||
|
||||
/*!
|
||||
* \brief Property by index
|
||||
* \param index
|
||||
* \return
|
||||
*/
|
||||
virtual QVariant propertyByIndex(int index) const;
|
||||
//! \copydoc CValueObject::propertyByIndex(index)
|
||||
virtual QVariant propertyByIndex(int index) const override;
|
||||
|
||||
/*!
|
||||
* \brief Property by index as string
|
||||
* \param index
|
||||
* \param i18n
|
||||
* \return
|
||||
*/
|
||||
virtual QString propertyByIndexAsString(int index, bool i18n) const;
|
||||
//! \copydoc CValueObject::propertyByIndexAsString
|
||||
virtual QString propertyByIndexAsString(int index, bool i18n) const override;
|
||||
|
||||
/*!
|
||||
* \brief Property by index
|
||||
* \param variant
|
||||
* \param index
|
||||
*/
|
||||
virtual void setPropertyByIndex(const QVariant &variant, int index);
|
||||
//! \copydoc CValueObject::setPropertyByIndex(variant,index)
|
||||
virtual void setPropertyByIndex(const QVariant &variant, int index) override;
|
||||
|
||||
/*!
|
||||
* \brief QVariant, required for DBus QVariant lists
|
||||
* \return
|
||||
*/
|
||||
virtual QVariant toQVariant() const
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Get position
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get position
|
||||
const BlackMisc::Geo::CCoordinateGeodetic &getPosition() const { return this->m_position; }
|
||||
|
||||
/*!
|
||||
* \brief Set position
|
||||
* \param position
|
||||
*/
|
||||
//! \brief Set position
|
||||
void setPosition(const BlackMisc::Geo::CCoordinateGeodetic &position) { this->m_position = position; }
|
||||
|
||||
/*!
|
||||
* \brief Get latitude
|
||||
* \return
|
||||
*/
|
||||
//! \copydoc ICoordinateGeodetic::latitude()
|
||||
virtual const BlackMisc::Geo::CLatitude &latitude() const { return this->m_position.latitude(); }
|
||||
|
||||
/*!
|
||||
* \brief Get longitude
|
||||
* \return
|
||||
*/
|
||||
//! \copydoc ICoordinateGeodetic::longitude()
|
||||
virtual const BlackMisc::Geo::CLongitude &longitude() const { return this->m_position.longitude(); }
|
||||
|
||||
/*!
|
||||
* \brief Get height
|
||||
* \return
|
||||
*/
|
||||
//! \copydoc CCoordinateGeodetic::height
|
||||
const BlackMisc::PhysicalQuantities::CLength &getHeight() const { return this->m_position.height(); }
|
||||
|
||||
/*!
|
||||
* \brief Set height
|
||||
* \param
|
||||
*/
|
||||
//! \brief Set height
|
||||
void setHeight(const BlackMisc::PhysicalQuantities::CLength &height) { this->m_position.setHeight(height); }
|
||||
|
||||
/*!
|
||||
* \brief Get heading
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get heading
|
||||
const BlackMisc::Aviation::CHeading &getHeading() const { return this->m_heading; }
|
||||
|
||||
/*!
|
||||
* \brief Set heading
|
||||
* \param
|
||||
*/
|
||||
//! \brief Set heading
|
||||
void setHeading(const BlackMisc::Aviation::CHeading &heading) { this->m_heading = heading; }
|
||||
|
||||
/*!
|
||||
* \brief Get altitude (true)
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get altitude (true)
|
||||
const BlackMisc::Aviation::CAltitude &getAltitude() const { return this->m_altitude; }
|
||||
|
||||
/*!
|
||||
* \brief Set altitude
|
||||
* \param
|
||||
*/
|
||||
//! \brief Set altitude
|
||||
void setAltitude(const BlackMisc::Aviation::CAltitude &altitude) { this->m_altitude = altitude; }
|
||||
|
||||
/*!
|
||||
* \brief Get pitch
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get pitch
|
||||
const BlackMisc::PhysicalQuantities::CAngle &getPitch() const { return this->m_pitch; }
|
||||
|
||||
/*!
|
||||
* \brief Set pitch
|
||||
* \param
|
||||
*/
|
||||
//! \brief Set pitch
|
||||
void setPitch(const BlackMisc::PhysicalQuantities::CAngle &pitch) { this->m_pitch = pitch; }
|
||||
|
||||
/*!
|
||||
* \brief Get bank
|
||||
* \return
|
||||
*/
|
||||
//! Get bank (angle)
|
||||
const BlackMisc::PhysicalQuantities::CAngle &getBank() const { return this->m_bank; }
|
||||
|
||||
/*!
|
||||
* \brief Set bank
|
||||
* \param
|
||||
*/
|
||||
//! \brief Set bank (angle)
|
||||
void setBank(const BlackMisc::PhysicalQuantities::CAngle &bank) { this->m_bank = bank; }
|
||||
|
||||
/*!
|
||||
* \brief Get groundspeed
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get groundspeed
|
||||
const BlackMisc::PhysicalQuantities::CSpeed &getGroundSpeed() const { return this->m_groundspeed; }
|
||||
|
||||
/*!
|
||||
* \brief Set groundspeed
|
||||
* \param
|
||||
*/
|
||||
//! \brief Set groundspeed
|
||||
void setGroundspeed(const BlackMisc::PhysicalQuantities::CSpeed &groundspeed) { this->m_groundspeed = groundspeed; }
|
||||
|
||||
/*!
|
||||
* \brief Timestamp
|
||||
* \return
|
||||
*/
|
||||
//! \brief Timestamp
|
||||
const QDateTime &getTimestamp() const { return this->m_timestamp;}
|
||||
|
||||
/*!
|
||||
* \brief Equal operator ==
|
||||
* \param other
|
||||
* @return
|
||||
*/
|
||||
//! \brief Equal operator ==
|
||||
bool operator ==(const CAircraftSituation &other) const;
|
||||
|
||||
/*!
|
||||
* \brief Unequal operator ==
|
||||
* \param other
|
||||
* @return
|
||||
*/
|
||||
//! \brief Unequal operator !=
|
||||
bool operator !=(const CAircraftSituation &other) const;
|
||||
|
||||
/*!
|
||||
* \brief Value hash
|
||||
*/
|
||||
//! \copydoc CValueObject::getValueHash
|
||||
virtual uint getValueHash() const;
|
||||
|
||||
/*!
|
||||
* \brief Register metadata
|
||||
*/
|
||||
//! \brief Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
|
||||
protected:
|
||||
/*!
|
||||
* \brief Rounded value as string
|
||||
* \param i18n
|
||||
* \return
|
||||
*/
|
||||
virtual QString convertToQString(bool i18n = false) const;
|
||||
//! \copydoc CValueObject::convertToQString
|
||||
virtual QString convertToQString(bool i18n = false) const override;
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::getMetaTypeId
|
||||
*/
|
||||
virtual int getMetaTypeId() const;
|
||||
//! \copydoc CValueObject::getMetaTypeId
|
||||
virtual int getMetaTypeId() const override;
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::isA
|
||||
*/
|
||||
virtual bool isA(int metaTypeId) const;
|
||||
//! \copydoc CValueObject::isA
|
||||
virtual bool isA(int metaTypeId) const override;
|
||||
|
||||
/*!
|
||||
* \copydoc CValueObject::compareImpl
|
||||
*/
|
||||
virtual int compareImpl(const CValueObject &other) const;
|
||||
//! \copydoc CValueObject::compareImpl
|
||||
virtual int compareImpl(const CValueObject &other) const override;
|
||||
|
||||
/*!
|
||||
* \brief Stream to DBus <<
|
||||
* \param argument
|
||||
*/
|
||||
virtual void marshallToDbus(QDBusArgument &argument) const;
|
||||
//! \copydoc CValueObject::marshallToDbus
|
||||
virtual void marshallToDbus(QDBusArgument &argument) const override;
|
||||
|
||||
/*!
|
||||
* \brief Stream from DBus >>
|
||||
* \param argument
|
||||
*/
|
||||
virtual void unmarshallFromDbus(const QDBusArgument &argument);
|
||||
//! \copydoc CValueObject::unmarshallFromDbus
|
||||
virtual void unmarshallFromDbus(const QDBusArgument &argument) override;
|
||||
|
||||
private:
|
||||
BlackMisc::Geo::CCoordinateGeodetic m_position;
|
||||
|
||||
@@ -32,29 +32,17 @@ namespace BlackMisc
|
||||
ReferenceNorth m_north; //!< magnetic or true?
|
||||
|
||||
protected:
|
||||
/*!
|
||||
* \brief Specific stream operation for heading
|
||||
* \param i18n
|
||||
* \return
|
||||
*/
|
||||
virtual QString convertToQString(bool i18n = false) const;
|
||||
//! \copydoc CValueObject::convertToQString
|
||||
virtual QString convertToQString(bool i18n = false) const override;
|
||||
|
||||
/*!
|
||||
* \brief Stream to DBus <<
|
||||
* \param argument
|
||||
*/
|
||||
virtual void marshallToDbus(QDBusArgument &argument) const;
|
||||
//! \copydoc CValueObject::marshallToDbus
|
||||
virtual void marshallToDbus(QDBusArgument &argument) const override;
|
||||
|
||||
/*!
|
||||
* \brief Stream from DBus >>
|
||||
* \param argument
|
||||
*/
|
||||
virtual void unmarshallFromDbus(const QDBusArgument &argument);
|
||||
//! \copydoc CValueObject::unmarshallFromDbus
|
||||
virtual void unmarshallFromDbus(const QDBusArgument &argument) override;
|
||||
|
||||
public:
|
||||
/*!
|
||||
* \brief Default constructor: 0 heading true
|
||||
*/
|
||||
//! \brief Default constructor: 0 heading true
|
||||
CHeading() : CAngle(0, BlackMisc::PhysicalQuantities::CAngleUnit::rad()), m_north(Magnetic) {}
|
||||
|
||||
/*!
|
||||
@@ -65,57 +53,31 @@ namespace BlackMisc
|
||||
*/
|
||||
CHeading(double value, ReferenceNorth north, const BlackMisc::PhysicalQuantities::CAngleUnit &unit) : CAngle(value, unit), m_north(north) {}
|
||||
|
||||
/*!
|
||||
* \brief Constructor by CAngle
|
||||
* \param north
|
||||
* \param magnetic
|
||||
*/
|
||||
//! \brief Constructor by CAngle
|
||||
CHeading(CAngle heading, ReferenceNorth north) : CAngle(heading), m_north(north) {}
|
||||
|
||||
/*!
|
||||
* \brief Virtual method to return QVariant, used with DBUS QVariant lists
|
||||
* \return
|
||||
*/
|
||||
virtual QVariant toQVariant() const
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
virtual QVariant toQVariant() const override
|
||||
{
|
||||
return QVariant::fromValue(*this);
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Equal operator ==
|
||||
* \param other
|
||||
* @return
|
||||
*/
|
||||
//! \brief Equal operator ==
|
||||
bool operator ==(const CHeading &other) const;
|
||||
|
||||
/*!
|
||||
* \brief Unequal operator ==
|
||||
* \param other
|
||||
* @return
|
||||
*/
|
||||
//! \brief Unequal operator !=
|
||||
bool operator !=(const CHeading &other) const;
|
||||
|
||||
/*!
|
||||
* \brief Magnetic heading?
|
||||
* \return
|
||||
*/
|
||||
//! \brief Magnetic heading?
|
||||
bool isMagneticHeading() const { return Magnetic == this->m_north; }
|
||||
|
||||
/*!
|
||||
* \brief True heading?
|
||||
* \return
|
||||
*/
|
||||
//! \brief True heading?
|
||||
bool isTrueHeading() const { return True == this->m_north; }
|
||||
|
||||
/*!
|
||||
* \brief Get reference north (magnetic or true)
|
||||
* \return
|
||||
*/
|
||||
//! \brief Get reference north (magnetic or true)
|
||||
ReferenceNorth getReferenceNorth() const { return m_north; }
|
||||
|
||||
/*!
|
||||
* \brief Register metadata
|
||||
*/
|
||||
//! \brief Register metadata
|
||||
static void registerMetadata();
|
||||
};
|
||||
|
||||
|
||||
@@ -169,7 +169,7 @@ namespace BlackMisc
|
||||
/*!
|
||||
* \brief Calculate a single hash value based on a list of individual hash values
|
||||
* \param values
|
||||
* \param classTypeId add a hash value for class name on top
|
||||
* \param className add a hash value for class name on top
|
||||
* \return
|
||||
*/
|
||||
uint calculateHash(const QList<uint> &values, const char *className);
|
||||
|
||||
@@ -94,7 +94,7 @@ namespace BlackMisc
|
||||
template <class T> bool hasObject(const QString &name = T::staticMetaObject.className()) const
|
||||
{
|
||||
QObject *qobj = getQObjectNothrow(name);
|
||||
return qobj && qobject_cast<T*>(qobj);
|
||||
return qobj && qobject_cast<T *>(qobj);
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -109,7 +109,6 @@ namespace BlackMisc
|
||||
* Removes an object pointer, given by its name.
|
||||
* You usually use the type-safe removeObject method instead.
|
||||
* \param name
|
||||
* \param object
|
||||
*/
|
||||
virtual void removeQObject(const QString &name) = 0;
|
||||
|
||||
@@ -127,7 +126,7 @@ namespace BlackMisc
|
||||
*/
|
||||
QObject *getQObjectNothrow(const QString &name)
|
||||
{
|
||||
return const_cast<QObject *>(static_cast<const IContext*>(this)->getQObjectNothrow(name));
|
||||
return const_cast<QObject *>(static_cast<const IContext *>(this)->getQObjectNothrow(name));
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@@ -65,10 +65,7 @@ namespace BlackMisc
|
||||
*/
|
||||
CCoordinateNed(double north, double east, double down) : CVector3DBase(north, east, down), m_referencePosition(), m_hasReferencePosition(false) {}
|
||||
|
||||
/*!
|
||||
* \brief Copy constructor
|
||||
* \param otherNed
|
||||
*/
|
||||
//! \brief Copy constructor
|
||||
CCoordinateNed(const CCoordinateNed &other) :
|
||||
CVector3DBase(other), m_referencePosition(other.m_referencePosition), m_hasReferencePosition(other.m_hasReferencePosition) {}
|
||||
|
||||
|
||||
@@ -371,7 +371,9 @@ namespace BlackMisc
|
||||
|
||||
/*!
|
||||
* Convert from other unit to this unit.
|
||||
* \param
|
||||
* \param value other value
|
||||
* \param unit other unit
|
||||
* \return
|
||||
*/
|
||||
double convertFrom(double value, const CMeasurementUnit &unit) const;
|
||||
|
||||
|
||||
@@ -124,7 +124,7 @@ namespace BlackMisc
|
||||
/*
|
||||
* Compare with value map
|
||||
*/
|
||||
bool operator==(const CValueMap &valueMap, const CValueObject &uc)
|
||||
bool operator==(const CValueMap &valueMap, const CValueObject &valueObject)
|
||||
{
|
||||
if (valueMap.isEmpty()) return valueMap.isWildcard();
|
||||
QMap<int, QVariant>::const_iterator it;
|
||||
@@ -132,7 +132,7 @@ namespace BlackMisc
|
||||
for (it = map.begin(); it != map.end(); ++it)
|
||||
{
|
||||
// QVariant cannot be compared directly
|
||||
QVariant p = uc.propertyByIndex(it.key()); // from value object
|
||||
QVariant p = valueObject.propertyByIndex(it.key()); // from value object
|
||||
QVariant v = it.value(); // from map
|
||||
if (!BlackMisc::equalQVariants(p, v)) return false;
|
||||
}
|
||||
@@ -142,34 +142,34 @@ namespace BlackMisc
|
||||
/*
|
||||
* Compare with value map
|
||||
*/
|
||||
bool operator!=(const CValueMap &valueMap, const CValueObject &uc)
|
||||
bool operator!=(const CValueMap &valueMap, const CValueObject &valueObject)
|
||||
{
|
||||
return !(valueMap == uc);
|
||||
return !(valueMap == valueObject);
|
||||
}
|
||||
|
||||
/*
|
||||
* Compare with value map
|
||||
*/
|
||||
bool operator==(const CValueObject &uc, const CValueMap &valueMap)
|
||||
bool operator==(const CValueObject &valueObject, const CValueMap &valueMap)
|
||||
{
|
||||
return valueMap == uc;
|
||||
return valueMap == valueObject;
|
||||
}
|
||||
|
||||
/*
|
||||
* Compare with value map
|
||||
*/
|
||||
bool operator!=(const CValueObject &uc, const CValueMap &valueMap)
|
||||
bool operator!=(const CValueObject &valueObject, const CValueMap &valueMap)
|
||||
{
|
||||
return !(valueMap == uc);
|
||||
return !(valueMap == valueObject);
|
||||
}
|
||||
|
||||
/*
|
||||
* from DBus
|
||||
*/
|
||||
const QDBusArgument &operator>>(const QDBusArgument &argument, CValueObject &uc)
|
||||
const QDBusArgument &operator>>(const QDBusArgument &argument, CValueObject &valueObject)
|
||||
{
|
||||
argument.beginStructure();
|
||||
uc.unmarshallFromDbus(argument);
|
||||
valueObject.unmarshallFromDbus(argument);
|
||||
argument.endStructure();
|
||||
return argument;
|
||||
}
|
||||
@@ -177,10 +177,10 @@ namespace BlackMisc
|
||||
/*
|
||||
* to DBus
|
||||
*/
|
||||
QDBusArgument &operator<<(QDBusArgument &argument, const CValueObject &uc)
|
||||
QDBusArgument &operator<<(QDBusArgument &argument, const CValueObject &valueObject)
|
||||
{
|
||||
argument.beginStructure();
|
||||
uc.marshallToDbus(argument);
|
||||
valueObject.marshallToDbus(argument);
|
||||
argument.endStructure();
|
||||
return argument;
|
||||
}
|
||||
|
||||
@@ -46,21 +46,27 @@ namespace BlackMisc
|
||||
return textStream;
|
||||
}
|
||||
|
||||
//! \brief Operator << when there is no debug stream
|
||||
friend QNoDebug operator<<(QNoDebug nodebug, const CValueObject & /* uc */)
|
||||
/*!
|
||||
* \brief Operator << when there is no debug stream
|
||||
* \param nodebug
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
friend QNoDebug operator<<(QNoDebug nodebug, const CValueObject &valueObject)
|
||||
{
|
||||
Q_UNUSED(valueObject);
|
||||
return nodebug;
|
||||
}
|
||||
|
||||
/*!
|
||||
* \brief Stream operator << for QDataStream
|
||||
* \param stream
|
||||
* \param uc
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
friend QDataStream &operator<<(QDataStream &stream, const CValueObject &uc)
|
||||
friend QDataStream &operator<<(QDataStream &stream, const CValueObject &valueObject)
|
||||
{
|
||||
stream << uc.stringForStreaming();
|
||||
stream << valueObject.stringForStreaming();
|
||||
return stream;
|
||||
}
|
||||
|
||||
@@ -76,23 +82,55 @@ namespace BlackMisc
|
||||
return ostr;
|
||||
}
|
||||
|
||||
//! \brief Unmarshalling operator >>, DBus to object
|
||||
friend const QDBusArgument &operator>>(const QDBusArgument &argument, CValueObject &uc);
|
||||
/*!
|
||||
* \brief Unmarshalling operator >>, DBus to object
|
||||
* \param argument
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
friend const QDBusArgument &operator>>(const QDBusArgument &argument, CValueObject &valueObject);
|
||||
|
||||
//! \brief Marshalling operator <<, object to DBus
|
||||
friend QDBusArgument &operator<<(QDBusArgument &argument, const CValueObject &uc);
|
||||
/*!
|
||||
* \brief Marshalling operator <<, object to DBus
|
||||
* \param argument
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
friend QDBusArgument &operator<<(QDBusArgument &argument, const CValueObject &valueObject);
|
||||
|
||||
/*!
|
||||
* \brief Operator == with value map
|
||||
* \param valueMap
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
friend bool operator==(const CValueMap &valueMap, const CValueObject &valueObject);
|
||||
|
||||
/*!
|
||||
* \brief Operator != with value map
|
||||
* \param valueMap
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
friend bool operator!=(const CValueMap &valueMap, const CValueObject &valueObject);
|
||||
|
||||
//! \brief Operator == with value map
|
||||
friend bool operator==(const CValueMap &valueMap, const CValueObject &uc);
|
||||
|
||||
//! \brief Operator != with value map
|
||||
friend bool operator!=(const CValueMap &valueMap, const CValueObject &uc);
|
||||
/*!
|
||||
* \brief operator == with value map
|
||||
* \param valueObject
|
||||
* \param valueMap
|
||||
* \return
|
||||
*/
|
||||
friend bool operator==(const CValueObject &valueObject, const CValueMap &valueMap);
|
||||
|
||||
//! \brief Operator == with value map
|
||||
friend bool operator==(const CValueObject &uc, const CValueMap &valueMap);
|
||||
|
||||
//! \brief Operator != with value map
|
||||
friend bool operator!=(const CValueObject &uc, const CValueMap &valueMap);
|
||||
/*!
|
||||
* \brief Operator != with value map
|
||||
* \param valueObject
|
||||
* \param valueMap
|
||||
* \return
|
||||
*/
|
||||
friend bool operator!=(const CValueObject &valueObject, const CValueMap &valueMap);
|
||||
|
||||
/*!
|
||||
* Compares two instances of related classes
|
||||
@@ -249,13 +287,13 @@ namespace BlackMisc
|
||||
* <a href="https://dev.vatsim-germany.org/boards/15/topics/26?r=865#message-865">Forum</a>
|
||||
*
|
||||
* \param argument
|
||||
* \param uc
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
template <class T> typename std::enable_if<std::is_base_of<CValueObject, T>::value, QDBusArgument>::type const &
|
||||
operator>>(const QDBusArgument &argument, T &uc)
|
||||
operator>>(const QDBusArgument &argument, T &valueObject)
|
||||
{
|
||||
return argument >> static_cast<CValueObject &>(uc);
|
||||
return argument >> static_cast<CValueObject &>(valueObject);
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -268,55 +306,59 @@ namespace BlackMisc
|
||||
* <a href="https://dev.vatsim-germany.org/boards/15/topics/26?r=865#message-865">Forum</a>
|
||||
*
|
||||
* \param argument
|
||||
* \param uc
|
||||
* \param valueObject
|
||||
* \return
|
||||
*/
|
||||
template <class T> typename std::enable_if<std::is_base_of<CValueObject, T>::value, QDBusArgument>::type &
|
||||
operator<<(QDBusArgument &argument, const T &uc)
|
||||
operator<<(QDBusArgument &argument, const T &valueObject)
|
||||
{
|
||||
return argument << static_cast<CValueObject const &>(uc);
|
||||
return argument << static_cast<CValueObject const &>(valueObject);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Allow comparison with QVariant, e.g.
|
||||
* QVariant == CFrequency ?
|
||||
* Allow comparison with QVariant, e.g. QVariant == CFrequency ?
|
||||
* \param variant
|
||||
* \param valueObject
|
||||
*/
|
||||
template <class T> typename std::enable_if<std::is_base_of<CValueObject, T>::value, bool>::type
|
||||
operator==(const QVariant &variant, const T &uc)
|
||||
operator==(const QVariant &variant, const T &valueObject)
|
||||
{
|
||||
if (!variant.canConvert<T>()) return false;
|
||||
T vuc = variant.value<T>();
|
||||
return vuc == uc;
|
||||
return vuc == valueObject;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Allow comparison with QVariant, e.g.
|
||||
* QVariant != CFrequency ?
|
||||
* \brief Allow comparison with QVariant, e.g. QVariant != CFrequency ?
|
||||
* \param variant
|
||||
* \param valueObject
|
||||
*/
|
||||
template <class T> typename std::enable_if<std::is_base_of<CValueObject, T>::value, bool>::type
|
||||
operator!=(const QVariant &variant, const T &uc)
|
||||
operator!=(const QVariant &variant, const T &valueObject)
|
||||
{
|
||||
return !(variant == uc);
|
||||
return !(variant == valueObject);
|
||||
}
|
||||
|
||||
/*!
|
||||
* Allow comparison with QVariant, e.g.
|
||||
* QVariant == CFrequency ?
|
||||
* \brief Allow comparison with QVariant, e.g. QVariant == CFrequency ?
|
||||
* \param valueObject
|
||||
* \param variant
|
||||
*/
|
||||
template <class T> typename std::enable_if<std::is_base_of<CValueObject, T>::value, bool>::type
|
||||
operator==(const T &uc, const QVariant &variant)
|
||||
operator==(const T &valueObject, const QVariant &variant)
|
||||
{
|
||||
return variant == uc;
|
||||
return variant == valueObject;
|
||||
}
|
||||
|
||||
/*!
|
||||
* Allow comparison with QVariant, e.g.
|
||||
* QVariant != CFrequency ?
|
||||
* \brief Allow comparison with QVariant, e.g. QVariant != CFrequency ?
|
||||
* \param valueObject
|
||||
* \param variant
|
||||
*/
|
||||
template <class T> typename std::enable_if<std::is_base_of<CValueObject, T>::value, bool>::type
|
||||
operator!=(const T &uc, const QVariant &variant)
|
||||
operator!=(const T &valueObject, const QVariant &variant)
|
||||
{
|
||||
return variant != uc;
|
||||
return variant != valueObject;
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
Reference in New Issue
Block a user