X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?p=vrfileman;a=blobdiff_plain;f=src%2Ffs.h;h=6c7b4069ea377aa7b19a1a3b33dfbd54300312be;hp=c6f95a7982b3f3cd67d5193e9f0164a27c4ad737;hb=dfbd5842ef2f270e7d83507c4ba7bed005eea780;hpb=c5daeff5edca4efa63ef7ae10722c047ab120be0 diff --git a/src/fs.h b/src/fs.h index c6f95a7..6c7b406 100644 --- a/src/fs.h +++ b/src/fs.h @@ -1,23 +1,29 @@ #ifndef FS_H_ #define FS_H_ +#include +#include +#include "fspath.h" + enum FSNodeType { - FSNODE_UNKNOWN, - FSNODE_FILE, - FSNODE_DIR, - FSNODE_DEV + FSTYPE_UNKNOWN, + FSTYPE_FILE, + FSTYPE_DIR, + FSTYPE_DEV }; class FSNode { public: FSNodeType type; - char *abs_path; - char *name, *suffix; + FSPath path; + size_t size; + + FSNode *parent; + std::vector children; FSNode(); - ~FSNode(); - void set_path(const char *s); + bool expand(); }; bool init_fs(); @@ -25,4 +31,7 @@ void cleanup_fs(); void draw_fs(); +FSNode *get_fsnode(const char *path); +FSNode *get_fsnode(const char *dir, const char *name); + #endif // FS_H_