1.1 --- a/opener.cc Sun Jan 24 19:29:07 2021 +0100
1.2 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000
1.3 @@ -1,63 +0,0 @@
1.4 -#include "opener.h"
1.5 -
1.6 -/* Support for providing access to files. */
1.7 -
1.8 -Opener::Opener(Accessing *accessing, Paging *paging, Pages *pages)
1.9 -: _accessing(accessing), _paging(paging), _pages(pages)
1.10 -{
1.11 -}
1.12 -
1.13 -OpenerContext *Opener::context()
1.14 -{
1.15 - return new OpenerContext(this);
1.16 -}
1.17 -
1.18 -FilePager *Opener::open(const char *path)
1.19 -{
1.20 - fileid_t fileid = get_fileid(path);
1.21 -
1.22 - if (fileid == FILEID_INVALID)
1.23 - return NULL;
1.24 -
1.25 - Accessor *accessor = get_accessor(fileid);
1.26 - PageMapper *mapper = get_mapper(accessor);
1.27 - return new FilePager(fileid, mapper);
1.28 -}
1.29 -
1.30 -/* Obtain an accessor for the 'fileid' or register a new one in the accessing
1.31 - object. */
1.32 -
1.33 -Accessor *Opener::get_accessor(fileid_t fileid)
1.34 -{
1.35 - Accessor *accessor;
1.36 -
1.37 - if (_accessing->reserve(fileid))
1.38 - accessor = _accessing->get(fileid);
1.39 - else
1.40 - {
1.41 - accessor = make_accessor(fileid);
1.42 - _accessing->set(fileid, accessor);
1.43 - }
1.44 -
1.45 - return accessor;
1.46 -}
1.47 -
1.48 -/* Obtain a page mapper for the 'accessor' or register a new one in the
1.49 - paging object. */
1.50 -
1.51 -PageMapper *Opener::get_mapper(Accessor *accessor)
1.52 -{
1.53 - PageMapper *mapper;
1.54 -
1.55 - if (_paging->reserve(accessor))
1.56 - mapper = _paging->get(accessor);
1.57 - else
1.58 - {
1.59 - mapper = new PageMapper(accessor, _pages);
1.60 - _paging->set(accessor, mapper);
1.61 - }
1.62 -
1.63 - return mapper;
1.64 -}
1.65 -
1.66 -// vim: tabstop=4 expandtab shiftwidth=4