| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef FILEFUNCTIONS_H
- #define FILEFUNCTIONS_H
- #include <string>
- #include <ctime>
- #include <queue>
- namespace filefunctions
- {
- enum STATUS_CODE
- {
- SC_SUCCESS = 0,
- SC_INVALID_WD, // No or invalid working dir
- SC_INVALID_PATH,
- SC_INVALID_DESTINATION,
- SC_DISK_FULL,
- SC_DOES_NOT_EXIST,
- SC_ALREADY_EXISTS,
- SC_READ_ONLY,
- SC_IS_DIRECTORY,
- SC_IS_NOT_DIRECTORY,
- SC_OTHER_FAILIURE
- // And so on
- };
- enum COMMAND_FLAGS
- {
- CF_NONE = 0,
- CF_FORCE = 1,
- CF_RELATIVE = 2,
- CF_RECURSIVE = 4,
- };
- struct File_Struct
- {
- std::string path;
- std::string file_ending;
- tm *modified = nullptr;
- tm *taken = nullptr;
- };
- COMMAND_FLAGS operator|(COMMAND_FLAGS a, COMMAND_FLAGS b);
- extern std::string filefunctions_wd;
- STATUS_CODE cd (std::string const &path = "", COMMAND_FLAGS flags = CF_RELATIVE);
- STATUS_CODE mv (std::string const &src, std::string const &dest, COMMAND_FLAGS flags = CF_NONE);
- STATUS_CODE mkdir (std::string const &path, COMMAND_FLAGS flags = CF_NONE);
- STATUS_CODE rm (std::string const &path, COMMAND_FLAGS flags = CF_NONE);
- std::string pwd (void);
- STATUS_CODE ls (std::string path, std::queue<File_Struct> &content, COMMAND_FLAGS flags = CF_RELATIVE);
- }
- #endif // FILEFUNCTIONS_H
|