LCOV - code coverage report
Current view: top level - src/libtraci - ChargingStation.cpp (source / functions) Coverage Total Hit
Test: lcov.info Lines: 97.4 % 38 37
Test Date: 2024-12-21 15:45:41 Functions: 67.9 % 28 19

            Line data    Source code
       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              : /****************************************************************************/
      14              : /// @file    ChargingStation.cpp
      15              : /// @author  Angelo Banse
      16              : /// @date    10.11.2020
      17              : ///
      18              : // C++ TraCI client API implementation
      19              : /****************************************************************************/
      20              : #include <config.h>
      21              : 
      22              : #define LIBTRACI 1
      23              : #include <libsumo/TraCIConstants.h>
      24              : #include <libsumo/ChargingStation.h>
      25              : #include "Connection.h"
      26              : #include "Domain.h"
      27              : 
      28              : 
      29              : namespace libtraci {
      30              : 
      31              : typedef Domain<libsumo::CMD_GET_CHARGINGSTATION_VARIABLE, libsumo::CMD_SET_CHARGINGSTATION_VARIABLE> Dom;
      32              : 
      33              : // ===========================================================================
      34              : // static member definitions
      35              : // ===========================================================================
      36              : 
      37              : std::vector<std::string>
      38          145 : ChargingStation::getIDList() {
      39          289 :     return Dom::getStringVector(libsumo::TRACI_ID_LIST, "");
      40              : }
      41              : 
      42              : int
      43            3 : ChargingStation::getIDCount() {
      44            6 :     return (int)Dom::getStringVector(libsumo::TRACI_ID_LIST, "").size();
      45              : }
      46              : 
      47              : 
      48              : std::string
      49            6 : ChargingStation::getLaneID(const std::string& stopID) {
      50            6 :     return Dom::getString(libsumo::VAR_LANE_ID, stopID);
      51              : }
      52              : 
      53              : double
      54            6 : ChargingStation::getStartPos(const std::string& stopID) {
      55            6 :     return Dom::getDouble(libsumo::VAR_POSITION, stopID);
      56              : }
      57              : 
      58              : double
      59            6 : ChargingStation::getEndPos(const std::string& stopID) {
      60            6 :     return Dom::getDouble(libsumo::VAR_LANEPOSITION, stopID);
      61              : }
      62              : 
      63              : std::string
      64            6 : ChargingStation::getName(const std::string& stopID) {
      65            6 :     return Dom::getString(libsumo::VAR_NAME, stopID);
      66              : }
      67              : 
      68              : int
      69           20 : ChargingStation::getVehicleCount(const std::string& stopID) {
      70           20 :     return Dom::getInt(libsumo::VAR_STOP_STARTING_VEHICLES_NUMBER, stopID);
      71              : }
      72              : 
      73              : std::vector<std::string>
      74           20 : ChargingStation::getVehicleIDs(const std::string& stopID) {
      75           20 :     return Dom::getStringVector(libsumo::VAR_STOP_STARTING_VEHICLES_IDS, stopID);
      76              : }
      77              : 
      78              : double
      79          104 : ChargingStation::getChargingPower(const std::string& stopID) {
      80          104 :     return Dom::getDouble(libsumo::VAR_CS_POWER, stopID);
      81              : }
      82              : 
      83              : double
      84          104 : ChargingStation::getEfficiency(const std::string& stopID) {
      85          104 :     return Dom::getDouble(libsumo::VAR_CS_EFFICIENCY, stopID);
      86              : }
      87              : 
      88              : double
      89            4 : ChargingStation::getChargeDelay(const std::string& stopID) {
      90            4 :     return Dom::getDouble(libsumo::VAR_CS_CHARGE_DELAY, stopID);
      91              : }
      92              : 
      93              : int
      94            4 : ChargingStation::getChargeInTransit(const std::string& stopID) {
      95            4 :     return Dom::getInt(libsumo::VAR_CS_CHARGE_IN_TRANSIT, stopID);
      96              : }
      97              : 
      98            0 : LIBTRACI_PARAMETER_IMPLEMENTATION(ChargingStation, CHARGINGSTATION)
      99              : 
     100              : void
     101          102 : ChargingStation::setChargingPower(const std::string& stopID, double chargingpower) {
     102          102 :     Dom::setDouble(libsumo::VAR_CS_POWER, stopID, chargingpower);
     103          102 : }
     104              : 
     105              : void
     106          102 : ChargingStation::setEfficiency(const std::string& stopID, double efficiency) {
     107          102 :     Dom::setDouble(libsumo::VAR_CS_EFFICIENCY, stopID, efficiency);
     108          102 : }
     109              : 
     110              : void
     111            2 : ChargingStation::setChargeDelay(const std::string& stopID, double delay) {
     112            2 :     Dom::setDouble(libsumo::VAR_CS_CHARGE_DELAY, stopID, delay);
     113            2 : }
     114              : 
     115              : void
     116            2 : ChargingStation::setChargeInTransit(const std::string& stopID, bool value) {
     117            2 :     Dom::setInt(libsumo::VAR_CS_CHARGE_IN_TRANSIT, stopID, value);
     118            2 : }
     119              : 
     120              : 
     121          102 : LIBTRACI_SUBSCRIPTION_IMPLEMENTATION(ChargingStation, CHARGINGSTATION)
     122              : 
     123              : }
     124              : 
     125              : 
     126              : /****************************************************************************/
        

Generated by: LCOV version 2.0-1