You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.2 KiB
54 lines
1.2 KiB
6 months ago
|
|
||
|
namespace Mapbox.Platform.Cache
|
||
|
{
|
||
|
|
||
|
using Mapbox.Map;
|
||
|
using System;
|
||
|
|
||
|
|
||
|
public interface ICache
|
||
|
{
|
||
|
|
||
|
/// <summary>
|
||
|
/// Maximum number of tiles to store
|
||
|
/// </summary>
|
||
|
uint MaxCacheSize { get; }
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Add tile data to the cache
|
||
|
/// </summary>
|
||
|
/// <param name="tilesetId">Tile set name</param>
|
||
|
/// <param name="tileId</param>
|
||
|
/// <param name="item">Item to cache</param>
|
||
|
/// <param name="replaceIfExists">Force insert even if item already exists.</param>
|
||
|
void Add(string tilesetId, CanonicalTileId tileId, CacheItem item, bool replaceIfExists);
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Get tile
|
||
|
/// </summary>
|
||
|
/// <param name="tilesetId"></param>
|
||
|
/// <param name="tileId"></param>
|
||
|
/// <returns>byte[] with tile data. Null if requested tile is not in cache</returns>
|
||
|
CacheItem Get(string tilesetId, CanonicalTileId tileId);
|
||
|
|
||
|
|
||
|
/// <summary>Clear cache for all tile sets</summary>
|
||
|
void Clear();
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Clear cache for one tile set
|
||
|
/// </summary>
|
||
|
/// <param name="tilesetId"></param>
|
||
|
void Clear(string tilesetId);
|
||
|
|
||
|
|
||
|
/// <summary>
|
||
|
/// Reinitialize cache. Might be needed after 'Clear', eg for SQLiteCache
|
||
|
/// </summary>
|
||
|
void ReInit();
|
||
|
}
|
||
|
}
|