Line data Source code
1 : /****************************************************************************/
2 : // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 : // Copyright (C) 2002-2024 German Aerospace Center (DLR) and others.
4 : // This program and the accompanying materials are made available under the
5 : // terms of the Eclipse Public License 2.0 which is available at
6 : // https://www.eclipse.org/legal/epl-2.0/
7 : // This Source Code may also be made available under the following Secondary
8 : // Licenses when the conditions for such availability set forth in the Eclipse
9 : // Public License 2.0 are satisfied: GNU General Public License, version 2
10 : // or later which is available at
11 : // https://www.gnu.org/licenses/old-licenses/gpl-2.0-standalone.html
12 : // SPDX-License-Identifier: EPL-2.0 OR GPL-2.0-or-later
13 : /****************************************************************************/
14 : /// @file SUMORouteLoader.h
15 : /// @author Daniel Krajzewicz
16 : /// @author Michael Behrisch
17 : /// @date Wed, 6 Nov 2002
18 : ///
19 : // A class that performs the loading of routes
20 : /****************************************************************************/
21 : #pragma once
22 : #include <config.h>
23 :
24 : #include <utils/common/SUMOTime.h>
25 :
26 :
27 : // ===========================================================================
28 : // class declarations
29 : // ===========================================================================
30 : class SUMORouteHandler;
31 : class SUMOSAXReader;
32 :
33 :
34 : // ===========================================================================
35 : // class definitions
36 : // ===========================================================================
37 : /**
38 : * @class SUMORouteLoader
39 : */
40 : class SUMORouteLoader {
41 : public:
42 : /// @brief constructor
43 : SUMORouteLoader(SUMORouteHandler* handler);
44 :
45 : /// @brief destructor
46 : ~SUMORouteLoader();
47 :
48 : /// @brief loads vehicles until a vehicle is read that starts after the specified time
49 : SUMOTime loadUntil(SUMOTime time);
50 :
51 : /// @brief returns the information whether new data is available
52 : bool moreAvailable() const;
53 :
54 : /// @brief returns the first departure time that was ever read
55 : SUMOTime getFirstDepart() const;
56 :
57 : SUMORouteHandler* getRouteHandler() {
58 42 : return myHandler;
59 : };
60 :
61 : private:
62 : /// @brief the used SAXReader
63 : SUMOSAXReader* myParser;
64 :
65 : /// @brief flag with information whether more vehicles should be available
66 : bool myMoreAvailable;
67 :
68 : /// @brief the used Handler
69 : SUMORouteHandler* myHandler;
70 : };
|