crn_file_utils.h 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. // File: crn_file_utils.h
  2. // See Copyright Notice and license at the end of inc/crnlib.h
  3. #pragma once
  4. namespace crnlib
  5. {
  6. struct file_utils
  7. {
  8. // Returns true if pSrcFilename is older than pDstFilename
  9. static bool is_read_only(const char* pFilename);
  10. static bool disable_read_only(const char* pFilename);
  11. static bool is_older_than(const char *pSrcFilename, const char* pDstFilename);
  12. static bool does_file_exist(const char* pFilename);
  13. static bool does_dir_exist(const char* pDir);
  14. static bool get_file_size(const char* pFilename, uint64& file_size);
  15. static bool get_file_size(const char* pFilename, uint32& file_size);
  16. static bool is_path_separator(char c);
  17. static bool is_path_or_drive_separator(char c);
  18. static bool is_drive_separator(char c);
  19. static bool split_path(const char* p, dynamic_string* pDrive, dynamic_string* pDir, dynamic_string* pFilename, dynamic_string* pExt);
  20. static bool split_path(const char* p, dynamic_string& path, dynamic_string& filename);
  21. static bool get_pathname(const char* p, dynamic_string& path);
  22. static bool get_filename(const char* p, dynamic_string& filename);
  23. static void combine_path(dynamic_string& dst, const char* pA, const char* pB);
  24. static void combine_path(dynamic_string& dst, const char* pA, const char* pB, const char* pC);
  25. static bool full_path(dynamic_string& path);
  26. static bool get_extension(dynamic_string& filename);
  27. static bool remove_extension(dynamic_string& filename);
  28. static bool create_path(const dynamic_string& path);
  29. static void trim_trailing_seperator(dynamic_string& path);
  30. static int wildcmp(const char* pWild, const char* pString);
  31. static bool write_buf_to_file(const char* pPath, const void* pData, size_t data_size);
  32. }; // struct file_utils
  33. } // namespace crnlib