RTP Trace System
1.0
|
00001 // ########################################################################## 00002 // #### #### 00003 // #### Master Thesis Implementation #### 00004 // #### Management of Layered Variable Bitrate Multimedia Streams over #### 00005 // #### DiffServ with A Priori Knowledge #### 00006 // #### #### 00007 // #### ================================================================ #### 00008 // #### #### 00009 // #### #### 00010 // #### GNUPlot #### 00011 // #### #### 00012 // #### Version 1.00 -- February 19, 2001 #### 00013 // #### #### 00014 // #### Copyright (C) 2000/2001 Thomas Dreibholz #### 00015 // #### University of Bonn, Department of Computer Science IV #### 00016 // #### EMail: dreibh@iem.uni-due.de #### 00017 // #### WWW: https://www.uni-due.de/~be0001/diplom/index.html #### 00018 // #### #### 00019 // ########################################################################## 00020 00021 00022 #ifndef GNUPLOTWRITER_H 00023 #define GNUPLOTWRITER_H 00024 00025 00026 #include "system.h" 00027 #include "strings.h" 00028 00029 #include <fstream.h> 00030 00031 00032 namespace Coral { 00033 00034 00042 class GNUPlotData 00043 { 00044 // ====== Constructor/Destructor ========================================= 00045 public: 00049 GNUPlotData(); 00050 00054 ~GNUPlotData(); 00055 00056 00057 // ====== Open/close ===================================================== 00064 bool open(const char* prefix); 00065 00069 void close(); 00070 00071 00072 // ====== Public data ==================================================== 00073 public: 00077 bool Ready; 00078 00082 String Name; 00083 00087 ofstream Stream; 00088 }; 00089 00090 00091 00099 class GNUPlotScript 00100 { 00101 // ====== Constructor/Destructor ========================================= 00102 public: 00106 GNUPlotScript(); 00107 00111 ~GNUPlotScript(); 00112 00113 00114 // ====== Open/close ===================================================== 00121 bool open(const char* prefix); 00122 00126 void close(); 00127 00128 00129 // ====== Plot =========================================================== 00146 void plot(const char* pagetitle, 00147 const char* linetitle, 00148 const char* xlabel, 00149 const char* ylabel, 00150 const char* info, 00151 00152 const bool ownPage, 00153 00154 const GNUPlotData& data, 00155 const cardinal column, 00156 00157 const int64 xRangeMin = 0, 00158 const int64 xRangeMax = 0, 00159 const int64 yRangeMin = 0, 00160 const int64 yRangeMax = 0); 00161 00165 void done(); 00166 00167 00168 // ====== Private data =================================================== 00169 private: 00170 void newPage(const char* title, 00171 const char* xlabel, 00172 const char* ylabel, 00173 const char* info); 00174 00175 00176 cardinal Usage; 00177 String Name; 00178 ofstream Stream; 00179 card64 TimeStamp; 00180 String InfoString; 00181 bool Ready; 00182 }; 00183 00184 00185 } 00186 00187 00188 #endif