utils.cpp 771 B

123456789101112131415161718192021222324252627282930313233
  1. #include <cstdint>
  2. #include <sys/stat.h>
  3. // filesystem includes
  4. #include <wallpaperengine/fs/utils.h>
  5. // engine includes
  6. #include <wallpaperengine/irrlicht.h>
  7. namespace wp
  8. {
  9. namespace fs
  10. {
  11. std::string utils::loadFullFile (irr::io::path file)
  12. {
  13. irr::io::IReadFile* reader = wp::irrlicht::device->getFileSystem ()->createAndOpenFile (file);
  14. if (reader == NULL)
  15. return "";
  16. char* filedata = new char [reader->getSize () + 1];
  17. memset (filedata, 0, reader->getSize () + 1);
  18. reader->read (filedata, reader->getSize ());
  19. reader->drop ();
  20. std::string content = filedata;
  21. delete [] filedata;
  22. return content;
  23. }
  24. }
  25. }