#ifndef LYX_LIB_H
#define LYX_LIB_H
+#include "support/FileName.h"
+
#include <string>
namespace lyx {
namespace support {
-class FileName;
-
/// get the current working directory
-std::string const getcwd();
-/// change to a directory, 0 is returned on success.
-int chdir(FileName const & name);
+FileName const getcwd();
/// Change file permissions
bool chmod(FileName const & file, unsigned long int mode);
/**
bool rename(FileName const & from, FileName const & to);
/// copy a file, returns false it it fails
bool copy(FileName const & from, FileName const & to,
- unsigned long int mode = (unsigned long int)-1);
-/// generates a checksum of a file
-unsigned long sum(FileName const & file);
+ unsigned long int mode = (unsigned long int)-1);
/// FIXME: some point to this hmm ?
int kill(int pid, int sig);
/// FIXME: same here
void abort();
/// create the given directory with the given mode
+/// \ret return 0 if the directory is successfully created
int mkdir(FileName const & pathname, unsigned long int mode);
-/// unlink the given file
-int unlink(FileName const & file);
-/// (securely) create a temporary file in the given dir with the given prefix
-std::string const tempName(std::string const & dir = std::string(),
+/// create the given directory with the given mode, create all
+/// intermediate directories if necessary
+/// \ret return 0 if the directory is successfully created
+int makedir(char * pathname, unsigned long int mode=0755);
+/// (securely) create a temporary file in the given dir with the given mask
+/// \p mask must be in filesystem encoding
+FileName const tempName(FileName const & dir = FileName(),
std::string const & mask = std::string());