Source: csim.h


Annotated List
Files
Globals
Hierarchy
Index
// ##########################################################################
// ####                                                                  ####
// ####                      RTP Audio Server Project                    ####
// ####                    ============================                  ####
// ####                                                                  ####
// #### Congestion Monitor Simulator                                     ####
// ####                                                                  ####
// #### Version 1.00  --  February 04, 2001                              ####
// ####                                                                  ####
// #### Copyright (C) 1999  Thomas Dreibholz                             ####
// ####               2000  Universität Bonn, Abt. IV                    ####
// ####               2001  EMail: Dreibholz@bigfoot.com                 ####
// ####                     WWW:   http://www.bigfoot.com/~dreibholz     ####
// ####                                                                  ####
// ##########################################################################


#ifndef QCONGESTIONMONITORSIMULATOR_H
#define QCONGESTIONMONITORSIMULATOR_H


#include "system.h"
#include "networkmonitorsimulator.h"


#include <qapp.h>
#if QT_VERSION < 200
#error QT Version 2.00 or better required for QCongestionSimulator!!!
#endif
#include <qlabel.h>
#include <qmainwindow.h>


using namespace Coral;


/**
  * Labels for status.
  */
const char* QCongestionMonitorSimulatorStatusLabels[] = {
   "Congestion:",
   "Bit Rate:",
   "Bandwidth:"
};


/**
  * This class is the Qt-Toolkit GUI for the congestion simulator.
  *
  * @short   QCongestionMonitorSimulator
  * @author  Thomas Dreibholz (Dreibholz@bigfoot.com)
  * @version 1.0
  */          
class QCongestionMonitorSimulator : public QMainWindow
{
   Q_OBJECT

   // ====== Constructor/Destructor =========================================
   public:  
   /**
     * Constructor for new QCongestionMonitorSimulator.
     *
     * @param simulator NetworkMonitorSimulator.
     * @param bandwidth Bandwidth in bytes per second (*not* bits/s!).
     * @param parent Parent QWidget.
     * @param name Widget name.
     */
   QCongestionMonitorSimulator(NetworkMonitorSimulator* simulator,
                        const card64             bandwidth,
                        QWidget*                 parent = NULL,
                        const char*              name   = NULL);

   /**
     * Destructor.
     */
   ~QCongestionMonitorSimulator();


   // ====== Slots for Qt ===================================================   
   public slots:
   /**
     * Slot for "Quit" menu item.
     */
   void quit();

   /**
     * Slot for congestion scrollbar.
     */
   void congestion(int value);


   // ====== Private data =================================================== 
   private:
   card64                   Bandwidth;
   QLabel*                  Labels[sizeof(QCongestionMonitorSimulatorStatusLabels)/sizeof(char*)];
   NetworkMonitorSimulator* Simulator;
};


#endif

Generated by: viper@odin on Sun Feb 4 18:54:51 2001, using kdoc 2.0a22.