#include "typeConverter.h" EntryTypeConverter::EntryTypeConverter(const EntryResolver & u, const EntryResolver & g) : userLookup(u), groupLookup(g) { } struct stat EntryTypeConverter::convert(const NetFS::Attr & a) const { struct stat s; s.st_dev = a.dev; s.st_ino = a.inode; s.st_mode = a.mode; s.st_nlink = a.links; userLookup.getID(a.uid, &s.st_uid); groupLookup.getID(a.gid, &s.st_gid); s.st_rdev = a.rdev; s.st_size = a.size; s.st_blksize = a.blockSize; s.st_blocks = a.blocks; s.st_atime = a.atime; s.st_atim.tv_sec = a.atime; s.st_atim.tv_nsec = 0; s.st_mtime = a.mtime; s.st_mtim.tv_sec = a.mtime; s.st_mtim.tv_nsec = 0; s.st_ctime = a.ctime; s.st_ctim.tv_sec = a.ctime; s.st_ctim.tv_nsec = 0; return s; } struct statvfs TypeConverter::convert(const NetFS::VFS & v) const { struct statvfs vfs; vfs.f_bsize = v.blockSize; vfs.f_frsize = v.fragmentSize; vfs.f_blocks = v.blocks; vfs.f_bfree = v.freeBlocks; vfs.f_bavail = v.availBlocks; vfs.f_files = v.files; vfs.f_ffree = v.freeFiles; vfs.f_favail = v.availFiles; vfs.f_fsid = v.FSID; vfs.f_flag = v.flags; vfs.f_namemax = v.maxNameLen; return vfs; } NetFS::Attr EntryTypeConverter::convert(const struct stat & s) const { NetFS::Attr a; a.dev = s.st_dev; a.inode = s.st_ino; a.mode = s.st_mode; a.links = s.st_nlink; userLookup.getName(s.st_uid, &a.uid); groupLookup.getName(s.st_gid, &a.gid); a.rdev = s.st_rdev; a.size = s.st_size; a.blockSize = s.st_blksize; a.blocks = s.st_blocks; a.atime = s.st_atime; a.mtime = s.st_mtime; a.ctime = s.st_ctime; return a; } NetFS::VFS TypeConverter::convert(const struct statvfs & s) const { NetFS::VFS t; t.blockSize = s.f_bsize; t.fragmentSize = s.f_frsize; t.blocks = s.f_blocks; t.freeBlocks = s.f_bfree; t.availBlocks = s.f_bavail; t.files = s.f_files; t.freeFiles = s.f_ffree; t.availFiles = s.f_favail; t.FSID = s.f_fsid; t.flags = s.f_flag; t.maxNameLen = s.f_namemax; return t; }