#include <cachebase.h>
Inherits List< CacheItemBase >.
Inherited by FrameCache, and WaveCache.

Public Member Functions | |
| CacheBase () | |
| virtual | ~CacheBase () |
| int | get_age () |
| void | remove_all () |
| void | remove_asset (Asset *asset) |
| void | put_item (CacheItemBase *item) |
| CacheItemBase * | get_item (int64_t position) |
| void | unlock () |
| int | get_oldest () |
| int | delete_oldest () |
| int64_t | get_memory_usage () |
Data Fields | |
| Mutex * | lock |
| CacheItemBase * | current_item |
Definition at line 40 of file cachebase.h.
| CacheBase::CacheBase | ( | ) |
| CacheBase::~CacheBase | ( | ) | [virtual] |
| int CacheBase::get_age | ( | ) |
Definition at line 51 of file cachebase.C.
References EDL::next_id().
Referenced by FrameCache::get_frame(), FrameCache::get_frame_ptr(), WaveCache::get_wave(), and FrameCache::put_frame().

| void CacheBase::remove_all | ( | ) |
Definition at line 64 of file cachebase.C.
References current_item, List< CacheItemBase >::last, Mutex::lock(), lock, List< CacheItemBase >::total(), and Mutex::unlock().
Referenced by MWindow::reset_caches().

| void CacheBase::remove_asset | ( | Asset * | asset | ) |
Definition at line 79 of file cachebase.C.
References CacheItemBase::asset_id, current_item, List< CacheItemBase >::first, Asset::id, Mutex::lock(), lock, ListItem< TYPE >::next, ListItem< CICacheItem >::next, Asset::path, CacheItemBase::path, List< CacheItemBase >::total(), and Mutex::unlock().
Referenced by MWindow::remove_asset_from_caches().

| void CacheBase::put_item | ( | CacheItemBase * | item | ) |
Definition at line 158 of file cachebase.C.
References List< CacheItemBase >::append(), current_item, List< CacheItemBase >::first, List< CacheItemBase >::insert_before(), List< CacheItemBase >::last, ListItem< TYPE >::next, CacheItemBase::position, and ListItem< TYPE >::previous.
Referenced by FrameCache::put_frame(), and WaveCache::put_wave().

| CacheItemBase * CacheBase::get_item | ( | int64_t | position | ) |
Definition at line 182 of file cachebase.C.
References current_item, List< CacheItemBase >::first, List< CacheItemBase >::last, ListItem< TYPE >::next, CacheItemBase::position, and ListItem< TYPE >::previous.
Referenced by FrameCache::frame_exists(), and WaveCache::get_wave().
| void CacheBase::unlock | ( | ) |
Definition at line 59 of file cachebase.C.
References lock, and Mutex::unlock().
Referenced by ResourceThread::do_audio(), ResourceThread::do_video(), ResourcePixmap::draw_audio_source(), and ResourcePixmap::draw_video_resource().

| int CacheBase::get_oldest | ( | ) |
Definition at line 100 of file cachebase.C.
References List< CacheItemBase >::first, Mutex::lock(), lock, NEXT, oldest, and Mutex::unlock().
Referenced by MWindow::age_caches().

| int CacheBase::delete_oldest | ( | ) |
Definition at line 115 of file cachebase.C.
References current_item, List< CacheItemBase >::first, Mutex::lock(), lock, NEXT, oldest, and Mutex::unlock().
Referenced by MWindow::age_caches(), and File::purge_cache().

| int64_t CacheBase::get_memory_usage | ( | ) |
Definition at line 146 of file cachebase.C.
References List< CacheItemBase >::first, Mutex::lock(), lock, NEXT, and Mutex::unlock().
Referenced by MWindow::age_caches(), and File::get_memory_usage().

Definition at line 73 of file cachebase.h.
Referenced by CacheBase(), delete_oldest(), FrameCache::get_frame(), FrameCache::get_frame_ptr(), get_memory_usage(), get_oldest(), WaveCache::get_wave(), FrameCache::put_frame(), WaveCache::put_wave(), remove_all(), remove_asset(), unlock(), and ~CacheBase().
Definition at line 75 of file cachebase.h.
Referenced by CacheBase(), delete_oldest(), get_item(), put_item(), remove_all(), and remove_asset().
1.5.5