#ifndef DIRFILE_H #define DIRFILE_H #include #include #include #include #include #include #include #include enum FileType : uint32_t { None = 0, File, Dir, Link }; struct DirFileInfo { FileType type = None; std::string fullPath; std::string name; uint64_t lastModifyTime = 0; uint64_t size = 0; uint16_t permission = 0; DirFileInfo() = default; template void serialize(Archive& archive) { archive(CEREAL_NVP(type), CEREAL_NVP(fullPath), CEREAL_NVP(name), CEREAL_NVP(lastModifyTime), CEREAL_NVP(size), CEREAL_NVP(permission)); } }; struct DirFileInfoVec { std::vector vec; template void serialize(Archive& archive) { archive(CEREAL_NVP(vec)); } }; #endif