gprobemanager.h

Go to the documentation of this file.
00001 
00002 /* *********
00003 *  
00004 *  This file is part of:
00005 *  NePSing, Network Protocol Simulator next generation
00006 *  
00007 *  Copyright (C) 2004  Tommaso Pecorella <tpecorella@mac.com>
00008 *  
00009 *  This library is free software; you can redistribute it and/or
00010 *  modify it under the terms of the GNU Lesser General Public
00011 *  License as published by the Free Software Foundation; either
00012 *  version 2.1 of the License, or (at your option) any later version.
00013 *  
00014 *  This library is distributed in the hope that it will be useful,
00015 *  but WITHOUT ANY WARRANTY; without even the implied warranty of
00016 *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00017 *  Lesser General Public License for more details.
00018 *  
00019 *  You should have received a copy of the GNU Lesser General Public
00020 *  License along with this library; if not, write to the Free Software
00021 *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00022 *  
00023 ********* */
00024 
00025 #ifndef ___GPROBEMANAGER_H___
00026 #define ___GPROBEMANAGER_H___
00027 
00028 #include <string>
00029 #include <map>
00030 
00031 #include "probeband.h"
00032 #include "probehistogram.h"
00033 #include "probeslice.h"
00034 #include "probebandslice.h"
00035 #include "probemean.h"
00036 #include "probejitter.h"
00037 #include "probeminmax.h"
00038 
00044 
00051 class GlobalProbeManagerException : public exception
00052 {
00053   string Msg;
00054  public:
00055   GlobalProbeManagerException(const string &aMsg)
00056     : Msg(aMsg)
00057   {};
00058   virtual ~GlobalProbeManagerException() throw(){};
00059 
00060   virtual const char* what() const throw()
00061   {
00062     return (string(exception::what()) + Msg).c_str();
00063   };
00064 };
00065 
00067 
00079 class GlobalProbeManager
00080 {
00081  protected:
00082 
00083   map<string, ProbeMean *> MeanProbes;
00084   map<string, ProbeJitter *> JitterProbes;
00085   map<string, ProbeSlice *> MeanSliceProbes;
00086   map<string, ProbeMinMax *> MinMaxProbes;
00087   map<string, ProbeHistogram *> HistogramProbes;
00088   map<string, ProbeBand *> BandProbes;
00089   map<string, ProbeBandSlice *> BandSliceProbes;
00090 
00091   vector<string> ProbesName;
00092 
00093  public:
00094   GlobalProbeManager();
00095   ~GlobalProbeManager();
00096 
00098   ProbeMean*    getGlobalProbeMean(string Name)                 throw (GlobalProbeManagerException);
00099 
00101   ProbeJitter*  getGlobalProbeJitter(string Name)               throw (GlobalProbeManagerException);
00102   
00104   ProbeSlice*   getGlobalProbeMeanSlice(string Name)    throw (GlobalProbeManagerException);
00105   
00107   ProbeMinMax*  getGlobalProbeMinMax(string Name)               throw (GlobalProbeManagerException);
00108   
00110   ProbeHistogram* getGlobalProbeHistogram(string Name, double _BinWidth = 1, double _BinStart = 0.0)    throw (GlobalProbeManagerException);
00111   
00113   ProbeBand*    getGlobalProbeBand(string Name)         throw (GlobalProbeManagerException);
00114   
00116   ProbeBandSlice* getGlobalProbeBandSlice(string Name)  throw (GlobalProbeManagerException);
00117 
00118 };
00119 
00121 
00122 #endif

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