refs #146, Minor changes and cleanup tasks

* CCallsign::getCallsignPronounced -> getTelephonyDesignator
* CAircraft , comments renamed to 1 line style //!
* CAtcStation, comments renamed to 1 line style //! and added method hasValidFrequency()
* CAvioTransponder changed formatting
* CUser, comments renamed to 1 line style //!
* CCallsign, m_callsignPronounced -> m_telephonyDesignator , comments renamed to 1 line style //!
This commit is contained in:
Klaus Basan
2014-02-25 00:36:33 +01:00
parent a43621774b
commit 6a24626c79
7 changed files with 114 additions and 266 deletions

View File

@@ -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,

View File

@@ -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; }

View File

@@ -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);
}

View File

@@ -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

View File

@@ -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;
}

View File

@@ -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

View File

@@ -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");
}