Spin-off syscall-related file operations (#78)

* [file_utils] spin-off syscall-related file operations

1. Eliminate the potential circular dependency between
   persistent-data/block.h and persistent-data/file_utils.h,
   if the former one wants to include the latter.
2. Avoid namespace pollution by removing the "using namespace std"
   declaration in block.tcc.
3. Correct the header hierarchy: base/xml_utils.h now no longer
   depends on the higher-level persistent-data/file_utils.h

* [file_utils] support block files in get_file_length()
This commit is contained in:
Ming-Hung Tsai
2017-04-30 01:51:52 +08:00
committed by Joe Thornber
parent 8f25e1b234
commit b7d418131d
20 changed files with 210 additions and 191 deletions

21
base/file_utils.h Normal file
View File

@@ -0,0 +1,21 @@
#ifndef BASE_FILE_UTILS_H
#define BASE_FILE_UTILS_H
#include <string>
#include <sys/types.h>
#include <stdint.h>
//----------------------------------------------------------------
namespace file_utils {
int open_file(std::string const &path, int flags);
bool file_exists(std::string const &path);
void check_file_exists(std::string const &file);
int create_block_file(std::string const &path, off_t file_size);
int open_block_file(std::string const &path, off_t min_size, bool writeable, bool excl = true);
uint64_t get_file_length(std::string const &file);
}
//----------------------------------------------------------------
#endif