6 #include <iolink/IOLinkAPI.h>
7 #include <iolink/Uri.h>
8 #include <iolink/storage/HTTPHeaders.h>
9 #include <iolink/storage/RandomAccess.h>
10 #include <iolink/storage/StreamAccess.h>
30 static std::shared_ptr<RandomAccess> allocate(
size_t size);
36 static std::shared_ptr<RandomAccess> copyInMemory(std::shared_ptr<RandomAccess> randomAccess);
46 static std::shared_ptr<RandomAccess> mapFile(
const std::string& filePath);
54 static std::shared_ptr<RandomAccess> fromBuffer(
void* buffer,
size_t size);
62 static std::shared_ptr<RandomAccess> openURIRead(
const Uri& uri);
72 static std::shared_ptr<RandomAccess> openHTTPRead(
const Uri& uri,
73 const std::string& method,
84 static std::shared_ptr<RandomAccess> extractRegion(std::shared_ptr<RandomAccess> src,
size_t offset);
95 static std::shared_ptr<RandomAccess> extractRegion(std::shared_ptr<RandomAccess> src,
size_t offset,
size_t size);
100 static std::shared_ptr<RandomAccess> fromStream(std::shared_ptr<StreamAccess> stream);