Files
MapLibreParticleLab/render-test/file_source.hpp
Bart Louwers 550f64be22 core: rename mbgl namespace to mln (#4487)
Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
2026-08-14 23:25:20 +02:00

60 lines
1.4 KiB
C++

#pragma once
#include <mbgl/storage/file_source.hpp>
namespace mln {
class ClientOptions;
class ResourceOptions;
class ProxyFileSource : public FileSource {
public:
ProxyFileSource(std::shared_ptr<FileSource>, const ResourceOptions&, const ClientOptions&);
~ProxyFileSource();
std::unique_ptr<AsyncRequest> request(const Resource&, Callback) override;
bool canRequest(const Resource&) const override { return true; }
/**
* @brief Flag to change the networking mode of the file source.
*/
static void setOffline(bool);
/**
* @brief Starts/stops metrics tracking.
*/
static void setTrackingActive(bool);
/**
* @brief Returns metrics tracking status.
*/
static bool isTrackingActive();
/**
* @brief Returns the total amount of requests.
*
* @return size_t
*/
static size_t getRequestCount();
/**
* @brief Returns the size of transferred data (in bytes).
*
* @return size_t
*/
static size_t getTransferredSize();
void setResourceOptions(ResourceOptions) override;
ResourceOptions getResourceOptions() override;
void setClientOptions(ClientOptions) override;
ClientOptions getClientOptions() override;
private:
std::shared_ptr<FileSource> defaultResourceLoader;
ResourceOptions resourceOptions;
ClientOptions clientOptions;
};
} // namespace mln