]> git.lyx.org Git - lyx.git/blobdiff - src/support/FileInfo.h
use more explicit on constructors use the pimpl idom to reduce size with about 500k
[lyx.git] / src / support / FileInfo.h
index 69ea2a361606fb704e7a8917c15e471b0b9cf558..aa3eb24c8553d9ffcac90eac51a2b0a7bf4238e5 100644 (file)
@@ -5,9 +5,9 @@
  *           LyX, The Document Processor
  *        
  *           Copyright 1995 Matthias Ettrich
- *           Copyright 1995-1999 The LyX Team.
+ *           Copyright 1995-2000 The LyX Team.
  *
- * ======================================================*/
+ * ====================================================== */
 
 #ifndef FILE_INFO_H
 #define FILE_INFO_H
@@ -25,34 +25,33 @@ class FileInfo {
 public:
        ///
        FileInfo();
-
+       
        /** Get information about file.
-       If link is true, the information is about the link itself, not
-       the file that is obtained by tracing the links. */
+           If link is true, the information is about the link itself, not
+           the file that is obtained by tracing the links. */
+       explicit
        FileInfo(string const & path, bool link = false);
 
-       ///
+       /// File descriptor
+       explicit
        FileInfo(int fildes);
 
-       ///
-       ~FileInfo();
-
-       ///
-       FileInfo& newFile(string const & path, bool link = false);
-
-       ///
-        FileInfo& newFile(int fildes);
+       /// Query a new file
+       FileInfo & newFile(string const & path, bool link = false);
        
-       /// returns a character describing file type (ls -F)
+       /// Query a new file descriptor
+        FileInfo & newFile(int fildes);
+       
+       /// Returns a character describing file type (ls -F)
        char const * typeIndicator() const;
-
-       ///
+       
+       /// File protection mode
        mode_t getMode() const;
 
-       ///
+       /// Get "preferred" block size for efficient file system I/O
        long getBlockSize() const;
        
-       /// constructs standard mode string (ls style)
+       /// Constructs standard mode string (ls style)
        void modeString(char * szString) const;
        
        /// returns a letter describing a file type (ls style)
@@ -63,44 +62,47 @@ public:
        
        /// updates mode string to match suid/sgid/sticky bits
        void setSticky(char * szString) const;
-
+       
        ///
        time_t getModificationTime() const;
-
+       
        ///
        time_t getAccessTime() const;
-
+       
        ///
        time_t getStatusChangeTime() const;
-
-       ///
+       
+       /// Total file size in bytes
        off_t getSize() const;
-
-       ///
+       
+       /// Number of hard links
        nlink_t getNumberOfLinks() const;
-
-       ///
+       
+       /// User ID of owner
        uid_t getUid() const;
-       ///
+       
+       /// Group ID of owner
        gid_t getGid() const;
-       ///
+       
+       /// Is the file information correct? Did the query succeed?
        bool isOK() const;
-       ///
+       
+       /// Permission flags
        enum perm_test {
                rperm = R_OK, // test for read permission
                wperm = W_OK, // test for write permission
                xperm = X_OK, // test for execute (search) permission
                eperm = F_OK  // test for existence of file
        };
-       ///
+       /// Test whether the current user has a given set of permissions
        bool access(int p);
-       ///
+       /// Is the file writable for the current user?
        bool writable() { return access(FileInfo::wperm); }
-       ///
+       /// Is the file readable for the current user?
        bool readable() { return access(FileInfo::rperm); }
-       ///
+       /// Is the file executable for the current user?
        bool executable() { return access(FileInfo::xperm); }
-       ///
+       /// Does the file exist?
        bool exist() { return access(FileInfo::eperm); }
        ///
        bool isLink() const;
@@ -129,7 +131,7 @@ private:
        ///
        void dostat(bool);
        ///
-       struct stat buf;
+       struct stat buf;
        ///
        int status;
        ///
@@ -139,4 +141,3 @@ private:
 };
 
 #endif
-