1 /****************************************************************************/
2 // Eclipse SUMO, Simulation of Urban MObility; see https://eclipse.org/sumo
3 // Copyright (C) 2001-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 /****************************************************************************/
10 /// @file    MSBatteryExport.h
11 /// @author  Mario Krumnow
12 /// @author  Tamas Kurczveil
13 /// @author  Pablo Alvarez Lopez
14 /// @date    20-12-13
15 /// @version $Id$
16 ///
17 // Realises dumping Battery Data
18 /****************************************************************************/
19 #ifndef MSBatteryExport_h
20 #define MSBatteryExport_h
21 
22 
23 // ===========================================================================
24 // included modules
25 // ===========================================================================
26 #include <config.h>
27 
28 #include <utils/common/SUMOTime.h>
29 
30 
31 // ===========================================================================
32 // class declarations
33 // ===========================================================================
34 class OutputDevice;
35 
36 
37 // ===========================================================================
38 // class definitions
39 // ===========================================================================
40 /**
41  * @class MSBatteryExport
42  * @brief Realises dumping Battery Data
43  *
44  *  The class offers a static method, which writes all available Battery factors
45  *  of each vehicles of the network into the given OutputDevice.
46  *
47  * @todo consider error-handling on write (using IOError)
48  */
49 class MSBatteryExport {
50 public:
51     /** @brief Writes the complete network state of the given edges into the given device
52      *
53      *  Opens the current time step and export the Battery factors of all availabel vehicles
54      *
55      * @param[in] of The output device to use
56      * @param[in] timestep The current time step
57      * @param[in] precision The output precision
58      * @exception IOError If an error on writing occurs (!!! not yet implemented)
59      */
60     static void write(OutputDevice& of, SUMOTime timestep, int precision);
61 
62 
63 private:
64     /// @brief Invalidated copy constructor.
65     MSBatteryExport(const MSBatteryExport&);
66 
67     /// @brief Invalidated assignment operator.
68     MSBatteryExport& operator=(const MSBatteryExport&);
69 
70 };
71 
72 
73 #endif
74 
75