#include <indexthread.h>
Inherits Thread.

Public Member Functions | |
| IndexThread (MWindow *mwindow, IndexFile *index_file, Asset *asset, char *index_filename, int64_t buffer_size, int64_t length_source) | |
| ~IndexThread () | |
| int | start_build () |
| int | stop_build () |
| void | run () |
Data Fields | |
| IndexFile * | index_file |
| MWindow * | mwindow |
| Asset * | asset |
| char * | index_filename |
| int64_t | buffer_size |
| int64_t | length_source |
| int | current_buffer |
Private Attributes | |
| int | interrupt_flag |
| double ** | buffer_in [TOTAL_BUFFERS] |
| Condition * | input_lock [TOTAL_BUFFERS] |
| Condition * | output_lock [TOTAL_BUFFERS] |
| int | last_buffer [TOTAL_BUFFERS] |
| int64_t | input_len [TOTAL_BUFFERS] |
Friends | |
| class | IndexFile |
Definition at line 14 of file indexthread.h.
| IndexThread::IndexThread | ( | MWindow * | mwindow, | |
| IndexFile * | index_file, | |||
| Asset * | asset, | |||
| char * | index_filename, | |||
| int64_t | buffer_size, | |||
| int64_t | length_source | |||
| ) |
Definition at line 20 of file indexthread.C.
References buffer_in, Asset::channels, Asset::index_buffer, Asset::index_offsets, Preferences::index_size, Asset::index_sizes, input_lock, interrupt_flag, output_lock, MWindow::preferences, and TOTAL_BUFFERS.
| IndexThread::~IndexThread | ( | ) |
Definition at line 64 of file indexthread.C.
References asset, buffer_in, Asset::channels, Asset::index_buffer, input_lock, output_lock, and TOTAL_BUFFERS.
| int IndexThread::start_build | ( | ) |
Definition at line 81 of file indexthread.C.
References current_buffer, interrupt_flag, last_buffer, Thread::set_synchronous(), Thread::start(), and TOTAL_BUFFERS.
Referenced by IndexFile::create_index().

| int IndexThread::stop_build | ( | ) |
Definition at line 90 of file indexthread.C.
References Thread::join().
Referenced by IndexFile::create_index().

| void IndexThread::run | ( | ) | [virtual] |
Implements Thread.
Definition at line 95 of file indexthread.C.
References asset, buffer_in, Asset::channels, current_buffer, Asset::index_buffer, Asset::index_end, index_file, index_filename, Asset::index_offsets, Asset::index_sizes, Asset::index_status, Asset::index_zoom, input_len, input_lock, interrupt_flag, last_buffer, length_source, Condition::lock(), Asset::old_index_end, output_lock, IndexFile::redraw_edits(), TOTAL_BUFFERS, Condition::unlock(), and Asset::write_index().

friend class IndexFile [friend] |
Definition at line 25 of file indexthread.h.
Definition at line 32 of file indexthread.h.
| int64_t IndexThread::buffer_size |
Definition at line 35 of file indexthread.h.
| int64_t IndexThread::length_source |
int IndexThread::interrupt_flag [private] |
Definition at line 39 of file indexthread.h.
Referenced by IndexFile::create_index(), IndexThread(), run(), and start_build().
double** IndexThread::buffer_in[TOTAL_BUFFERS] [private] |
Definition at line 40 of file indexthread.h.
Referenced by IndexFile::create_index(), IndexThread(), run(), and ~IndexThread().
Condition* IndexThread::input_lock[TOTAL_BUFFERS] [private] |
Definition at line 41 of file indexthread.h.
Referenced by IndexFile::create_index(), IndexThread(), run(), and ~IndexThread().
Condition * IndexThread::output_lock[TOTAL_BUFFERS] [private] |
Definition at line 41 of file indexthread.h.
Referenced by IndexFile::create_index(), IndexThread(), run(), and ~IndexThread().
int IndexThread::last_buffer[TOTAL_BUFFERS] [private] |
Definition at line 42 of file indexthread.h.
Referenced by IndexFile::create_index(), run(), and start_build().
int64_t IndexThread::input_len[TOTAL_BUFFERS] [private] |
1.5.5