/****************************************************************************/1// Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo2// Copyright (C) 2002-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 SUMORouteLoader.h14/// @author Daniel Krajzewicz15/// @author Michael Behrisch16/// @date Wed, 6 Nov 200217///18// A class that performs the loading of routes19/****************************************************************************/20#pragma once21#include <config.h>2223#include <utils/common/SUMOTime.h>242526// ===========================================================================27// class declarations28// ===========================================================================29class SUMORouteHandler;30class SUMOSAXReader;313233// ===========================================================================34// class definitions35// ===========================================================================36/**37* @class SUMORouteLoader38*/39class SUMORouteLoader {40public:41/// @brief constructor42SUMORouteLoader(SUMORouteHandler* handler);4344/// @brief destructor45~SUMORouteLoader();4647/// @brief loads vehicles until a vehicle is read that starts after the specified time48SUMOTime loadUntil(SUMOTime time);4950/// @brief returns the information whether new data is available51bool moreAvailable() const;5253/// @brief returns the first departure time that was ever read54SUMOTime getFirstDepart() const;5556SUMORouteHandler* getRouteHandler() {57return myHandler;58};5960private:61/// @brief the used SAXReader62SUMOSAXReader* myParser;6364/// @brief flag with information whether more vehicles should be available65bool myMoreAvailable;6667/// @brief the used Handler68SUMORouteHandler* myHandler;69};707172