// -*- C++-*-
/* lyx-filetool.h : tools functions for file/path handling
this file is part of LyX, the High Level Word Processor
- Copyright 1995-2000, Matthias Ettrich and the LyX Team
+ Copyright 1995-2001, Matthias Ettrich and the LyX Team
*/
#ifndef LYX_FILETOOL_H
#pragma interface
#endif
-#include <cstdlib>
-#include <fcntl.h>
-#include <cerrno>
-
-#include "debug.h"
+#include <vector>
#include "LString.h"
-#include "support/lstrings.h"
///
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.
+std::vector<string> const DirList(string const & dir,
+ string const & ext = string());
+
/** Is directory read only?
returns
- 1: dir writeable
- 0: not writeable
- -1: error- couldn't find out, or unsure
- */
-int IsDirWriteable (string const & path);
+ true: dir writeable
+ false: not writeable
+*/
+bool IsDirWriteable (string const & path);
/** Is a file readable ?
Returns true if the file `path' is readable.
///
bool IsLyXFilename(string const & filename);
+///
+bool IsSGMLFilename(string const & filename);
+
/** Returns the path of a library data file.
Search the file name.ext in the subdirectory dir of
\begin{enumerate}
/// Put the name in quotes suitable for the current shell
string const QuoteName(string const & file);
-/** Returns an unique name to be used as a temporary file. If given,
- 'mask' should the prefix to the temporary file, the rest of the
- temporary filename will be made from the pid and three letters.
- */
-string const
-TmpFileName(string const & dir = string(),
- string const & mask = "lyx_tmp");
-
-/// Is a filename/path absolute?
-bool AbsolutePath(string const & path);
-
/// Add a filename to a path. Any path from filename is stripped first.
string const AddName(string const & path, string const & fname);
string const
ChangeExtension(string const & oldname, string const & extension);
-/// Create absolute path. If impossible, don't do anything
-string const ExpandPath(string const & path);
+/// Return the extension of the file (not including the .)
+string const GetExtension(string const & name);
-/// gets current working directory
-string const GetCWD();
+/// Returns true is path is absolute
+bool AbsolutePath(string const & path);
+/// Create absolute path. If impossible, don't do anything
+string const ExpandPath(string const & path);
/** Convert relative path into absolute path based on a basepath.
If relpath is absolute, just use that.
If basepath doesn't exist use CWD.
*/
string const MakeAbsPath(string const & RelPath = string(),
- string const & BasePath = string());
+ string const & BasePath = string());
/** Creates a nice compact path for displaying. The parameter
threshold, if given, specifies the maximal length of the path.
/// Get the contents of a file as a huge string
string const GetFileContents(string const & fname);
-/// Cleanup a path if necessary. Currently only useful with OS/2
-string const CleanupPath(string const & path);
-
/** Check and Replace Environmentvariables ${NAME} in Path.
Replaces all occurences of these, if they are found in the
environment.
Returns true if successful */
bool LyXReadLink(string const & file, string & Link);
-/* Uses kpsewhich to find tex files */
+/// Uses kpsewhich to find tex files
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);
+
#endif