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

0001 /*
0002     SPDX-FileCopyrightText: 2020 Volker Krause <vkrause@kde.org>
0003 
0004     SPDX-License-Identifier: LGPL-2.0-or-later
0005 */
0006 
0007 #include "rentalvehicleutil_p.h"
0008 #include "rentalvehicle.h"
0009 
0010 using namespace KPublicTransport;
0011 
0012 RentalVehicleNetwork RentalVehicleUtil::merge(const RentalVehicleNetwork &lhs, const RentalVehicleNetwork &rhs)
0013 {
0014     // TODO
0015     return lhs.isValid() ? lhs : rhs;
0016 }
0017 
0018 RentalVehicleStation RentalVehicleUtil::merge(const RentalVehicleStation &lhs, const RentalVehicleStation &rhs)
0019 {
0020     auto s = lhs;
0021     s.setNetwork(RentalVehicleUtil::merge(lhs.network(), rhs.network()));
0022     s.setCapacity(std::max(lhs.capacity(), rhs.capacity()));
0023     s.setAvailableVehicles(std::max(lhs.availableVehicles(), rhs.availableVehicles()));
0024     return s;
0025 }
0026 
0027 RentalVehicle RentalVehicleUtil::merge(const RentalVehicle &lhs, const RentalVehicle &rhs)
0028 {
0029     auto v = lhs;
0030     v.setNetwork(RentalVehicleUtil::merge(lhs.network(), rhs.network()));
0031     v.setType(std::max(lhs.type(), rhs.type()));
0032     return v;
0033 }