5 #include "condition.inc"
7 #include "indexfile.inc"
12 // Runs in a loop, creating new index files as needed
14 class MainIndexes
: public Thread
17 MainIndexes(MWindow
*mwindow
);
20 void add_next_asset(File
*file
, Asset
*asset
);
26 void interrupt_build();
27 void load_next_assets();
28 void delete_current_assets();
30 ArrayList
<Asset
*> current_assets
;
31 ArrayList
<Asset
*> next_assets
;
33 int interrupt_flag
; // Build process interrupted by user
34 int done
; // Program quit
36 Condition
*input_lock
; // Lock until new data is to be indexed
37 Mutex
*next_lock
; // Lock changes to next assets
38 Condition
*interrupt_lock
; // Force blocking until thread is finished