#include "../include/FileUtil.hpp" #include using namespace std; namespace sibs { FileType getFileType(const char *path) { tinydir_file file; if(tinydir_file_open(&file, path) == 0) { return file.is_dir ? FileType::DIRECTORY : FileType::REGULAR; } else { return FileType::FILE_NOT_FOUND; } } void walkDirectory(const char *directory, FileWalkCallbackFunc callbackFunc) { tinydir_dir dir; tinydir_open(&dir, directory); while (dir.has_next) { tinydir_file file; tinydir_readfile(&dir, &file); callbackFunc(&file); tinydir_next(&dir); } tinydir_close(&dir); } Result getFileContent(const char *filepath) { FILE *file = fopen(filepath, "rb"); if(!file || errno != 0) { perror(filepath); return Result::Err("Failed to open file"); } fseek(file, 0, SEEK_END); size_t fileSize = ftell(file); fseek(file, 0, SEEK_SET); string result; result.resize(fileSize); fread(&result[0], 1, fileSize, file); fclose(file); return Result::Ok(std::move(result)); } }