Eclipse SUMO - Simulation of Urban MObility
TraCIServerAPI_Simulation.h
Go to the documentation of this file.
1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.dev/sumo
3 // Copyright (C) 2001-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 /****************************************************************************/
19 // APIs for getting/setting edge values via TraCI
20 /****************************************************************************/
21 #pragma once
22 #include <config.h>
23 
24 #include <string>
25 #include <map>
26 #include <vector>
27 #include "TraCIServer.h"
28 #include <foreign/tcpip/storage.h>
29 
30 
31 // ===========================================================================
32 // class definitions
33 // ===========================================================================
39 public:
46  static bool processGet(TraCIServer& server, tcpip::Storage& inputStorage,
47  tcpip::Storage& outputStorage);
48 
55  static bool processSet(TraCIServer& server, tcpip::Storage& inputStorage,
56  tcpip::Storage& outputStorage);
57 
58 private:
66  static bool commandPositionConversion(TraCIServer& server, tcpip::Storage& inputStorage,
67  const int compoundSize, tcpip::Storage& outputStorage,
68  const int commandId);
69 
70  static bool commandDistanceRequest(TraCIServer& server, tcpip::Storage& inputStorage,
71  tcpip::Storage& outputStorage, int commandId);
72 
73  static void writeVehicleStateNumber(TraCIServer& server, tcpip::Storage& outputStorage, MSNet::VehicleState state);
74  static void writeVehicleStateIDs(TraCIServer& server, tcpip::Storage& outputStorage, MSNet::VehicleState state);
75 
76  static void writeTransportableStateNumber(TraCIServer& server, tcpip::Storage& outputStorage, MSNet::TransportableState state);
77  static void writeTransportableStateIDs(TraCIServer& server, tcpip::Storage& outputStorage, MSNet::TransportableState state);
78 
79 
80 private:
83 
86 
87 
88 };
VehicleState
Definition of a vehicle state.
Definition: MSNet.h:602
TransportableState
Definition of a transportable state.
Definition: MSNet.h:679
APIs for getting/setting simulation values via TraCI.
TraCIServerAPI_Simulation(const TraCIServerAPI_Simulation &s)
invalidated copy constructor
TraCIServerAPI_Simulation & operator=(const TraCIServerAPI_Simulation &s)
invalidated assignment operator
static bool commandPositionConversion(TraCIServer &server, tcpip::Storage &inputStorage, const int compoundSize, tcpip::Storage &outputStorage, const int commandId)
static bool commandDistanceRequest(TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage, int commandId)
static void writeTransportableStateIDs(TraCIServer &server, tcpip::Storage &outputStorage, MSNet::TransportableState state)
static void writeTransportableStateNumber(TraCIServer &server, tcpip::Storage &outputStorage, MSNet::TransportableState state)
static bool processSet(TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage)
Processes a set value command (Command 0xcb: Set Simulation Variable)
static void writeVehicleStateIDs(TraCIServer &server, tcpip::Storage &outputStorage, MSNet::VehicleState state)
static void writeVehicleStateNumber(TraCIServer &server, tcpip::Storage &outputStorage, MSNet::VehicleState state)
static bool processGet(TraCIServer &server, tcpip::Storage &inputStorage, tcpip::Storage &outputStorage)
Processes a get value command (Command 0xab: Get Simulation Variable)
TraCI server used to control sumo by a remote TraCI client.
Definition: TraCIServer.h:59