Eclipse SUMO - Simulation of Urban MObility
Route.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2012-2019 German Aerospace Center (DLR) and others.
4 // This program and the accompanying materials
5 // are made available under the terms of the Eclipse Public License v2.0
6 // which accompanies this distribution, and is available at
7 // http://www.eclipse.org/legal/epl-v20.html
8 // SPDX-License-Identifier: EPL-2.0
9 /****************************************************************************/
17 // C++ TraCI client API implementation
18 /****************************************************************************/
19 #ifndef Route_h
20 #define Route_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <vector>
29 #include <libsumo/TraCIDefs.h>
30 
31 
32 // ===========================================================================
33 // class declarations
34 // ===========================================================================
35 class MSRoute;
36 namespace libsumo {
37 class VariableWrapper;
38 }
39 
40 
41 // ===========================================================================
42 // class definitions
43 // ===========================================================================
48 namespace libsumo {
49 class Route {
50 public:
51 
52  static std::vector<std::string> getIDList();
53  static int getIDCount();
54  static std::vector<std::string> getEdges(const std::string& routeID);
55  static std::string getParameter(const std::string& routeID, const std::string& param);
56 
57  static void add(const std::string& routeID, const std::vector<std::string>& edgeIDs);
58  static void setParameter(const std::string& routeID, const std::string& key, const std::string& value); // not needed so far
59 
61 
62  static std::shared_ptr<VariableWrapper> makeWrapper();
63 
64  static bool handleVariable(const std::string& objID, const int variable, VariableWrapper* wrapper);
65 
66 private:
67  static const MSRoute* getRoute(const std::string& id);
68 
69 private:
72 
74  Route() = delete;
75 };
76 
77 
78 }
79 
80 
81 #endif
82 
83 /****************************************************************************/
std::map< std::string, TraCIResults > SubscriptionResults
{object->{variable->value}}
Definition: TraCIDefs.h:204
#define LIBSUMO_SUBSCRIPTION_API
Definition: TraCIDefs.h:42
static const MSRoute * getRoute(const std::string &id)
Definition: Route.cpp:108
static void add(const std::string &routeID, const std::vector< std::string > &edgeIDs)
Definition: Route.cpp:85
std::map< std::string, SubscriptionResults > ContextSubscriptionResults
Definition: TraCIDefs.h:205
static bool handleVariable(const std::string &objID, const int variable, VariableWrapper *wrapper)
Definition: Route.cpp:124
Route()=delete
invalidated standard constructor
static std::string getParameter(const std::string &routeID, const std::string &param)
Definition: Route.cpp:72
Definition: Edge.cpp:30
static ContextSubscriptionResults myContextSubscriptionResults
Definition: Route.h:71
static LIBSUMO_SUBSCRIPTION_API std::shared_ptr< VariableWrapper > makeWrapper()
Definition: Route.cpp:118
static void setParameter(const std::string &routeID, const std::string &key, const std::string &value)
Definition: Route.cpp:78
static SubscriptionResults mySubscriptionResults
Definition: Route.h:70
static std::vector< std::string > getEdges(const std::string &routeID)
Definition: Route.cpp:55
static int getIDCount()
Definition: Route.cpp:66
static std::vector< std::string > getIDList()
Definition: Route.cpp:48