File indexing completed on 2024-05-12 04:42:44

0001 /*
0002     SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "load.h"
0008 #include "datatypes_p.h"
0009 #include "json_p.h"
0010 
0011 using namespace KPublicTransport;
0012 
0013 namespace KPublicTransport {
0014 class LoadInfoPrivate : public QSharedData
0015 {
0016 public:
0017     Load::Category load = Load::Unknown;
0018     QString seatingClass;
0019 };
0020 }
0021 
0022 KPUBLICTRANSPORT_MAKE_GADGET(LoadInfo)
0023 KPUBLICTRANSPORT_MAKE_PROPERTY(LoadInfo, Load::Category, load, setLoad)
0024 KPUBLICTRANSPORT_MAKE_PROPERTY(LoadInfo, QString, seatingClass, setSeatingClass)
0025 
0026 QJsonObject LoadInfo::toJson(const LoadInfo &info)
0027 {
0028     return Json::toJson(info);
0029 }
0030 
0031 QJsonArray LoadInfo::toJson(const std::vector<LoadInfo> &loadInfos)
0032 {
0033     return Json::toJson(loadInfos);
0034 }
0035 
0036 LoadInfo LoadInfo::fromJson(const QJsonObject &obj)
0037 {
0038     return Json::fromJson<LoadInfo>(obj);
0039 }
0040 
0041 std::vector<LoadInfo> LoadInfo::fromJson(const QJsonArray &array)
0042 {
0043     return Json::fromJson<LoadInfo>(array);
0044 }
0045 
0046 #include "moc_load.cpp"