20#ifndef LOCALAIRCRAFTCACHE_HXX
21#define LOCALAIRCRAFTCACHE_HXX
28#include <QSharedPointer>
32#include <simgear/props/props.hxx>
78 QVariant
status(
int variant);
82 struct LocalizedStrings {
84 QMap<QByteArray, QString> strings;
87 friend QDataStream&
operator<<(QDataStream&,
const LocalizedStrings&);
88 friend QDataStream&
operator>>(QDataStream&, LocalizedStrings&);
90 using LocalizedStringsVec = QVector<LocalizedStrings>;
94 LocalizedStringsVec _localized;
99 QMap<QByteArray, QString> _currentStrings;
101 void doLocalizeStrings();
103 void readLocalizedStrings(SGPropertyNode_ptr simNode);
106class LocalAircraftCache :
public QObject
112 static LocalAircraftCache*
instance();
117 QStringList
paths()
const;
131 QVector<AircraftItemPtr>
allItems()
const;
189 void onScanResults();
191 void onScanFinished();
194 explicit LocalAircraftCache();
196 void abandonCurrentScan();
199 std::unique_ptr<AircraftCachePrivate> d;
QSharedPointer< AircraftItem > AircraftItemPtr
ParseSetXMLResult readAircraftProperties(const SGPath &path, SGPropertyNode_ptr props)
readAircraftProperties - helper to parse a -set.xml, but with the correct path setup (root,...
AircraftItemPtr itemAt(int index) const
static int ratingFromProperties(SGPropertyNode *node, int ratingIndex)
static bool isCandidateAircraftPath(QString path)
@helper to determine if a particular path is likely to contain aircraft or not.
QStringList paths() const
@ Retry
aircraft scan in progress, try again later
void addedItems(int count)
AircraftItemPtr primaryItemFor(AircraftItemPtr item) const
QVector< AircraftItemPtr > allItems() const
int findIndexWithUri(QUrl aircraftUri) const
void setPaths(QStringList paths)
static LocalAircraftCache * instance()
AircraftItemPtr findItemWithUri(QUrl aircraftUri) const
@ AircraftNeedsNewerSimulator
@ AircraftNeedsOlderSimulator
QVariant aircraftStatus(AircraftItemPtr item) const
int indexOfVariant(QUrl uri) const
friend QDataStream & operator<<(QDataStream &, const LocalizedStrings &)
friend QDataStream & operator>>(QDataStream &, LocalizedStrings &)
bool initFromFile(QDir dir, QString filePath)
void toDataStream(QDataStream &ds) const
QList< AircraftItemPtr > variants
void fromDataStream(QDataStream &ds)
QString description() const