Donner SVG main
0.8.0 ยท 382bd0190.8.0 main
SVG editor and embeddable C⁠+⁠+⁠20 engine.
Loading...
Searching...
No Matches
donner::PackagedResourceSession Class Reference

Owns resource retention for one application lifetime. More...

#include "donner/base/PackagedResource.h"

Public Member Functions

 PackagedResourceSession (PackagedResourceProvider provider={})
 PackagedResourceSession (const PackagedResourceSession &)=delete
PackagedResourceSession & operator= (const PackagedResourceSession &)=delete
ResourceBytes load (const PackagedResource &resource)
bool install (const PackagedResource &resource, std::span< const uint8_t > bytes)
bool request (const PackagedResource &resource, const std::function< void()> &dispatch)
 Dispatch one deferred request per identity. The callback runs immediately outside the lock.
bool retry (const PackagedResource &resource)
 Allow an explicit retry only after a completed failure/cancellation.
void markBorrowed ()
bool hasBorrowedViews () const
bool ready (const PackagedResource &resource) const
bool failed (const PackagedResource &resource) const
void fail (const PackagedResource &resource)
bool verify (const PackagedResource &resource)
size_t retainedBytes () const
std::string error () const

Static Public Attributes

static constexpr size_t kMaximumEncodedBytes = 16 * 1024 * 1024

Detailed Description

Owns resource retention for one application lifetime.

The aggregate bound includes every installed encoded resource, including provider returns. Configure a provider before the first access. Views borrow this session; leases own their bytes. This API has no dependency on fonts, an editor, a document loader, or network access.


The documentation for this class was generated from the following file: