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);
41 static std::shared_ptr<StreamAccess> copyInMemory(std::shared_ptr<StreamAccess> streamAccess);
48 static std::shared_ptr<StreamAccess> fromStdStream(std::shared_ptr<std::istream> stream);
55 static std::shared_ptr<StreamAccess> fromStdStream(std::shared_ptr<std::ostream> stream);
62 static std::shared_ptr<StreamAccess> fromStdStream(std::shared_ptr<std::iostream> stream);
69 static std::shared_ptr<std::istream> toStdIStream(std::shared_ptr<StreamAccess> streamAccess);
76 static std::shared_ptr<std::ostream> toStdOStream(std::shared_ptr<StreamAccess> streamAccess);
84 static std::shared_ptr<std::iostream> toStdStream(std::shared_ptr<StreamAccess> streamAccess);
91 static std::shared_ptr<StreamAccess> openFileRead(
const std::string& filePath);
98 static std::shared_ptr<StreamAccess> openFileWrite(
const std::string& filePath);
106 static std::shared_ptr<StreamAccess> openFile(
const std::string& filePath);
116 static std::shared_ptr<StreamAccess> openURIWrite(
const Uri& uri);
127 static std::shared_ptr<StreamAccess> openHTTPWrite(
const Uri& uri,
128 const std::string& method,
137 static std::shared_ptr<StreamAccess> fromRandomAccess(std::shared_ptr<RandomAccess> randomAccess);