mirror of
https://github.com/swift-project/pilotclient.git
synced 2026-04-13 15:45:42 +08:00
Ref T308, performance optimized fromDatabaseJsonCaching
* maps for id/object * caching fromDatabaseJsonCaching * fixed CAircraftModel::fromDatabaseJson wrong prefix
This commit is contained in:
@@ -22,6 +22,7 @@
|
||||
#include <QJsonValue>
|
||||
#include <QList>
|
||||
#include <QMultiMap>
|
||||
#include <QMap>
|
||||
#include <tuple>
|
||||
|
||||
using namespace BlackMisc::Network;
|
||||
@@ -1070,7 +1071,7 @@ namespace BlackMisc
|
||||
for (const CAircraftModel &model : *this)
|
||||
{
|
||||
CAircraftModel copy(model);
|
||||
copy.normalizeFileNameForDb();
|
||||
copy.normalizeFileNameForDb(); // strip full path
|
||||
QJsonValue v(copy.toDatabaseJson());
|
||||
array.append(v);
|
||||
}
|
||||
@@ -1163,5 +1164,19 @@ namespace BlackMisc
|
||||
}
|
||||
return stats;
|
||||
}
|
||||
|
||||
CAircraftModelList CAircraftModelList::fromDatabaseJsonCaching(const QJsonArray &array)
|
||||
{
|
||||
AircraftIcaoIdMap aircraftIcaos;
|
||||
LiveryIdMap liveries;
|
||||
DistributorIdMap distributors;
|
||||
|
||||
CAircraftModelList models;
|
||||
for (const QJsonValue &value : array)
|
||||
{
|
||||
models.push_back(CAircraftModel::fromDatabaseJsonCaching(value.toObject(), aircraftIcaos, liveries, distributors));
|
||||
}
|
||||
return models;
|
||||
}
|
||||
} // namespace
|
||||
} // namespace
|
||||
|
||||
Reference in New Issue
Block a user