00001 /* 00002 $Id: dedevice.h,v 1.3 2004/12/12 23:44:44 pecos Exp $ 00003 */ 00004 00005 /* ********* 00006 * 00007 * This file is part of: 00008 * NePSing, Network Protocol Simulator next generation 00009 * 00010 * Copyright (C) 2004 Tommaso Pecorella <tpecorella@mac.com> 00011 * 00012 * This library is free software; you can redistribute it and/or 00013 * modify it under the terms of the GNU Lesser General Public 00014 * License as published by the Free Software Foundation; either 00015 * version 2.1 of the License, or (at your option) any later version. 00016 * 00017 * This library is distributed in the hope that it will be useful, 00018 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00019 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00020 * Lesser General Public License for more details. 00021 * 00022 * You should have received a copy of the GNU Lesser General Public 00023 * License along with this library; if not, write to the Free Software 00024 * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00025 * 00026 ********* */ 00027 00034 #ifndef ___DEDEVICE_H___ 00035 #define ___DEDEVICE_H___ 00036 00037 #include "detime.h" 00038 #include "rndgen.h" 00039 #include "desystem.h" 00040 #include "parmanager.h" 00041 00042 00043 class DEScheduler; 00044 class GlobalProbeManager; 00045 class DESystem; 00046 00048 00054 class DEDevice 00055 { 00056 protected: 00057 DETime* T; 00058 DEScheduler* Sched; 00059 GlobalProbeManager* Results; 00060 ParamManager* Param; 00061 DEDebug* Dbg; 00062 virtual void print(ostream &os) const; 00063 public: 00065 DEDevice(DESystem* _System = 0); 00066 00068 void newEvent(DEEvent *Ev); 00070 void newEvent(DEEvent *Ev, const DETime &Advance); 00071 00073 void RemoveEvent(DEEvent *Ev); 00075 void RemoveEventsForMe(); 00076 00077 // Add parameters used by this device 00078 // static void addParameters(ParamManager* aParam); 00079 00081 00087 virtual void Initialize(); 00088 00090 virtual const char *Type() const; 00091 00092 // virtual bool operator < (const DEDevice & A) const; 00093 // virtual bool operator == (const DEDevice & A) const; 00094 00096 00097 friend ostream& operator<< ( ostream& os, const DEDevice& Dev ); 00098 }; 00099 00100 #endif 00101 00102 /* 00103 00104 $Log: dedevice.h,v $ 00105 Revision 1.3 2004/12/12 23:44:44 pecos 00106 Added Copyright message - LGPL 00107 00108 Revision 1.2 2004/12/11 23:53:24 pecos 00109 Added DoxyGen comments 00110 00111 Revision 1.1.1.1 2004/07/08 16:59:33 pecos 00112 NePSing framework 00113 00114 Revision 1.1.1.1 1999/05/24 15:59:57 inesis 00115 INeSiS Project 00116 00117 Revision 1.1.1.1 1999/05/24 15:17:20 inesis 00118 INeSiS Project 00119 00120 Revision 1.1 1999/01/02 09:09:22 nanni 00121 *** empty log message *** 00122 00123 00124 */