]> git.lyx.org Git - lyx.git/blobdiff - src/support/filetools.h
Use lyxconvert script for reading old files
[lyx.git] / src / support / filetools.h
index 1c667a1414da7b44d9859c9f00b8deb05c45d47c..3815daa32c60d4395d61216af880a46d9a88843e 100644 (file)
 #endif
 
 #include <vector>
+#include <utility>
 #include "LString.h"
 
 
 ///
-string const CreateBufferTmpDir (string const & pathfor = string());
+string const CreateBufferTmpDir(string const & pathfor = string());
 
 /// Creates directory. Returns true on succes.
 bool createDirectory(string const & name, int permissions);
 
 ///
-string const CreateLyXTmpDir (string const & deflt);
+string const CreateLyXTmpDir(string const & deflt);
 
 ///
-int DestroyBufferTmpDir (string const & tmpdir);
+int DestroyBufferTmpDir(string const & tmpdir);
 
 ///
-int DestroyLyXTmpDir (string const & tmpdir);
+int DestroyLyXTmpDir(string const & tmpdir);
 
 /** Find file by searching several directories.
   Uses a string of paths separated by ";"s to find a file to open.
@@ -37,7 +38,7 @@ int DestroyLyXTmpDir (string const & tmpdir);
     If path entry begins with $$User/, use user_lyxdir.
     Example: "$$User/doc;$$LyX/doc".
 */
-string const FileOpenSearch (string const & path, string const & name, 
+string const FileOpenSearch(string const & path, string const & name,
                       string const & ext = string());
 
 /** Returns the real name of file name in directory path, with optional
@@ -45,7 +46,7 @@ string const FileOpenSearch (string const & path, string const & name,
   The file is searched in the given path (unless it is an absolute
   file name), first directly, and then with extension .ext (if given).
   */
-string const FileSearch(string const & path, string const & name, 
+string const FileSearch(string const & path, string const & name,
                  string const & ext = string());
 
 /// Returns a vector of all files in directory dir having extension ext.
@@ -53,7 +54,7 @@ std::vector<string> const DirList(string const & dir,
                                  string const & ext = string());
 
 /** Is directory read only?
-  returns 
+  returns
     true: dir writeable
     false: not writeable
 */
@@ -87,17 +88,23 @@ bool IsSGMLFilename(string const & filename);
   \end{enumerate}
     The third parameter `ext' is optional.
 */
-string const LibFileSearch(string const & dir, string const & name, 
+string const LibFileSearch(string const & dir, string const & name,
                     string const & ext = string());
 
 /** Same as LibFileSearch(), but tries first to find an
   internationalized version of the file by prepending $LANG_ to the
-  name 
+  name
   */
 string const
-i18nLibFileSearch(string const & dir, string const & name, 
+i18nLibFileSearch(string const & dir, string const & name,
                  string const & ext = string());
 
+/** Takes a command with arguments as input and tries to see whether
+  the command itself can be found in one of the scripts/ directories.
+  If it is found, return the command with fully qualified script name,
+  either return it unchanged */
+string const LibScriptSearch(string const & command);
+
 ///
 string const GetEnv(string const & envname);
 
@@ -151,15 +158,14 @@ string const ExpandPath(string const & path);
   If relpath is absolute, just use that.
   If basepath doesn't exist use CWD.
   */
-string const MakeAbsPath(string const & RelPath = string(), 
+string const MakeAbsPath(string const & RelPath = string(),
                         string const & BasePath = string());
 
 /** Creates a nice compact path for displaying. The parameter
   threshold, if given, specifies the maximal length of the path.
   */
 string const
-MakeDisplayPath(string const & path,
-               unsigned int threshold = 1000);
+MakeDisplayPath(string const & path, unsigned int threshold = 1000);
 
 /** Makes relative path out of absolute path.
   If it is deeper than basepath,
@@ -190,9 +196,10 @@ string const GetFileContents(string const & fname);
 */
 string const ReplaceEnvironmentPath(string const & path);
 
-/* Set Link to the path file points to as a symbolic link.
+/* Set \c link to the path \c file points to as a symbolic link.
+   If \c resolve is true, then \c link is an absolute path
    Returns true if successful */
-bool LyXReadLink(string const & file, string & Link);
+bool LyXReadLink(string const & file, string & link, bool resolve = false);
 
 /// Uses kpsewhich to find tex files
 string const findtexfile(string const & fil, string const & format);
@@ -200,5 +207,11 @@ string const findtexfile(string const & fil, string const & format);
 /// remove the autosave-file and give a Message if it can't be done
 void removeAutosaveFile(string const & filename);
 
+/// read the BoundingBox entry from a ps/eps/pdf-file
+string const readBB_from_PSFile(string const & file);
+
+typedef std::pair<int, string> cmd_ret;
+
+cmd_ret const RunCommand(string const & cmd);
 
 #endif