]> git.lyx.org Git - lyx.git/blobdiff - src/support/filetools.h
Replace LString.h with support/std_string.h,
[lyx.git] / src / support / filetools.h
index fd82342e20727601bbd98f703469f9d1f1575337..0a857962e04d311380fcbf7f48ae5fa1c251c159 100644 (file)
@@ -1,12 +1,12 @@
-// -*- 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
+ * \author Lars Gullik Bjønnes
  *
- * Full author contact details are available in file CREDITS
+ * Full author contact details are available in file CREDITS.
  */
 
 #ifndef LYX_FILETOOL_H
 
 #include <vector>
 #include <utility>
-#include "LString.h"
-#include "os.h"
+#include "support/std_string.h"
 
 
+namespace lyx {
+namespace support {
+
 /// remove directory and all contents, returns 0 on success
 int destroyDir(string const & tmpdir);
 
@@ -140,6 +142,9 @@ string const getExtFromContents(string const & name);
 /// 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);
 
@@ -175,7 +180,9 @@ MakeRelPath(string const & abspath, string const & basepath);
 /// 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
@@ -205,15 +212,20 @@ void removeAutosaveFile(string const & filename);
 /// read the BoundingBox entry from a ps/eps/pdf-file
 string const readBB_from_PSFile(string const & file);
 
-/** Copy \param file to directory \param path. The file name is manipulated
-    so that eg some/path/to/file becomes some_path_to_file.
-    \returns this file name if the file is copied successfully, else
-    \returns an empty string.
+/** \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.
  */
-string copyFileToDir(string const & path, string const & file);
+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