📄 transferstatus.h
字号:
#if !defined(TransferStatus_H)
#define TransferStatus_H
/////////////////////////////////////////////////////////////////////////////////////
// TransferStatus
//
// Purpose: used to keep track of a transfer
//##ModelId=424BB63F01BE
class TransferStatus
{
//##ModelId=424BB63F01CC
long _blockSize; // no to send at one time
//##ModelId=424BB63F01CD
long _noToSend; // number of bytes left to send
//##ModelId=424BB63F01DC
long _noSent; // number of bytes sent in response
public:
//##ModelId=424BB63F01EC
TransferStatus () :
_blockSize(0),
_noToSend(0),
_noSent(0)
{}
// setup status
//##ModelId=424BB63F01ED
void reset ()
{
_noToSend = 0;
_noSent = 0;
}
//##ModelId=424BB63F01EE
void begin ( long noToSend )
{
_blockSize = noToSend;
_noToSend = noToSend;
_noSent = 0;
}
//##ModelId=424BB63F01FB
void setSizeToSend ( long noToSend )
{
begin(noToSend);
}
// get/set block size
//##ModelId=424BB63F01FD
long getBlockSize ()
{
return _blockSize;
}
//##ModelId=424BB63F01FE
void setBlockSize ( long set )
{
_blockSize = set;
}
// status methods
//##ModelId=424BB63F020C
long size()
{
return _noToSend;
}
//##ModelId=424BB63F020D
long getNoToSend ()
{
return _noToSend;
}
//##ModelId=424BB63F020E
long getNoSent ()
{
return _noSent;
}
//##ModelId=424BB63F021B
void incNoSent ( long inc )
{
// if not valid stop
if ( inc <= 0 )
return;
// update no sent
_noSent += inc;
if ( _noSent > size() )
_noSent = size();
}
//##ModelId=424BB63F021D
void decNoToSend ( long dec )
{
// if not valid stop
if ( dec <= 0 )
return;
// update no to send
_noToSend -= dec;
if ( _noToSend < 0 )
_noToSend = 0;
}
//##ModelId=424BB63F021F
bool finished ()
{
// if all sent show it
if ( _noSent == _noToSend )
return true;
else
return false;
}
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -