foobar2000 SDK  2015-01-14
Public Member Functions | Private Attributes
stream_reader_limited_ref

#include <filesystem_helper.h>

+ Inheritance diagram for stream_reader_limited_ref:

Public Member Functions

 stream_reader_limited_ref (stream_reader *p_reader, t_filesize p_limit)
 
void flush_remaining (abort_callback &p_abort)
 
t_filesize get_remaining () const
 
t_size read (void *p_buffer, t_size p_bytes, abort_callback &p_abort)
 
t_filesize skip (t_filesize p_bytes, abort_callback &p_abort)
 

Private Attributes

stream_readerm_reader
 
t_filesize m_remaining
 

Detailed Description

Definition at line 276 of file filesystem_helper.h.

Constructor & Destructor Documentation

stream_reader_limited_ref::stream_reader_limited_ref ( stream_reader p_reader,
t_filesize  p_limit 
)
inline

Definition at line 278 of file filesystem_helper.h.

278 : m_reader(p_reader), m_remaining(p_limit) {}

Member Function Documentation

void stream_reader_limited_ref::flush_remaining ( abort_callback p_abort)
inline

Definition at line 297 of file filesystem_helper.h.

297  {
298  if (m_remaining > 0) skip_object(m_remaining,p_abort);
299  }
t_filesize stream_reader_limited_ref::get_remaining ( ) const
inline

Definition at line 288 of file filesystem_helper.h.

288 {return m_remaining;}
t_size stream_reader_limited_ref::read ( void *  p_buffer,
t_size  p_bytes,
abort_callback p_abort 
)
inline

Definition at line 280 of file filesystem_helper.h.

280  {
281  if (p_bytes > m_remaining) p_bytes = (t_size)m_remaining;
282 
283  t_size done = m_reader->read(p_buffer,p_bytes,p_abort);
284  m_remaining -= done;
285  return done;
286  }
size_t t_size
Definition: int_types.h:48
t_filesize stream_reader_limited_ref::skip ( t_filesize  p_bytes,
abort_callback p_abort 
)
inline

Definition at line 290 of file filesystem_helper.h.

290  {
291  if (p_bytes > m_remaining) p_bytes = m_remaining;
292  t_filesize done = m_reader->skip(p_bytes,p_abort);
293  m_remaining -= done;
294  return done;
295  }
t_uint64 t_filesize
Type used for file size related variables.
Definition: filesystem.h:8

Field Documentation

stream_reader* stream_reader_limited_ref::m_reader
private

Definition at line 302 of file filesystem_helper.h.

t_filesize stream_reader_limited_ref::m_remaining
private

Definition at line 303 of file filesystem_helper.h.


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