MapLibre Native Core
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
mbgl::Resource Class Reference

#include <resource.hpp>

Classes

struct  TileData
 

Public Types

enum  Kind : uint8_t {
  Unknown = 0 , Style , Source , Tile ,
  Glyphs , SpriteImage , SpriteJSON , Image
}
 
enum class  Priority : bool { Regular , Low }
 
enum class  Usage : bool { Online , Offline }
 
enum class  StoragePolicy : bool { Permanent , Volatile }
 
enum class  LoadingMethod : uint8_t {
  None = 0b00 , Cache = 0b01 , Network = 0b10 , CacheOnly = Cache ,
  NetworkOnly = Network , All = Cache | Network
}
 

Public Member Functions

 Resource (Kind kind_, std::string url_, std::optional< TileData > tileData_=std::nullopt, LoadingMethod loadingMethod_=LoadingMethod::All)
 
void setPriority (Priority p)
 
void setUsage (Usage u)
 
bool hasLoadingMethod (LoadingMethod method) const
 

Static Public Member Functions

static Resource style (const std::string &url)
 
static Resource source (const std::string &url)
 
static Resource tile (const std::string &urlTemplate, float pixelRatio, int32_t x, int32_t y, int8_t z, Tileset::Scheme scheme, LoadingMethod=LoadingMethod::All)
 
static Resource glyphs (const std::string &urlTemplate, const FontStack &fontStack, const std::pair< uint16_t, uint16_t > &glyphRange)
 
static Resource spriteImage (const std::string &base, float pixelRatio)
 
static Resource spriteJSON (const std::string &base, float pixelRatio)
 
static Resource image (const std::string &url)
 

Public Attributes

Kind kind
 
LoadingMethod loadingMethod
 
Usage usage { Usage::Online }
 
Priority priority { Priority::Regular }
 
std::string url
 
std::optional< TileDatatileData
 
std::optional< TimestamppriorModified = std::nullopt
 
std::optional< TimestamppriorExpires = std::nullopt
 
std::optional< std::string > priorEtag = std::nullopt
 
std::shared_ptr< const std::string > priorData
 
Duration minimumUpdateInterval {Duration::zero()}
 
StoragePolicy storagePolicy {StoragePolicy::Permanent}
 

Detailed Description

Definition at line 13 of file resource.hpp.

Member Enumeration Documentation

◆ Kind

enum mbgl::Resource::Kind : uint8_t
Enumerator
Unknown 
Style 
Source 
Tile 
Glyphs 
SpriteImage 
SpriteJSON 
Image 

Definition at line 15 of file resource.hpp.

◆ LoadingMethod

enum mbgl::Resource::LoadingMethod : uint8_t
strong
Enumerator
None 
Cache 
Network 
CacheOnly 
NetworkOnly 
All 

Definition at line 46 of file resource.hpp.

◆ Priority

enum mbgl::Resource::Priority : bool
strong
Enumerator
Regular 
Low 

Definition at line 26 of file resource.hpp.

◆ StoragePolicy

enum mbgl::Resource::StoragePolicy : bool
strong
Enumerator
Permanent 
Volatile 

Definition at line 36 of file resource.hpp.

◆ Usage

enum mbgl::Resource::Usage : bool
strong
Enumerator
Online 
Offline 

Definition at line 31 of file resource.hpp.

Constructor & Destructor Documentation

◆ Resource()

mbgl::Resource::Resource ( Kind  kind_,
std::string  url_,
std::optional< TileData tileData_ = std::nullopt,
LoadingMethod  loadingMethod_ = LoadingMethod::All 
)
inline

Definition at line 56 of file resource.hpp.

Member Function Documentation

◆ glyphs()

static Resource mbgl::Resource::glyphs ( const std::string &  urlTemplate,
const FontStack fontStack,
const std::pair< uint16_t, uint16_t > &  glyphRange 
)
static

◆ hasLoadingMethod()

bool mbgl::Resource::hasLoadingMethod ( Resource::LoadingMethod  method) const
inline

Definition at line 104 of file resource.hpp.

◆ image()

static Resource mbgl::Resource::image ( const std::string &  url)
static

◆ setPriority()

void mbgl::Resource::setPriority ( Priority  p)
inline

Definition at line 66 of file resource.hpp.

◆ setUsage()

void mbgl::Resource::setUsage ( Usage  u)
inline

Definition at line 67 of file resource.hpp.

◆ source()

static Resource mbgl::Resource::source ( const std::string &  url)
static

◆ spriteImage()

static Resource mbgl::Resource::spriteImage ( const std::string &  base,
float  pixelRatio 
)
static

◆ spriteJSON()

static Resource mbgl::Resource::spriteJSON ( const std::string &  base,
float  pixelRatio 
)
static

◆ style()

static Resource mbgl::Resource::style ( const std::string &  url)
static

◆ tile()

static Resource mbgl::Resource::tile ( const std::string &  urlTemplate,
float  pixelRatio,
int32_t  x,
int32_t  y,
int8_t  z,
Tileset::Scheme  scheme,
LoadingMethod  = LoadingMethod::All 
)
static

Member Data Documentation

◆ kind

Kind mbgl::Resource::kind

Definition at line 87 of file resource.hpp.

◆ loadingMethod

LoadingMethod mbgl::Resource::loadingMethod

Definition at line 88 of file resource.hpp.

◆ minimumUpdateInterval

Duration mbgl::Resource::minimumUpdateInterval {Duration::zero()}

Definition at line 100 of file resource.hpp.

◆ priorData

std::shared_ptr<const std::string> mbgl::Resource::priorData

Definition at line 99 of file resource.hpp.

◆ priorEtag

std::optional<std::string> mbgl::Resource::priorEtag = std::nullopt

Definition at line 98 of file resource.hpp.

◆ priorExpires

std::optional<Timestamp> mbgl::Resource::priorExpires = std::nullopt

Definition at line 97 of file resource.hpp.

◆ priority

Priority mbgl::Resource::priority { Priority::Regular }

Definition at line 90 of file resource.hpp.

◆ priorModified

std::optional<Timestamp> mbgl::Resource::priorModified = std::nullopt

Definition at line 96 of file resource.hpp.

◆ storagePolicy

StoragePolicy mbgl::Resource::storagePolicy {StoragePolicy::Permanent}

Definition at line 101 of file resource.hpp.

◆ tileData

std::optional<TileData> mbgl::Resource::tileData

Definition at line 94 of file resource.hpp.

◆ url

std::string mbgl::Resource::url

Definition at line 91 of file resource.hpp.

◆ usage

Usage mbgl::Resource::usage { Usage::Online }

Definition at line 89 of file resource.hpp.


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