mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-07 11:05:33 +08:00
refs #415, mixin style lists
This commit is contained in:
@@ -64,17 +64,5 @@ namespace BlackMisc
|
||||
push_back(engine);
|
||||
}
|
||||
}
|
||||
|
||||
void CAircraftEngineList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAircraftEngine>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAircraftEngine>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAircraftEngine>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAircraftEngine>>();
|
||||
qRegisterMetaType<CAircraftEngineList>();
|
||||
qDBusRegisterMetaType<CAircraftEngineList>();
|
||||
registerMetaValueType<CAircraftEngineList>();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -23,9 +23,13 @@ namespace BlackMisc
|
||||
namespace Aviation
|
||||
{
|
||||
//! Value object encapsulating a list of aircraft engines.
|
||||
class BLACKMISC_EXPORT CAircraftEngineList : public CSequence<CAircraftEngine>
|
||||
class BLACKMISC_EXPORT CAircraftEngineList :
|
||||
public CSequence<CAircraftEngine>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftEngineList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftEngineList)
|
||||
|
||||
//! Default constructor.
|
||||
CAircraftEngineList() = default;
|
||||
|
||||
@@ -41,20 +45,12 @@ namespace BlackMisc
|
||||
//! Engine number 1..x on?
|
||||
bool isEngineOn(int engineNumber) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! \copydoc CValueObject::toJson
|
||||
QJsonObject toJson() const;
|
||||
|
||||
//! \copydoc CValueObject::convertFromJson
|
||||
void convertFromJson(const QJsonObject &json);
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -27,7 +27,6 @@ namespace BlackMisc
|
||||
public CSequence<CAircraftIcaoCode>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftIcaoCodeList>
|
||||
{
|
||||
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftIcaoCodeList)
|
||||
|
||||
|
||||
@@ -27,17 +27,6 @@ namespace BlackMisc
|
||||
CSequence<CAircraft>(other)
|
||||
{ }
|
||||
|
||||
void CAircraftList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAircraft>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAircraft>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAircraft>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAircraft>>();
|
||||
qRegisterMetaType<CAircraftList>();
|
||||
qDBusRegisterMetaType<CAircraftList>();
|
||||
registerMetaValueType<CAircraftList>();
|
||||
}
|
||||
|
||||
CUserList CAircraftList::getPilots() const
|
||||
{
|
||||
return this->findBy(Predicates::MemberValid(&CAircraft::getPilot)).transform(Predicates::MemberTransform(&CAircraft::getPilot));
|
||||
|
||||
@@ -29,12 +29,16 @@ namespace BlackMisc
|
||||
namespace Aviation
|
||||
{
|
||||
//! Value object encapsulating a list of aircraft.
|
||||
//! \deprecated consider using CSimulatedAircraftList
|
||||
class BLACKMISC_EXPORT CAircraftList :
|
||||
public CSequence<CAircraft>,
|
||||
public ICallsignObjectList<CAircraft, CAircraftList>,
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAircraft, CAircraftList>
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAircraft, CAircraftList>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftList)
|
||||
|
||||
//! Default constructor.
|
||||
CAircraftList();
|
||||
|
||||
@@ -44,19 +48,10 @@ namespace BlackMisc
|
||||
//! All pilots (with valid data)
|
||||
BlackMisc::Network::CUserList getPilots() const;
|
||||
|
||||
//! \brief Update aircraft with data from VATSIM data file
|
||||
//! \remarks The list used needs to contain the VATSIM data file objects
|
||||
//! Update aircraft with data from VATSIM data file
|
||||
//! \remarks The list used ("this") needs to contain the VATSIM data file objects
|
||||
bool updateWithVatsimDataFileData(CAircraft &aircraftToBeUpdated) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -20,16 +20,5 @@ namespace BlackMisc
|
||||
CSequence<CAircraftParts>(other)
|
||||
{ }
|
||||
|
||||
void CAircraftPartsList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAircraftParts>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAircraftParts>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAircraftParts>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAircraftParts>>();
|
||||
qRegisterMetaType<CAircraftPartsList>();
|
||||
qDBusRegisterMetaType<CAircraftPartsList>();
|
||||
registerMetaValueType<CAircraftPartsList>();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -26,24 +26,17 @@ namespace BlackMisc
|
||||
class BLACKMISC_EXPORT CAircraftPartsList :
|
||||
public CSequence<CAircraftParts>,
|
||||
public ITimestampObjectList<CAircraftParts, CAircraftPartsList>,
|
||||
public ICallsignObjectList<CAircraftParts, CAircraftPartsList>
|
||||
public ICallsignObjectList<CAircraftParts, CAircraftPartsList>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftPartsList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftPartsList)
|
||||
|
||||
//! Default constructor.
|
||||
CAircraftPartsList();
|
||||
|
||||
//! Construct from a base class object.
|
||||
CAircraftPartsList(const CSequence<CAircraftParts> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
@@ -24,16 +24,5 @@ namespace BlackMisc
|
||||
CSequence<CAircraftSituation>(other)
|
||||
{ }
|
||||
|
||||
void CAircraftSituationList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAircraftSituation>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAircraftSituation>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAircraftSituation>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAircraftSituation>>();
|
||||
qRegisterMetaType<CAircraftSituationList>();
|
||||
qDBusRegisterMetaType<CAircraftSituationList>();
|
||||
registerMetaValueType<CAircraftSituationList>();
|
||||
}
|
||||
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -26,24 +26,19 @@ namespace BlackMisc
|
||||
class BLACKMISC_EXPORT CAircraftSituationList :
|
||||
public CSequence<CAircraftSituation>,
|
||||
public ITimestampObjectList<CAircraftSituation, CAircraftSituationList>,
|
||||
public ICallsignObjectList<CAircraftSituation, CAircraftSituationList>
|
||||
public ICallsignObjectList<CAircraftSituation, CAircraftSituationList>,
|
||||
public BlackMisc::Mixin::MetaType<CAircraftSituationList>
|
||||
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAircraftSituationList)
|
||||
|
||||
//! Default constructor.
|
||||
CAircraftSituationList();
|
||||
|
||||
//! Construct from a base class object.
|
||||
CAircraftSituationList(const CSequence<CAircraftSituation> &other);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
@@ -19,17 +19,6 @@ namespace BlackMisc
|
||||
CSequence<CAirport>(other)
|
||||
{ }
|
||||
|
||||
void CAirportList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAirport>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAirport>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAirport>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAirport>>();
|
||||
qRegisterMetaType<CAirportList>();
|
||||
qDBusRegisterMetaType<CAirportList>();
|
||||
registerMetaValueType<CAirportList>();
|
||||
}
|
||||
|
||||
CAirportList CAirportList::findByIcao(const CAirportIcaoCode &icao) const
|
||||
{
|
||||
return this->findBy(&CAirport::getIcao, icao);
|
||||
|
||||
@@ -29,9 +29,12 @@ namespace BlackMisc
|
||||
//! Value object for a list of airports.
|
||||
class BLACKMISC_EXPORT CAirportList :
|
||||
public CSequence<CAirport>,
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAirport, CAirportList>
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAirport, CAirportList>,
|
||||
public BlackMisc::Mixin::MetaType<CAirportList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAirportList)
|
||||
|
||||
//! Default constructor.
|
||||
CAirportList();
|
||||
|
||||
@@ -46,16 +49,6 @@ namespace BlackMisc
|
||||
|
||||
//! Find first station by callsign, if not return given value / default
|
||||
CAirport findFirstByIcao(const CAirportIcaoCode &icao, const CAirport &ifNotFound = CAirport()) const;
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
} //namespace
|
||||
} // namespace
|
||||
|
||||
@@ -24,17 +24,6 @@ namespace BlackMisc
|
||||
CSequence<CAtcStation>(other)
|
||||
{ }
|
||||
|
||||
void CAtcStationList::registerMetadata()
|
||||
{
|
||||
qRegisterMetaType<BlackMisc::CSequence<CAtcStation>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CSequence<CAtcStation>>();
|
||||
qRegisterMetaType<BlackMisc::CCollection<CAtcStation>>();
|
||||
qDBusRegisterMetaType<BlackMisc::CCollection<CAtcStation>>();
|
||||
qRegisterMetaType<CAtcStationList>();
|
||||
qDBusRegisterMetaType<CAtcStationList>();
|
||||
registerMetaValueType<CAtcStationList>();
|
||||
}
|
||||
|
||||
CAtcStationList CAtcStationList::findIfComUnitTunedIn25KHz(const CComSystem &comUnit) const
|
||||
{
|
||||
return this->findBy([&](const CAtcStation & atcStation)
|
||||
|
||||
@@ -31,9 +31,12 @@ namespace BlackMisc
|
||||
class BLACKMISC_EXPORT CAtcStationList :
|
||||
public CSequence<CAtcStation>,
|
||||
public BlackMisc::Aviation::ICallsignObjectList<CAtcStation, CAtcStationList>,
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAtcStation, CAtcStationList>
|
||||
public BlackMisc::Geo::IGeoObjectWithRelativePositionList<CAtcStation, CAtcStationList>,
|
||||
public BlackMisc::Mixin::MetaType<CAtcStationList>
|
||||
{
|
||||
public:
|
||||
BLACKMISC_DECLARE_USING_MIXIN_METATYPE(CAtcStationList)
|
||||
|
||||
//! Default constructor.
|
||||
CAtcStationList();
|
||||
|
||||
@@ -54,16 +57,6 @@ namespace BlackMisc
|
||||
//! Both sides (booking, online station) will be updated.
|
||||
//! \pre Can be used only if the stored data in this list are online ATC stations
|
||||
int syncronizeWithBookedStation(CAtcStation &bookedAtcStation);
|
||||
|
||||
//! \copydoc CValueObject::toQVariant
|
||||
QVariant toQVariant() const { return QVariant::fromValue(*this); }
|
||||
|
||||
//! \copydoc CValueObject::convertFromQVariant
|
||||
void convertFromQVariant(const QVariant &variant) { BlackMisc::setFromQVariant(this, variant); }
|
||||
|
||||
//! Register metadata
|
||||
static void registerMetadata();
|
||||
|
||||
};
|
||||
|
||||
} //namespace
|
||||
|
||||
Reference in New Issue
Block a user