dedevice.h

Go to the documentation of this file.
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 */

Generated on Wed Dec 22 23:23:47 2004 for NePSing by doxygen 1.3.9.1 ---- Hosted by SourceForge.net Logo