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);
37 static std::shared_ptr<RandomAccess> copyInMemory(std::shared_ptr<RandomAccess> randomAccess);
47 static std::shared_ptr<RandomAccess> mapFile(
const std::string& filePath);
55 static std::shared_ptr<RandomAccess> fromBuffer(
void* buffer,
size_t size);
63 static std::shared_ptr<RandomAccess> openURIRead(
const Uri& uri);
73 static std::shared_ptr<RandomAccess> openHTTPRead(
const Uri& uri,
74 const std::string& method,
86 static std::shared_ptr<RandomAccess> extractRegion(std::shared_ptr<RandomAccess> src,
size_t offset);
98 static std::shared_ptr<RandomAccess> extractRegion(std::shared_ptr<RandomAccess> src,
size_t offset,
size_t size);
104 static std::shared_ptr<RandomAccess> fromStream(std::shared_ptr<StreamAccess> stream);