diff --git a/doomsday/apps/libdoomsday/include/doomsday/filesys/datafolder.h b/doomsday/apps/libdoomsday/include/doomsday/filesys/datafolder.h index cca03dcc8a..523736c8bb 100644 --- a/doomsday/apps/libdoomsday/include/doomsday/filesys/datafolder.h +++ b/doomsday/apps/libdoomsday/include/doomsday/filesys/datafolder.h @@ -36,7 +36,10 @@ class LIBDOOMSDAY_PUBLIC DataFolder : public de::Folder, public DataBundle DataFolder(Format format, de::File &sourceFile); ~DataFolder(); - de::String describe() const; + de::String describe() const override; + + // Stream access. + IIStream const &operator >> (IByteArray &bytes) const override; }; #endif // LIBDOOMSDAY_DATABUNDLE_H diff --git a/doomsday/apps/libdoomsday/src/filesys/datafolder.cpp b/doomsday/apps/libdoomsday/src/filesys/datafolder.cpp index 15644a0f59..a2ccd6d6a9 100644 --- a/doomsday/apps/libdoomsday/src/filesys/datafolder.cpp +++ b/doomsday/apps/libdoomsday/src/filesys/datafolder.cpp @@ -65,3 +65,12 @@ String DataFolder::describe() const return desc; } + +IIStream const &DataFolder::operator >> (IByteArray &bytes) const +{ + if (source()) + { + *source() >> bytes; + } + return *this; +}