BDE 4.14.0 Production release
|
#include <bdlt_defaulttimetablecache.h>
Static Public Member Functions | |
static void | destroy () |
static int | initialize (TimetableLoader *loader, bslma::Allocator *allocator) |
static int | initialize (TimetableLoader *loader, const bsls::TimeInterval &timeout, bslma::Allocator *allocator) |
static TimetableCache * | instance () |
This struct
provides a namespace for functions that manage the lifetime of, and access to, a process-wide default bdlt::TimetableCache
object. The default cache is initialized by an explicit call to the initialize
class method, and destroyed by the destroy
class method. The default cache may be initialized and destroyed multiple times during the lifetime of a process. The lifetimes of the timetable loader and memory allocator supplied to initialize
must extend beyond the following (matching) call to destroy
.
All methods of this struct
are fully thread-safe (see bsldoc_glossary ).
|
static |
Destroy the default TimetableCache
object managed by this class. If the default cache is not in the initialized state, this method has no effect. Note that all addresses returned by earlier calls to instance
are invalidated by this method.
|
static |
Initialize the default TimetableCache
object managed by this class to use the specified loader
to obtain timetables, to have no timeout, and to use the specified allocator
to supply memory. If the default cache is already in the initialized state, this method has no effect. Return 0 on success, and a non-zero value otherwise. The behavior is undefined unless loader
and allocator
remain valid until a subsequent call to destroy
.
|
static |
Initialize the default TimetableCache
object managed by this class to use the specified loader
to obtain timetables, to have the specified timeout
, and to use the specified allocator
to supply memory. If the default cache is already in the initialized state, this method has no effect. Return 0 on success, and a non-zero value otherwise. The behavior is undefined unless loader
and allocator
remain valid until a subsequent call to destroy
, and bsls::TimeInterval() <= timeout <= bsls::TimeInterval(INT_MAX, 0)
. Note that a timeout
value of 0 indicates that a timetable will be loaded into the default cache by each (successful) call to TimetableCache::getTimetable
on the cache returned by instance
.
|
static |
Return an address providing modifiable access to the default TimetableCache
object managed by this class, if the default cache is in the initialized state, and 0 otherwise. The cache obtains timetables using the loader that was supplied to the initialize
method. Note that the returned address is invalidated by a subsequent call to destroy
.