summaryrefslogtreecommitdiff
path: root/include/mbgl/platform/factory.hpp
blob: c4b6dcfce6f8b1ee3859fe693aede4725cf06745 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#pragma once

#include <mbgl/storage/file_source_options.hpp>

#include <memory>

namespace mbgl {

class FileSource;

namespace platform {

class Factory {
public:
    // This is also a singleton: it stores a weak reference to the managed object once it has been created upon first
    // call of this function. It allows the initial value to be overriden.
    static std::shared_ptr<FileSource> sharedFileSource(const FileSourceOptions& options = {}, std::shared_ptr<FileSource> initial = {});
};

} // namespace platform
} // namespace mbgl