#ifdef ENABLE_THREADS
# include <simgear/threads/SGThread.hxx>
# include <simgear/threads/SGQueue.hxx>
+#else
+# include <queue>
#endif
// Forward reference.
/**
* Add a tile to the end of the load queue.
* @param tile The tile to be loaded from disk.
- * @param vis Current visibilty (in feet?) (see FGTileMgr::vis).
*/
void add( FGTileEntry* tile );
+ /**
+ * Remove a tile from memory.
+ * @param tile The tile to be removed from memory.
+ */
+ void remove( FGTileEntry* tile );
+
/**
* The tile loader thread will only load one tile per call to the
* update() method. This is a way to spread out the work of the
* Returns whether the load queue is empty (contains no elements).
* @return true if load queue is empty otherwise returns false.
*/
- // bool empty() const { return tile_queue.empty(); }
+ // bool empty() const { return tile_load_queue.empty(); }
private:
/**
* FIFO queue of tiles to load from data files.
*/
- SGBlockingQueue< FGTileEntry* > tile_queue;
+ SGBlockingQueue< FGTileEntry * > tile_load_queue;
+ SGBlockingQueue< FGTileEntry * > tile_free_queue;
+#else
+ queue< FGTileEntry * > tile_load_queue;
+ queue< FGTileEntry * > tile_free_queue;
#endif
/**