RTP Trace System  1.0
gnuplot.h
Go to the documentation of this file.
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
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines