refs #292, found during debugging

* const override of toQVariant
* missing getter / setters
* metaTuple
* improved toQString
* CClient::setCapability bug
* Fixed wrong ICAO check
This commit is contained in:
Klaus Basan
2014-07-08 01:14:17 +02:00
parent b949a2635b
commit 0a7d025b8d
18 changed files with 52 additions and 57 deletions

View File

@@ -38,14 +38,8 @@ namespace BlackMisc
*/
CAudioDeviceList(const CSequence &other);
/*!
* \brief QVariant, required for DBus QVariant lists
* \return
*/
virtual QVariant asQVariant() const
{
return QVariant::fromValue(*this);
}
//! \copydoc CValueObject::toQVariant
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
/*!
* \brief Get output devices in that list

View File

@@ -318,15 +318,15 @@ namespace BlackMisc
*/
QJsonObject CAircraft::toJson() const
{
return BlackMisc::serializeJson(CAircraft::jsonMembers(), TupleConverter<CAircraft>::toTuple(*this));
return BlackMisc::serializeJson(TupleConverter<CAircraft>::toMetaTuple(*this));
}
/*
* To JSON
* From JSON
*/
void CAircraft::fromJson(const QJsonObject &json)
{
BlackMisc::deserializeJson(json, CAircraft::jsonMembers(), TupleConverter<CAircraft>::toTuple(*this));
BlackMisc::deserializeJson(json, TupleConverter<CAircraft>::toMetaTuple(*this));
}
/*

View File

@@ -35,10 +35,7 @@ namespace BlackMisc
CAircraftList(const CSequence<CAircraft> &other);
//! \copydoc CValueObject::toQVariant
virtual QVariant toQVariant() const
{
return QVariant::fromValue(*this);
}
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Find 0..n stations by callsign
CAircraftList findByCallsign(const CCallsign &callsign) const;

View File

@@ -71,7 +71,7 @@ namespace BlackMisc
*/
QJsonObject CAirport::toJson() const
{
return BlackMisc::serializeJson(CAirport::jsonMembers(), TupleConverter<CAirport>::toTuple(*this));
return BlackMisc::serializeJson(TupleConverter<CAirport>::toMetaTuple(*this));
}
/*
@@ -79,7 +79,7 @@ namespace BlackMisc
*/
void CAirport::fromJson(const QJsonObject &json)
{
BlackMisc::deserializeJson(json, CAirport::jsonMembers(), TupleConverter<CAirport>::toTuple(*this));
BlackMisc::deserializeJson(json, TupleConverter<CAirport>::toMetaTuple(*this));
}
/*

View File

@@ -71,6 +71,9 @@ namespace BlackMisc
return TupleConverter<CAirportIcao>::jsonMembers();
}
/*
* Unify ICAO code
*/
QString CAirportIcao::unifyAirportCode(const QString &icaoCode)
{
QString code = icaoCode.trimmed().toUpper();
@@ -79,6 +82,15 @@ namespace BlackMisc
return (reg.exactMatch(code)) ? code : "";
}
/*
* Valid ICAO designator?
*/
bool CAirportIcao::isValidIcaoDesignator(const QString &icaoCode)
{
QString icao = unifyAirportCode(icaoCode);
return icao.length() == 4;
}
/*
* Equal?
*/

View File

@@ -70,6 +70,9 @@ namespace BlackMisc
//! Unify code
static QString unifyAirportCode(const QString &icaoCode);
//! Valid ICAO designator
static bool isValidIcaoDesignator(const QString &icaoCode);
protected:
//! \copydoc CValueObject::convertToQString()
virtual QString convertToQString(bool i18n = false) const override;

View File

@@ -32,7 +32,7 @@ namespace BlackMisc
CAirportList(const CSequence<CAirport> &other);
//! \copydoc CValueObject::toQVariant()
virtual QVariant toQVariant() const { return QVariant::fromValue(*this); }
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Find 0..n airports by ICAO code
CAirportList findByIcao(const CAirportIcao &icao) const;

View File

@@ -33,10 +33,7 @@ namespace BlackMisc
CAtcStationList(const CSequence<CAtcStation> &other);
//! \copydoc CValueObject::toQVariant()
virtual QVariant toQVariant() const
{
return QVariant::fromValue(*this);
}
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Find 0..n stations by callsign
CAtcStationList findByCallsign(const CCallsign &callsign) const;

View File

@@ -32,10 +32,7 @@ namespace BlackMisc
CCallsignList(const CSequence<CCallsign> &other);
//! CValueObject::toQVariant()
virtual QVariant toQVariant() const
{
return QVariant::fromValue(*this);
}
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Register metadata
static void registerMetadata();

View File

