-// -*- C++-*-
+// -*- C++ -*-
/**
* \file filetools.h
* This file is part of LyX, the document processor.
* Licence details can be found in the file COPYING.
+ *
+ * \author Lars Gullik Bjønnes
+ *
+ * Full author contact details are available in file CREDITS.
*/
#ifndef LYX_FILETOOL_H
#include "LString.h"
+namespace lyx {
+namespace support {
+
/// remove directory and all contents, returns 0 on success
int destroyDir(string const & tmpdir);
/// check for zipped file
bool zippedFile(string const & name);
+/// \return the name that LyX will give to the unzipped file.
+string const unzippedFileName(string const & zipped_file);
+
/// unzip a file
string const unzipFile(string const & zipped_file);
/// Strip filename from path name
string const OnlyPath(string const & fname);
-/// Normalize a path. Constracts path/../path
+/** Normalize a path. Constracts path/../path
+ * Also converts paths like /foo//bar ==> /foo/bar
+ */
string const NormalizePath(string const & path);
/// Strips path from filename
/// read the BoundingBox entry from a ps/eps/pdf-file
string const readBB_from_PSFile(string const & file);
+/** \param file1, file2 the two files to be compared. Must have absolute paths.
+ * \returns 1 if \c file1 has a more recent timestamp than \c file2,
+ * 0 if their timestamps are the same,
+ * -1 if \c file2 has a more recent timestamp than \c file1.
+ * If one of the files does not exist, the return value indicates the file
+ * which does exist. Eg, if \c file1 exists but \c file2 does not, return 1.
+ */
+int compare_timestamps(string const & file1, string const & file2);
+
typedef std::pair<int, string> cmd_ret;
cmd_ret const RunCommand(string const & cmd);
+} // namespace support
+} // namespace lyx
+
#endif