3 #include <iolink/IOLinkAPI.h>
4 #include <iolink/Uri.h>
5 #include <iolink/storage/HTTPHeaders.h>
6 #include <iolink/storage/RandomAccess.h>
7 #include <iolink/storage/StreamAccess.h>
33 static std::shared_ptr<StreamAccess> allocate(
size_t size = 0);
42 static std::shared_ptr<StreamAccess> copyInMemory(std::shared_ptr<StreamAccess> streamAccess);
49 static std::shared_ptr<StreamAccess> fromStdStream(std::shared_ptr<std::istream> stream);
56 static std::shared_ptr<StreamAccess> fromStdStream(std::shared_ptr<std::ostream> stream);
63 static std::shared_ptr<StreamAccess> fromStdStream(std::shared_ptr<std::iostream> stream);
71 static std::shared_ptr<std::istream> toStdIStream(std::shared_ptr<StreamAccess> streamAccess);
79 static std::shared_ptr<std::ostream> toStdOStream(std::shared_ptr<StreamAccess> streamAccess);
88 static std::shared_ptr<std::iostream> toStdStream(std::shared_ptr<StreamAccess> streamAccess);
95 static std::shared_ptr<StreamAccess> openFileRead(
const std::string& filePath);
102 static std::shared_ptr<StreamAccess> openFileWrite(
const std::string& filePath);
110 static std::shared_ptr<StreamAccess> openFile(
const std::string& filePath);
120 static std::shared_ptr<StreamAccess> openURIWrite(
const Uri& uri);
131 static std::shared_ptr<StreamAccess> openHTTPWrite(
const Uri& uri,
132 const std::string& method,
142 static std::shared_ptr<StreamAccess> fromRandomAccess(std::shared_ptr<RandomAccess> randomAccess);