/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2014-2025 German Aerospace Center (DLR) and others.3// This program and the accompanying materials are made available under the4// terms of the Eclipse Public License 2.0 which is available at5// https://www.eclipse.org/legal/epl-2.0/6// This Source Code may also be made available under the following Secondary7// Licenses when the conditions for such availability set forth in the Eclipse8// Public License 2.0 are satisfied: GNU General Public License, version 29// or later which is available at10// https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html11// SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later12/****************************************************************************/13/// @file VTypesHandler.h14/// @author Jakob Erdmann15/// @date 12.01.202216///17// An XML-Handler for reading vTypes18/****************************************************************************/19#pragma once20#include <config.h>2122#include <string>23#include <utility>24#include <utils/vehicle/SUMORouteHandler.h>2526class EnergyParams;2728// ===========================================================================29// class definitions30// ===========================================================================31/**32* @class VTypesHandler33* @brief An XML-Handler for amitran and netstate trajectories34*35* This SUMOSAXHandler parses vehicles and their speeds.36*/37class VTypesHandler : public SUMORouteHandler {38public:39static const int INVALID_VALUE = -999999;4041public:42/** @brief Constructor43*44* @param[in] file The file that will be processed45*/46VTypesHandler(const std::string& file, std::map<std::string, SUMOVTypeParameter*>& vTypes);474849/// @brief Destructor50~VTypesHandler();5152void closeVType();53void openVehicleTypeDistribution(const SUMOSAXAttributes& attrs) {54UNUSED_PARAMETER(attrs);55}56void closeVehicleTypeDistribution() {}57void openRoute(const SUMOSAXAttributes& attrs) {58UNUSED_PARAMETER(attrs);59}60void openFlow(const SUMOSAXAttributes& attrs) {61UNUSED_PARAMETER(attrs);62}63void openRouteFlow(const SUMOSAXAttributes& attrs) {64UNUSED_PARAMETER(attrs);65}66void openTrip(const SUMOSAXAttributes& attrs) {67UNUSED_PARAMETER(attrs);68}69void closeRoute(const bool mayBeDisconnected = false) {70UNUSED_PARAMETER(mayBeDisconnected);71}72void openRouteDistribution(const SUMOSAXAttributes& attrs) {73UNUSED_PARAMETER(attrs);74}75void closeRouteDistribution() {}76void closeVehicle() {}77void closePerson() {}78void closePersonFlow() {}79void closeContainer() {}80void closeContainerFlow() {}81void closeFlow() {}82void closeTrip() {}83SUMOVehicleParameter::Stop* addStop(const SUMOSAXAttributes& attrs) {84UNUSED_PARAMETER(attrs);85return nullptr;86}87void addPersonTrip(const SUMOSAXAttributes& attrs) {88UNUSED_PARAMETER(attrs);89}90void addWalk(const SUMOSAXAttributes& attrs) {91UNUSED_PARAMETER(attrs);92}93void addRide(const SUMOSAXAttributes& attrs) {94UNUSED_PARAMETER(attrs);95}96void addTransport(const SUMOSAXAttributes& attrs) {97UNUSED_PARAMETER(attrs);98}99void addTranship(const SUMOSAXAttributes& attrs) {100UNUSED_PARAMETER(attrs);101}102103protected:104105106private:107std::map<std::string, SUMOVTypeParameter*>& myVTypes;108109110private:111/// @brief invalidated copy constructor112VTypesHandler(const VTypesHandler& s);113114/// @brief invalidated assignment operator115VTypesHandler& operator=(const VTypesHandler& s);116117118};119120121