* 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
+#ifdef __GNUG__
+#pragma interface
+#endif
+
#include <ctime>
#include <unistd.h>
#include "LString.h"
-/** Use objects of this class to get information about files. */
+/** Use objects of this class to get information about files.
+ */
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();
-
/// Query a new file
- FileInfo& newFile(string const & path, bool link = false);
-
+ FileInfo & newFile(string const & path, bool link = false);
+
/// Query a new file descriptor
- FileInfo& newFile(int fildes);
+ 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)
void modeString(char * szString) const;
/// 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 for read permission
+ rperm = R_OK,
+ /// test for write permission
+ wperm = W_OK,
+ /// test for execute (search) permission
+ xperm = X_OK,
+ /// test for existence of file
+ eperm = F_OK
};
/// Test whether the current user has a given set of permissions
bool access(int p);
///
int getError() const;
///
- enum {
+ enum Err {
///
NoErr = -1
};
///
void dostat(bool);
///
- struct stat * buf;
+ struct stat buf;
///
int status;
///