]> git.lyx.org Git - features.git/blobdiff - src/support/FileName.h
more use of support::FileName.
[features.git] / src / support / FileName.h
index ebcc111b58fc4b7e08c4b08076289c8d4a781d14..a2b1c3c48d6fe3b7ca19cfd611109dab28fb063b 100644 (file)
@@ -12,6 +12,8 @@
 #ifndef FILENAME_H
 #define FILENAME_H
 
+#include "strfwd.h"
+
 #include <string>
 #include <ctime>
 
@@ -69,18 +71,47 @@ public:
        bool isWritable() const;
        /// return true when file/directory is writable (write test file)
        bool isDirWritable() const;
+       
+       /// return true when file/directory is writable (write test file)
+       bool copyTo(FileName const & target, bool noclobber) const;
 
+       /// remove directory and all contents, returns true on success
+       bool destroyDirectory() const;
+       /// Creates directory. Returns true on success
+       bool createDirectory(int permissions) const;
+
+       /// Get the contents of a file as a huge std::string
+       std::string fileContents() const;
        /**
         * Get a FileName from \p name in the encoding used by the file system.
         * Only use this for filenames you got directly from the file system,
         * e.g. from reading a directory.
         * \p name must have an absolute path.
         */
+
+       /** Guess the file format name (as in Format::name()) from contents.
+        Normally you don't want to use this directly, but rather
+        Formats::getFormatFromFile().
+        */
+       std::string guessFormatFromContents() const;
+
+       /// check for zipped file
+       bool isZippedFile() const;
+
        static FileName fromFilesystemEncoding(std::string const & name);
        /// (securely) create a temporary file in the given dir with the given mask
        /// \p mask must be in filesystem encoding
        static FileName tempName(FileName const & dir = FileName(),
                                                std::string const & mask = std::string());
+
+       /// filename without path
+       std::string onlyFileName() const;
+       /// path without file name
+       std::string onlyPath() const;
+       /// used for display in the Gui
+       docstring displayName(int threshold = 1000) const;
+
+
 protected:
        /// The absolute file name.
        /// The encoding is currently unspecified, anything else than ASCII