@@ -32,10 +32,7 @@ namespace BlackMisc
CKeyboardKeyList(const CSequence<CKeyboardKey> &baseClass);
//! \copydoc CValueObject::toQVariant
virtual QVariant toQVariant() const override
{
return QVariant::fromValue(*this);
}
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Contains given hotkey function?
bool containsFunction(CKeyboardKey::HotkeyFunction function) const;

View File

@@ -34,7 +34,7 @@ namespace BlackMisc
CAircraftMappingList(const CSequence<CAircraftMapping> &other);
//! QVariant, required for DBus QVariant lists
virtual QVariant toQVariant() const { return QVariant::fromValue(*this); }
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Find by frequency
CAircraftMappingList findByIcaoCode(const BlackMisc::Aviation::CAircraftIcao &searchIcao, bool emptyMeansWildcard = true) const;

View File

@@ -11,6 +11,12 @@ namespace BlackMisc
QString CClient::convertToQString(bool i18n) const
{
QString s = this->m_user.toQString(i18n);
s.append(" capabilites: ").append(this->getCapabilitiesAsString());
s.append(" model: ").append(this->m_model.toQString(i18n));
if (!this->m_server.isEmpty())
{
s.append(" server:").append(this->m_server);
}
return s;
}
@@ -103,7 +109,7 @@ namespace BlackMisc
*/
QJsonObject CClient::toJson() const
{
return BlackMisc::serializeJson(CClient::jsonMembers(), TupleConverter<CClient>::toTuple(*this));
return BlackMisc::serializeJson(TupleConverter<CClient>::toMetaTuple(*this));
}
/*
@@ -111,7 +117,7 @@ namespace BlackMisc
*/
void CClient::fromJson(const QJsonObject &json)
{
BlackMisc::deserializeJson(json, CClient::jsonMembers(), TupleConverter<CClient>::toTuple(*this));
BlackMisc::deserializeJson(json, TupleConverter<CClient>::toMetaTuple(*this));
}
/*
@@ -119,7 +125,7 @@ namespace BlackMisc
*/
void CClient::setCapability(bool hasCapability, CClient::Capabilities capability)
{
this->m_capabilities.setPropertyByIndex(QVariant(hasCapability), capability);
this->m_capabilities.addValue(static_cast<int>(capability), hasCapability);
}
/*

View File

@@ -106,6 +106,12 @@ namespace BlackMisc
//! Set voice capabilities
void setVoiceCapabilities(const QString &flightPlanRemarks) { m_voiceCapabilities = CVoiceCapabilities(flightPlanRemarks);}
//! User
const CUser &getUser() const { return this->m_user; }
//! User
void setUser(const CUser &user) { this->m_user = user;}
//! Server
const QString &getServer() const { return this->m_server; }
@@ -164,7 +170,7 @@ namespace BlackMisc
} // namespace
} // namespace
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CClient, (o.m_user, o.m_model, o.m_capabilities))
BLACK_DECLARE_TUPLE_CONVERSION(BlackMisc::Network::CClient, (o.m_user, o.m_model, o.m_capabilities, o.m_server, o.m_voiceCapabilities))
Q_DECLARE_METATYPE(BlackMisc::Network::CClient)
#endif // guard

View File

@@ -28,7 +28,7 @@ namespace BlackMisc
CClientList(const CSequence &other);
//! QVariant, required for DBus QVariant lists
virtual QVariant asQVariant() const { return QVariant::fromValue(*this); }
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! Register metadata
static void registerMetadata();

View File

@@ -38,14 +38,8 @@ namespace BlackMisc
*/
CServerList(const CSequence<CServer> &other);
/*!
* \brief QVariant, required for DBus QVariant lists
* \return
*/
virtual QVariant toQVariant() const
{
return QVariant::fromValue(*this);
}
//! \copydoc CValueObject::toQVariant
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
/*!
* \brief Register metadata

View File

@@ -33,10 +33,7 @@ namespace BlackMisc
CStatusMessageList findBySeverity(CStatusMessage::StatusSeverity severity) const;
//! \copydoc CValueObject::asQVariant
virtual QVariant asQVariant() const
{
return QVariant::fromValue(*this);
}
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
//! \brief Register metadata of unit and quantity
static void registerMetadata();

View File

@@ -33,15 +33,10 @@ namespace BlackMisc
//! Construct from a base class object.
CVoiceRoomList(const CSequence &other);
//! \copydoc CValueObject::asQVariant
virtual QVariant asQVariant() const
{
return QVariant::fromValue(*this);
}
//! \copydoc CValueObject::toQVariant
virtual QVariant toQVariant() const override { return QVariant::fromValue(*this); }
/*!
* \brief Register metadata
*/
//! \brief Register metadata
static void registerMetadata();
//! Frequently needed for voice room resolutions