#pragma once #include #include #include namespace sys { struct FileInfo { long mTimeSec; long mTimeNsec; bool isDir; bool isOlderThan(FileInfo &f) { return mTimeSec < f.mTimeSec || (mTimeSec == f.mTimeSec && mTimeNsec < f.mTimeNsec); } }; std::string sanitizePath(const std::string &path); FileInfo fileInfo(const std::string &path); bool fileExists(const std::string &path); void mkdirp(const std::string &path); void rmrf(const std::string &path); void execute(const std::vector &args, std::string *output, bool print); void readDir(const std::string &path, std::vector &files); void chdir(const std::string &path); std::string cwd(); void symlink(const std::string &from, const std::string &to); std::string dirname(const std::string &path); }