File indexing completed on 2024-05-12 04:42:36
0001 /* 0002 SPDX-FileCopyrightText: 2021 Volker Krause <vkrause@kde.org> 0003 0004 SPDX-License-Identifier: LGPL-2.0-or-later 0005 */ 0006 0007 #ifndef KPUBLICTRANSPORT_HAFASVEHICLELAYOUTPARSER_H 0008 #define KPUBLICTRANSPORT_HAFASVEHICLELAYOUTPARSER_H 0009 0010 #include <vector> 0011 0012 class QByteArray; 0013 class QJsonObject; 0014 0015 namespace KPublicTransport { 0016 0017 class Platform; 0018 class Vehicle; 0019 0020 /** Parser for vehicle and platform layout responses embedded in Hafas remark messages. */ 0021 namespace HafasVehicleLayoutParser 0022 { 0023 /** Parses vehicle layout data from common.stcXXXL responses. */ 0024 std::vector<Vehicle> parseVehicleLayouts(const QJsonObject &commonObj); 0025 0026 /** Parses a I - JF remark containing JSON train formation data. */ 0027 Vehicle parseTrainFormation(const QByteArray &data); 0028 0029 /** Parses platform data from common.tcpdL in Hafas journey responses. */ 0030 std::vector<Platform> parsePlatforms(const QJsonObject &commonObj); 0031 0032 /** Parses a I - XP remark containing XML platform sector data. */ 0033 Platform parsePlatformSectors(const QByteArray &data); 0034 } 0035 0036 } 0037 0038 #endif // KPUBLICTRANSPORT_HAFASVEHICLELAYOUTPARSER_H