paul@9 | 1 | #include "paging.h" |
paul@9 | 2 | |
paul@9 | 3 | bool Paging::reserve(Accessor *accessor) |
paul@9 | 4 | { |
paul@9 | 5 | _lock.lock(); |
paul@9 | 6 | |
paul@9 | 7 | return _mappers.find(accessor) != _mappers.end(); |
paul@9 | 8 | } |
paul@9 | 9 | |
paul@9 | 10 | PageMapper *Paging::get(Accessor *accessor) |
paul@9 | 11 | { |
paul@9 | 12 | AccessorMapping::iterator entry = _mappers.find(accessor); |
paul@9 | 13 | PageMapper *mapper; |
paul@9 | 14 | |
paul@9 | 15 | if (entry == _mappers.end()) |
paul@9 | 16 | mapper = NULL; |
paul@9 | 17 | else |
paul@9 | 18 | mapper = entry->second; |
paul@9 | 19 | |
paul@9 | 20 | _lock.unlock(); |
paul@9 | 21 | return mapper; |
paul@9 | 22 | } |
paul@9 | 23 | |
paul@9 | 24 | void Paging::set(Accessor *accessor, PageMapper *mapper) |
paul@9 | 25 | { |
paul@9 | 26 | AccessorMapping::iterator entry = _mappers.find(accessor); |
paul@9 | 27 | |
paul@9 | 28 | if (entry == _mappers.end()) |
paul@9 | 29 | _mappers[accessor] = mapper; |
paul@9 | 30 | |
paul@9 | 31 | _lock.unlock(); |
paul@9 | 32 | } |
paul@9 | 33 | |
paul@9 | 34 | // vim: tabstop=4 expandtab shiftwidth=4 |