Eclipse SUMO - Simulation of Urban MObility
libtraci/Route.cpp
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2017-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 /****************************************************************************/
22 // C++ TraCI client API implementation
23 /****************************************************************************/
24 #include <config.h>
25 
26 #define LIBTRACI 1
27 #include <libsumo/Route.h>
28 #include "Connection.h"
29 #include "Domain.h"
30 
31 
32 namespace libtraci {
33 
34 typedef Domain<libsumo::CMD_GET_ROUTE_VARIABLE, libsumo::CMD_SET_ROUTE_VARIABLE> Dom;
35 
36 
37 // ===========================================================================
38 // static member definitions
39 // ===========================================================================
40 std::vector<std::string>
41 Route::getIDList() {
43 }
44 
45 
46 std::vector<std::string>
47 Route::getEdges(const std::string& routeID) {
49 }
50 
51 
52 int
53 Route::getIDCount() {
54  return Dom::getInt(libsumo::ID_COUNT, "");
55 }
56 
57 
60 
61 
62 void
63 Route::add(const std::string& routeID, const std::vector<std::string>& edgeIDs) {
64  Dom::setStringVector(libsumo::ADD, routeID, edgeIDs);
65 }
66 }
67 
68 
69 /****************************************************************************/
#define LIBTRACI_SUBSCRIPTION_IMPLEMENTATION(CLASS, DOMAIN)
Definition: Domain.h:38
#define LIBTRACI_PARAMETER_IMPLEMENTATION(CLASS, DOMAIN)
Definition: Domain.h:77
C++ TraCI client API implementation.
static void setStringVector(int var, const std::string &id, const std::vector< std::string > &value)
Definition: Domain.h:245
static std::vector< std::string > getStringVector(int var, const std::string &id, tcpip::Storage *add=nullptr)
Definition: Domain.h:177
static int getInt(int var, const std::string &id, tcpip::Storage *add=nullptr)
Definition: Domain.h:125
TRACI_CONST int VAR_EDGES
TRACI_CONST int TRACI_ID_LIST
TRACI_CONST int ID_COUNT
TRACI_CONST int ADD
Domain< libsumo::CMD_GET_BUSSTOP_VARIABLE, libsumo::CMD_SET_BUSSTOP_VARIABLE > Dom