Vegastrike 0.5.1 rc1  1.0
Original sources for Vegastrike Evolved
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
VsnetDownload::Server::DownloadItemBuf Class Reference

#include <vsnet_dloadmgr.h>

Inheritance diagram for VsnetDownload::Server::DownloadItemBuf:
VsnetDownload::Server::DownloadItem

Public Member Functions

 DownloadItemBuf (SOCKETALT sock, const std::string &file, const char *buf, size_t sz)
 
virtual ~DownloadItemBuf ()
 
virtual size_t offset () const
 
virtual size_t remainingSize () const
 
virtual void copyFromFile (unsigned char *buf, size_t sz)
 
- Public Member Functions inherited from VsnetDownload::Server::DownloadItem
 DownloadItem (SOCKETALT sock, bool error, const std::string &file)
 
virtual ~DownloadItem ()
 
SOCKETALT getSock () const
 
bool error () const
 
std::string file () const
 

Detailed Description

Definition at line 154 of file vsnet_dloadmgr.h.

Constructor & Destructor Documentation

VsnetDownload::Server::DownloadItemBuf::DownloadItemBuf ( SOCKETALT  sock,
const std::string &  file,
const char *  buf,
size_t  sz 
)

Definition at line 442 of file vsnet_dloadmgr.cpp.

References VsnetOSS::memcpy().

442  :
443  DownloadItem( sock, false, file )
444  , _size( sz )
445  , _offset( 0 )
446 {
447  _buf = new char[sz];
448  VsnetOSS::memcpy( _buf, buf, sz );
449 }
VsnetDownload::Server::DownloadItemBuf::~DownloadItemBuf ( )
virtual

Definition at line 451 of file vsnet_dloadmgr.cpp.

452 {
453  if (_buf) delete[] _buf;
454 }

Member Function Documentation

void VsnetDownload::Server::DownloadItemBuf::copyFromFile ( unsigned char *  buf,
size_t  sz 
)
virtual

Implements VsnetDownload::Server::DownloadItem.

Definition at line 466 of file vsnet_dloadmgr.cpp.

References VsnetOSS::memcpy(), and remainingSize().

467 {
468  if (remainingSize() < sz) sz = remainingSize();
469  if (sz > 0) {
470  VsnetOSS::memcpy( buf, &_buf[_offset], sz );
471  _offset += sz;
472  }
473 }
size_t VsnetDownload::Server::DownloadItemBuf::offset ( ) const
virtual

Implements VsnetDownload::Server::DownloadItem.

Definition at line 456 of file vsnet_dloadmgr.cpp.

457 {
458  return _offset;
459 }
size_t VsnetDownload::Server::DownloadItemBuf::remainingSize ( ) const
virtual

Implements VsnetDownload::Server::DownloadItem.

Definition at line 461 of file vsnet_dloadmgr.cpp.

Referenced by copyFromFile().

462 {
463  return _size-_offset;
464 }

The documentation for this class was generated from the following files: