Source: networkmonitorinterface.h
|
|
|
|
// ##########################################################################
// #### ####
// #### RTP Audio Server Project ####
// #### ============================ ####
// #### ####
// #### Network Monitor Interface ####
// #### ####
// #### Version 1.00 -- February 23, 2001 ####
// #### ####
// #### Copyright (C) 1999 Thomas Dreibholz ####
// #### 2000 Universität Bonn, Abt. IV ####
// #### 2001 EMail: Dreibholz@bigfoot.com ####
// #### WWW: http://www.bigfoot.com/~dreibholz ####
// #### ####
// ##########################################################################
#ifndef NETWORKMONITORINTERFACE_H
#define NETWORKMONITORINTERFACE_H
#include "system.h"
#include "networkmonitorreport.h"
#include "synchronizable.h"
namespace Coral {
/**
* This class is an interface for a network monitor, which sums bytes and
* packets transmitted.
*
* @short Network Monitor Interface
* @author Thomas Dreibholz (Dreibholz@bigfoot.com)
* @version 1.0
*/
class NetworkMonitorInterface
{
// ====== Virtual destructor =============================================
public:
/**
* Virtual destructor.
*/
virtual ~NetworkMonitorInterface() = 0;
// ====== Status functions ===============================================
/**
* Check, if NetworkMonitor is ready.
*
* @return true, if ready; false, if not.
*/
virtual bool ready() const = 0;
// ====== Lock functions =================================================
/**
* Lock monitor to access data.
*/
virtual void lock() = 0;
/**
* Unlock monitor.
*/
virtual void unlock() = 0;
// ====== Report functions ===============================================
/**
* Reset the network report.
*/
virtual void resetReport() = 0;
/**
* Get a copy of the network report created by the monitor.
*
* @param report Address of NetworkMonitorReport to store the report.
*/
virtual void getReport(NetworkMonitorReport* report) = 0;
/**
* Get a copy of the network report created by the monitor, then reset
* the report. Note: Do *not* use getReport() and resetReport() to
* get a report and reset the monitor's report. The monitor could have
* received packets between getReport() and resetReport()!
*
* @param report Address of NetworkMonitorReport to store the report.
*/
virtual void moveReport(NetworkMonitorReport* report) = 0;
};
}
#endif
Generated by: viper@odin on Fri Feb 23 12:41:26 2001, using kdoc 2.0a36. |