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

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_IVVASSBACKEND_H
0008 #define KPUBLICTRANSPORT_IVVASSBACKEND_H
0009 
0010 #include "abstractbackend.h"
0011 #include <QUrl>
0012 
0013 namespace KPublicTransport {
0014 
0015 /** Backend for IVV AuskunftServiceSystem (ASS) based providers. */
0016 class IvvAssBackend : public AbstractBackend
0017 {
0018     Q_GADGET
0019     Q_PROPERTY(QUrl endpoint MEMBER m_endpoint)
0020 
0021 public:
0022     static inline constexpr const char* type() { return "ivvass"; }
0023 
0024     Capabilities capabilities() const override;
0025     bool needsLocationQuery(const Location &loc, AbstractBackend::QueryType type) const override;
0026     bool queryLocation(const LocationRequest &req, LocationReply *reply, QNetworkAccessManager *nam) const override;
0027     bool queryStopover(const StopoverRequest &req, StopoverReply *reply, QNetworkAccessManager *nam) const override;
0028     bool queryJourney(const JourneyRequest &req, JourneyReply *reply, QNetworkAccessManager *nam) const override;
0029 
0030 private:
0031     QUrl m_endpoint;
0032 };
0033 
0034 }
0035 
0036 #endif // KPUBLICTRANSPORT_IVVASSBACKEND_H