MantisBT
Mantis Bug Tracker Workflow

View Revisions: Issue #32455 All Revisions ] Back to Issue ]
Summary 0032455: Data Exchange - replace OSD_OpenStream() usage with OSD_FileSystem::DefaultFileSystem()
Revision 2021-06-18 21:31 by kgv
Description OSD_OpenStream() expects std::ifstream and works only with local file system.

It is proposed replacing most of existing OSD_OpenStream() usage places with OSD_FileSystem::DefaultFileSystem() returning general std::istream, and extensible with other file systems (emulated in-memory, encrypted, compressed, remote ftp/http/https, clustered HDFS, embedded resources AAssetManager_open(), etc.).

While providing a direct interface in Data Exchange classes accepting std::istream/std::ostream looks useful and natural, it doesn't provide a simple answer on handling multi-file assets (STEP files referring to other STEP files, OBJ file referring to textures and material files, glTF file referring to data and image files). OSD_FileSystem doesn't bring a simple solution for these case, but allows providing implementations at application level with desired behavior.
Revision 2021-06-18 21:22 by kgv
Description OSD_OpenStream() expects std::ifstream and works only with local file system.

It is proposed replacing most of existing OSD_OpenStream() usage places with OSD_FileSystem::DefaultFileSystem() returning general std::istream, and extensible with other file systems (emulated in-memory, https, HDFS, AAssetManager_open(), etc.).


Copyright © 2000 - 2021 MantisBT Team
Powered by Mantis Bugtracker