transmission/qt/speed.h

37 lines
1.0 KiB
C
Raw Normal View History

2009-04-09 18:55:47 +00:00
/*
* This file Copyright (C) Mnemosyne LLC
2009-04-09 18:55:47 +00:00
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License version 2
* as published by the Free Software Foundation.
*
* http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
2009-04-09 18:55:47 +00:00
*
* $Id$
2009-04-09 18:55:47 +00:00
*/
#ifndef QTR_SPEED_H
#define QTR_SPEED_H
#include "formatter.h"
2009-04-09 18:55:47 +00:00
class Speed
{
private:
int _Bps;
Speed( int Bps ): _Bps(Bps) { }
2009-04-09 18:55:47 +00:00
public:
Speed( ): _Bps(0) { }
double KBps( ) const;
int Bps( ) const { return _Bps; }
bool isZero( ) const { return _Bps == 0; }
static Speed fromKBps( double KBps );
static Speed fromBps( int Bps ) { return Speed( Bps ); }
void setBps( int Bps ) { _Bps = Bps; }
Speed& operator+=( const Speed& that ) { _Bps += that._Bps; return *this; }
Speed operator+( const Speed& that ) const { return Speed( _Bps + that._Bps ); }
bool operator<( const Speed& that ) const { return _Bps < that._Bps; }
2009-04-09 18:55:47 +00:00
};
#endif