diff --git a/src/blackmisc/avaircraft.h b/src/blackmisc/avaircraft.h index d7023986d..819f0dc60 100644 --- a/src/blackmisc/avaircraft.h +++ b/src/blackmisc/avaircraft.h @@ -27,250 +27,169 @@ namespace BlackMisc class CAircraft : public BlackMisc::CValueObject, public BlackMisc::Geo::ICoordinateGeodetic { public: - /*! - * Default constructor. - */ + //! \brief Default constructor. CAircraft() : m_distanceToPlane(-1.0, BlackMisc::PhysicalQuantities::CLengthUnit::NM()) {} - /*! - * Constructor. - */ + //! \brief Constructor. CAircraft(const QString &callsign, const BlackMisc::Network::CUser &user, const CAircraftSituation &situation) : m_callsign(callsign), m_pilot(user), m_situation(situation), m_distanceToPlane(-1.0, BlackMisc::PhysicalQuantities::CLengthUnit::NM()) {} - /*! - * \copydoc CValueObject::toQVariant - */ + //! \copydoc CValueObject::toQVariant virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } - /*! - * Get callsign. - */ + //! \brief Get callsign. const CCallsign &getCallsign() const { return m_callsign; } - /*! - * Get callsign. - */ + //! \brief Get callsign. QString getCallsignAsString() const { return m_callsign.asString(); } - /*! - * Set callsign - */ + //! \brief Set callsign void setCallsign(const CCallsign &callsign) { this->m_callsign = callsign; this->m_pilot.setCallsign(callsign); } - /*! - * Get situation. - */ + //! \brief Get situation. const CAircraftSituation &getSituation() const { return m_situation; } - /*! - * Set situation. - */ + //! \brief Set situation. void setSituation(const CAircraftSituation &situation) { m_situation = situation; } - /*! - * Get user - */ + //! \brief Get user const BlackMisc::Network::CUser &getPilot() const { return m_pilot; } - /*! - * \brief Set user - */ + //! \brief Get user's real name + QString getPilotRealname() { return m_pilot.getRealName(); } + + //! \brief Get user's real id + QString getPilotId() { return m_pilot.getId(); } + + //! \brief Set user void setPilot(const BlackMisc::Network::CUser &user) { m_pilot = user; this->m_pilot.setCallsign(this->m_callsign);} - /*! - * Get ICAO info - */ + //! \brief Get ICAO info const CAircraftIcao &getIcaoInfo() const { return m_icao; } - /*! - * \brief Set ICAO info - */ + //! \brief Set ICAO info void setIcaoInfo(const CAircraftIcao &icao) { m_icao = icao; } - /*! - * Get the distance to own plane - */ + //! \brief Get the distance to own plane const BlackMisc::PhysicalQuantities::CLength &getDistanceToPlane() const { return m_distanceToPlane; } - /*! - * Set distance to own plane - */ + //! \brief Set distance to own plane void setDistanceToPlane(const BlackMisc::PhysicalQuantities::CLength &distance) { this->m_distanceToPlane = distance; } - /*! - * \brief Valid distance? - */ + //! \brief Valid distance? bool hasValidDistance() const { return !this->m_distanceToPlane.isNegativeWithEpsilonConsidered();} + //! \brief Has valid realname? + bool hasValidRealName() const { return this->m_pilot.hasValidRealName(); } + + //! \brief Has valid id? + bool hasValidId() const { return this->m_pilot.hasValidId(); } + /*! * \brief Calculcate distance to plane, set it, and also return it * \param position calculated from this postion to my own aircraft */ const BlackMisc::PhysicalQuantities::CLength &calculcateDistanceToPlane(const BlackMisc::Geo::CCoordinateGeodetic &position); - /*! - * \brief Get position - * \return - */ + //! \brief Get position BlackMisc::Geo::CCoordinateGeodetic getPosition() const { return this->m_situation.getPosition(); } - /*! - * \brief Set position - */ + //! \brief Set position void setPosition(const BlackMisc::Geo::CCoordinateGeodetic &position) { this->m_situation.setPosition(position); } - /*! - * \brief Get altitude - */ + //! \brief Get altitude const BlackMisc::Aviation::CAltitude &getAltitude() const { return this->m_situation.getAltitude(); } - /*! - * \brief Set altitude - */ + //! \brief Set altitude void setAltitude(const BlackMisc::Aviation::CAltitude &altitude) { this->m_situation.setAltitude(altitude); } - /*! - * \brief Get groundspeed - */ + //! \brief Get groundspeed const BlackMisc::PhysicalQuantities::CSpeed &getGroundSpeed() const { return this->m_situation.getGroundSpeed(); } - /*! - * \copydoc ICoordinateGeodetic::latitude - */ + //! \copydoc ICoordinateGeodetic::latitude virtual const BlackMisc::Geo::CLatitude &latitude() const override { return this->m_situation.latitude(); } - /*! - * \copydoc ICoordinateGeodetic::longitude - */ + //! \copydoc ICoordinateGeodetic::longitude virtual const BlackMisc::Geo::CLongitude &longitude() const override { return this->m_situation.longitude(); } - /*! - * \copydoc CCoordinateGeodetic::height - */ + //! \copydoc CCoordinateGeodetic::height const BlackMisc::PhysicalQuantities::CLength &getHeight() const { return this->m_situation.getHeight(); } - /*! - * \brief Get heading - */ + //! \brief Get heading const BlackMisc::Aviation::CHeading &getHeading() const { return this->m_situation.getHeading(); } - /*! - * \brief Get pitch - */ + //! \brief Get pitch const BlackMisc::PhysicalQuantities::CAngle &getPitch() const { return this->m_situation.getPitch(); } - /*! - * \brief Get bank - */ + //! \brief Get bank const BlackMisc::PhysicalQuantities::CAngle &getBank() const { return this->m_situation.getBank(); } - /*! - * \brief Get COM1 system - */ + //! \brief Get COM1 system const BlackMisc::Aviation::CComSystem &getCom1System() const { return this->m_com1system; } - /*! - * \brief Get COM2 system - */ + //! \brief Get COM2 system const BlackMisc::Aviation::CComSystem &getCom2System() const { return this->m_com2system; } - /*! - * \brief Set COM1 system - */ + //! \brief Set COM1 system void setCom1System(const CComSystem &comSystem) { this->m_com1system = comSystem; } - /*! - * \brief Set COM2 system - */ + //! \brief Set COM2 system void setCom2System(const CComSystem &comSystem) { this->m_com2system = comSystem; } - /*! - * \brief Is any (COM1/2) active frequency within 8.3383kHz channel? - */ + //! \brief Is any (COM1/2) active frequency within 8.3383kHz channel? bool isActiveFrequencyWithin8_33kHzChannel(const BlackMisc::PhysicalQuantities::CFrequency &comFrequency) { return this->m_com1system.isActiveFrequencyWithin8_33kHzChannel(comFrequency) || this->m_com2system.isActiveFrequencyWithin8_33kHzChannel(comFrequency); } - /*! - * \brief Is any (COM1/2) active frequency within 25kHz channel? - */ + //! \brief Is any (COM1/2) active frequency within 25kHz channel? bool isActiveFrequencyWithin25kHzChannel(const BlackMisc::PhysicalQuantities::CFrequency &comFrequency) { return this->m_com1system.isActiveFrequencyWithin25kHzChannel(comFrequency) || this->m_com2system.isActiveFrequencyWithin25kHzChannel(comFrequency); } - /*! - * \brief Get transponder - */ + //! \brief Get transponder const BlackMisc::Aviation::CTransponder &getTransponder() const { return this->m_transponder; } - /*! - * \brief Set transponder - */ + //! \brief Set transponder void setTransponder(const CTransponder &transponder) { this->m_transponder = transponder; } - /*! - * \brief Get transponder code - */ + //! \brief Get transponder code QString getTransponderCodeFormatted() const { return this->m_transponder.getTransponderCodeFormatted(); } - /*! - * \brief Get transponder code - */ + //! \brief Get transponder code qint32 getTransponderCode() const { return this->m_transponder.getTransponderCode(); } - /*! - * \brief Get transponder mode - */ + //! \brief Get transponder mode BlackMisc::Aviation::CTransponder::TransponderMode getTransponderMode() const { return this->m_transponder.getTransponderMode(); } - /*! - * \brief Is valid for login? - */ + //! \brief Is valid for login? bool isValidForLogin() const; - /*! - * \brief Meaningful default settings for COM Systems - */ + //! \brief Meaningful default settings for COM Systems void initComSystems(); - /*! - * \brief Meaningful default settings for Transponder - */ + //! \brief Meaningful default settings for Transponder void initTransponder(); - /*! - * \brief Equal operator == - */ + //! \brief Equal operator == bool operator ==(const CAircraft &other) const; - /*! - * \brief Unequal operator == - * \param other - * \return - */ + //! \brief Unequal operator != bool operator !=(const CAircraft &other) const; - /*! - * \copydoc CValueObject::getValueHash - */ + //! \copydoc CValueObject::getValueHash virtual uint getValueHash() const override; - /*! - * \brief Register metadata - */ + //! \brief Register metadata static void registerMetadata(); - /*! - * \brief Properties by index - */ + //! \brief Properties by index enum ColumnIndex { IndexCallsign = 0, diff --git a/src/blackmisc/avatcstation.h b/src/blackmisc/avatcstation.h index 17c20b692..bc61803c4 100644 --- a/src/blackmisc/avatcstation.h +++ b/src/blackmisc/avatcstation.h @@ -34,9 +34,7 @@ namespace BlackMisc { public: - /*! - * \brief Properties by index - */ + //! \brief Properties by index enum ColumnIndex { IndexCallsign = 0, @@ -62,19 +60,13 @@ namespace BlackMisc IndexVoiceRoomUrl }; - /*! - * \brief Default constructor. - */ + //! \brief Default constructor. CAtcStation(); - /*! - * \brief Simplified constructor - */ + //! \brief Simplified constructor CAtcStation(const QString &callsign); - /*! - * \brief ATC station constructor - */ + //! \brief ATC station constructor CAtcStation(const CCallsign &callsign, const BlackMisc::Network::CUser &controller, const BlackMisc::PhysicalQuantities::CFrequency &frequency, const BlackMisc::Geo::CCoordinateGeodetic &pos, const BlackMisc::PhysicalQuantities::CLength &range, @@ -144,6 +136,9 @@ namespace BlackMisc //! \brief Has valid id? bool hasValidId() const { return this->m_controller.hasValidId(); } + //! \brief Valid COM frequency + bool hasValidFrequency() const { return BlackMisc::Aviation::CComSystem::isValidCivilAviationFrequency(this->getFrequency()); } + //! Get frequency. const BlackMisc::PhysicalQuantities::CFrequency &getFrequency() const { return m_frequency; } diff --git a/src/blackmisc/avcallsign.cpp b/src/blackmisc/avcallsign.cpp index 51122fe00..f1231755f 100644 --- a/src/blackmisc/avcallsign.cpp +++ b/src/blackmisc/avcallsign.cpp @@ -18,7 +18,7 @@ namespace BlackMisc void CCallsign::marshallToDbus(QDBusArgument &argument) const { argument << this->m_callsignAsSet; - argument << this->m_callsignPronounced; + argument << this->m_telephonyDesignator; } /* @@ -27,7 +27,7 @@ namespace BlackMisc void CCallsign::unmarshallFromDbus(const QDBusArgument &argument) { argument >> this->m_callsignAsSet; - argument >> this->m_callsignPronounced; + argument >> this->m_telephonyDesignator; this->m_callsign = CCallsign::unifyCallsign(this->m_callsignAsSet); } diff --git a/src/blackmisc/avcallsign.h b/src/blackmisc/avcallsign.h index eece23344..5488eb24d 100644 --- a/src/blackmisc/avcallsign.h +++ b/src/blackmisc/avcallsign.h @@ -30,8 +30,8 @@ namespace BlackMisc /*! * Constructor. */ - CCallsign(const QString &callsign, const QString &callsignPronounced = "") - : m_callsignAsSet(callsign.trimmed()), m_callsign(CCallsign::unifyCallsign(callsign.trimmed())), m_callsignPronounced(callsignPronounced.trimmed()) + CCallsign(const QString &callsign, const QString &telephonyDesignator = "") + : m_callsignAsSet(callsign.trimmed()), m_callsign(CCallsign::unifyCallsign(callsign.trimmed())), m_telephonyDesignator(telephonyDesignator.trimmed()) {} /*! @@ -57,59 +57,37 @@ namespace BlackMisc //! \brief Is empty? bool isEmpty() const { return this->m_callsignAsSet.isEmpty(); } - /*! - * Get callsign. - */ + //! \brief Get callsign. const QString &asString() const { return this->m_callsign; } - /*! - * Get callsign. - */ + //! \brief Get callsign. const QString &getStringAsSet() const { return this->m_callsignAsSet; } - /*! - * \brief Get callsign pronounced - */ - const QString &getCallsignPronounced() const { return this->m_callsignPronounced; } + //! \brief Get callsign telephony designator (how callsign is pronounced) + const QString &getTelephonyDesignator() const { return this->m_telephonyDesignator; } - /*! - * \brief Get ICAO code, if this makes sense (EDDF_TWR -> EDDF) - */ + //! \brief Get ICAO code, if this makes sense (EDDF_TWR -> EDDF) QString getIcaoCode() const { return m_callsign.left(4).toUpper(); } - /*! - * \brief Makes this callsign looking like an observer callsign (DAMBZ -> DAMBZ_OBS) - */ + //! \brief Makes this callsign looking like an observer callsign (DAMBZ -> DAMBZ_OBS) QString getAsObserverCallsignString() const; - /*! - * \brief Equals callsign string? - */ + //! \brief Equals callsign string? bool equalsString(const QString &callsignString) const; - /*! - * \brief Equal operator == - */ + //! \brief Equal operator == bool operator ==(const CCallsign &other) const; - /*! - * \brief Unequal operator != - */ + //! \brief Unequal operator != bool operator !=(const CCallsign &other) const; - /*! - * \brief Less than operator < for sorting - */ + //! \brief Less than operator < for sorting bool operator <(const CCallsign &other) const; - /*! - * \copydoc CValueObject::getValueHash() - */ + //! \copydoc CValueObject::getValueHash() virtual uint getValueHash() const override; - /*! - * \brief Register metadata - */ + //! \brief Register metadata static void registerMetadata(); protected: @@ -144,7 +122,7 @@ namespace BlackMisc private: QString m_callsignAsSet; QString m_callsign; - QString m_callsignPronounced; + QString m_telephonyDesignator; }; } // namespace } // namespace diff --git a/src/blackmisc/aviotransponder.cpp b/src/blackmisc/aviotransponder.cpp index 7b19c8432..45c479ece 100644 --- a/src/blackmisc/aviotransponder.cpp +++ b/src/blackmisc/aviotransponder.cpp @@ -29,7 +29,8 @@ namespace BlackMisc bool valid = this->validValues(); if (!strict) return valid; Q_ASSERT_X(valid, "CTransponder::validate", "illegal values"); - if (!valid) throw std::range_error("Illegal values in CTransponder::validate"); + if (!valid) + throw std::range_error("Illegal values in CTransponder::validate"); return true; } diff --git a/src/blackmisc/nwuser.h b/src/blackmisc/nwuser.h index a28596539..4c25bbad8 100644 --- a/src/blackmisc/nwuser.h +++ b/src/blackmisc/nwuser.h @@ -36,106 +36,71 @@ namespace BlackMisc IndexCallsignIcon }; - /*! - * Default constructor. - */ + //! \brief Default constructor. CUser() {} - /*! - * Constructor. - */ - CUser(const QString &id, const QString &realname, const QString &email = "", const QString &password = "") - : m_id(id), m_realname(realname), m_email(email), m_password(password) + //! \brief Constructor. + CUser(const QString &id, const QString &realname, const BlackMisc::Aviation::CCallsign &callsign) + : m_id(id), m_realname(realname), m_callsign(callsign) {} - /*! - * \copydoc CValueObject::toQVariant() - */ + //! \brief Constructor. + CUser(const QString &id, const QString &realname, const QString &email = "", const QString &password = "", const BlackMisc::Aviation::CCallsign &callsign = BlackMisc::Aviation::CCallsign()) + : m_id(id), m_realname(realname), m_email(email), m_password(password), m_callsign(callsign) + {} + + //! \copydoc CValueObject::toQVariant() virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); } - /*! - * Get full name. - * \return - */ + //! Get full name. QString getRealName() const { return m_realname; } - /*! - * \brief setRealName - */ + //! \brief setRealName void setRealName(const QString &realname) { m_realname = realname.trimmed(); } - /*! - * Get password - */ + //! Get password QString getPassword() const { return m_password; } - /*! - * Set password - */ + //! Set password void setPassword(const QString &pw) { m_password = pw.trimmed(); } - /*! - * \brief Valid user object? - */ + //! \brief Valid user object? bool isValid() const { return !this->m_realname.isEmpty() && !this->m_id.isEmpty(); } - /*! - * \brief Valid credentials? - */ + //! \brief Valid credentials? bool hasValidCredentials() const { return this->isValid() && !this->m_password.isEmpty(); } - /*! - * \brief Valid real name? - */ + //! \brief Valid real name? bool hasValidRealName() const { return !this->m_realname.isEmpty(); } - /*! - * \brief Valid id? - */ + //! \brief Valid id? bool hasValidId() const { return !this->m_id.isEmpty(); } - /*! - * Has associated callsign? - */ + //! \brief Has associated callsign? bool hasValidCallsign() const { return !m_callsign.isEmpty(); } - /*! - * Get email. - */ + //! \brief Get email. QString getEmail() const { return m_email; } - /*! - * Set email. - */ + //! \brief Set email. void setEmail(const QString &email) { m_email = email.trimmed(); } - /*! - * \brief Valid email? - */ + //! \brief Valid email? bool hasValidEmail() const { return !this->m_email.isEmpty(); } - /*! - * Get id. - */ + //! \brief Get id. QString getId() const { return m_id; } - /*! - * \brief Set id - */ + //! \brief Set id void setId(const QString &id) { m_id = id.trimmed(); } - /*! - * Get associated callsign. - */ + //! \brief Get associated callsign. BlackMisc::Aviation::CCallsign getCallsign() const { return m_callsign; } - /*! - * \brief Set associated callsign - * \param callsign - */ + //! \brief Set associated callsign void setCallsign(const BlackMisc::Aviation::CCallsign &callsign) { m_callsign = callsign; } //! \copydoc CValueObject::toIcon() @@ -144,24 +109,16 @@ namespace BlackMisc return this->getCallsign().toIcon(); } - /*! - * \brief Equal operator == - */ + //! \brief Equal operator == bool operator ==(const CUser &other) const; - /*! - * \brief Unequal operator != - */ + //! \brief Unequal operator != bool operator !=(const CUser &other) const; - /*! - * \copydoc CValueObject::getValueHash() - */ + //! \copydoc CValueObject::getValueHash() virtual uint getValueHash() const override; - /*! - * \brief Register metadata - */ + //! \brief Register metadata static void registerMetadata(); /*! @@ -207,6 +164,4 @@ namespace BlackMisc } // namespace Q_DECLARE_METATYPE(BlackMisc::Network::CUser) - - #endif // guard diff --git a/tests/blackmisc/testaviation.cpp b/tests/blackmisc/testaviation.cpp index e5f0a1db9..dd3509a20 100644 --- a/tests/blackmisc/testaviation.cpp +++ b/tests/blackmisc/testaviation.cpp @@ -119,7 +119,7 @@ namespace BlackMiscTest QVERIFY2(list.size() == 2, "2 different callsigns"); list.remove(cs1); QVERIFY2(list.size() == 1, "Only one should be left in list"); - list.removeIf(&CCallsign::getCallsignPronounced, "München Radar"); + list.removeIf(&CCallsign::getTelephonyDesignator, "München Radar"); QVERIFY2(list.size() == 0, "Last should be gone"); }