kwave  18.07.70
Kwave::RecoveryBuffer Class Reference

#include <RecoveryBuffer.h>

Inheritance diagram for Kwave::RecoveryBuffer:
Inheritance graph
Collaboration diagram for Kwave::RecoveryBuffer:
Collaboration graph

Public Member Functions

 RecoveryBuffer (quint64 offset, quint64 length, char *buffer)
 
virtual ~RecoveryBuffer () Q_DECL_OVERRIDE
 
virtual qint64 read (quint64 offset, char *data, unsigned int bytes) Q_DECL_OVERRIDE
 
- Public Member Functions inherited from Kwave::RecoverySource
 RecoverySource (quint64 offset, quint64 length)
 
virtual ~RecoverySource ()
 
virtual quint64 offset () const
 
virtual quint64 length () const
 
virtual quint64 end () const
 

Private Attributes

QByteArray m_buffer
 

Detailed Description

Definition at line 29 of file RecoveryBuffer.h.

Constructor & Destructor Documentation

◆ RecoveryBuffer()

Kwave::RecoveryBuffer::RecoveryBuffer ( quint64  offset,
quint64  length,
char *  buffer 
)

Constructor

Parameters
offsetposition in the repaired file
lengthnumber of recovered bytes
buffera buffer with 'length' bytes of data

Definition at line 27 of file RecoveryBuffer.cpp.

31  m_buffer(buffer, Kwave::toUint(length))
32 {
33 }
virtual quint64 length() const
virtual quint64 offset() const
unsigned int toUint(T x)
Definition: Utils.h:109

◆ ~RecoveryBuffer()

virtual Kwave::RecoveryBuffer::~RecoveryBuffer ( )
inlinevirtual

Destructor

Definition at line 41 of file RecoveryBuffer.h.

References read().

41 {}
Here is the call graph for this function:

Member Function Documentation

◆ read()

qint64 Kwave::RecoveryBuffer::read ( quint64  offset,
char *  data,
unsigned int  bytes 
)
virtual

implementation of RecoverySource::read

Implements Kwave::RecoverySource.

Definition at line 36 of file RecoveryBuffer.cpp.

References Kwave::RecoverySource::end(), Kwave::RecoverySource::length(), m_buffer, MEMCPY, and Kwave::RecoverySource::offset().

Referenced by ~RecoveryBuffer().

38 {
39  if (offset < this->offset()) return 0;
40  if (offset > end()) return 0;
41 
42  quint64 off = offset - this->offset();
43  qint64 len = length() - off;
44  if (bytes < len) len = bytes;
45  if (!len) return 0;
46 
47  const char *src = m_buffer.constData();
48  src += off;
49  MEMCPY(data, src, static_cast<size_t>(len));
50 
51  return len;
52 }
virtual quint64 length() const
virtual quint64 end() const
virtual quint64 offset() const
#define MEMCPY
Definition: memcpy.h:37
Here is the call graph for this function:
Here is the caller graph for this function:

Member Data Documentation

◆ m_buffer

QByteArray Kwave::RecoveryBuffer::m_buffer
private

buffer with recovered data

Definition at line 50 of file RecoveryBuffer.h.

Referenced by read().


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