SUMO - Simulation of Urban MObility
|
00001 /****************************************************************************/ 00008 // Abstract in-vehicle device 00009 /****************************************************************************/ 00010 // SUMO, Simulation of Urban MObility; see http://sumo.sourceforge.net/ 00011 // Copyright (C) 2001-2012 DLR (http://www.dlr.de/) and contributors 00012 /****************************************************************************/ 00013 // 00014 // This file is part of SUMO. 00015 // SUMO is free software: you can redistribute it and/or modify 00016 // it under the terms of the GNU General Public License as published by 00017 // the Free Software Foundation, either version 3 of the License, or 00018 // (at your option) any later version. 00019 // 00020 /****************************************************************************/ 00021 #ifndef MSDevice_h 00022 #define MSDevice_h 00023 00024 00025 // =========================================================================== 00026 // included modules 00027 // =========================================================================== 00028 #ifdef _MSC_VER 00029 #include <windows_config.h> 00030 #else 00031 #include <config.h> 00032 #endif 00033 00034 #include <string> 00035 #include <vector> 00036 #include <microsim/MSMoveReminder.h> 00037 #include <utils/common/Named.h> 00038 #include <utils/common/UtilExceptions.h> 00039 00040 00041 // =========================================================================== 00042 // class declarations 00043 // =========================================================================== 00044 class OutputDevice; 00045 class SUMOVehicle; 00046 00047 00048 // =========================================================================== 00049 // class definitions 00050 // =========================================================================== 00065 class MSDevice : public MSMoveReminder, public Named { 00066 public: 00072 MSDevice(SUMOVehicle& holder, const std::string& id) 00073 : Named(id), myHolder(holder) { 00074 } 00075 00076 00078 virtual ~MSDevice() { } 00079 00080 00085 SUMOVehicle& getHolder() const { 00086 return myHolder; 00087 } 00088 00089 00102 virtual void generateOutput() const { 00103 } 00104 00105 00106 protected: 00108 SUMOVehicle& myHolder; 00109 00110 00111 private: 00113 MSDevice(const MSDevice&); 00114 00116 MSDevice& operator=(const MSDevice&); 00117 00118 }; 00119 00120 00121 #endif 00122 00123 /****************************************************************************/ 00124