Cogs.Core
RasterSourceSubscription.h
1#pragma once
2
3#include <memory>
4#include <vector>
5
6#include "RasterSource.h"
7
8namespace Cogs
9{
10 using RasterSourcePtr = std::shared_ptr<RasterSource>;
11
13 {
14 RasterSourceSubscription() = default;
16
17 void setup(RasterSourcePtr source);
18 void teardown();
19
20 void postResponse(const TileLoadResponse & response);
21
22 void getResponses(std::vector<TileLoadResponse> & responses, size_t maxResponses);
23
24 bool isReady() const { return (bool)rasterSource; }
25
26 RasterSource * operator->() { return rasterSource.get(); }
27
28 RasterSourcePtr rasterSource;
29
30 private:
31 std::vector<TileLoadResponse> responses;
32 std::mutex responseMutex;
33 };
34}
Contains all Cogs related functionality.
Definition: FieldSetter.h:23