diff liboctave/file-ops.h @ 2926:66ef74ee5d9f

[project @ 1997-05-05 03:20:52 by jwe]
author jwe
date Mon, 05 May 1997 03:40:21 +0000
parents 8b262e771614
children 9d26524e2869
line wrap: on
line diff
--- a/liboctave/file-ops.h
+++ b/liboctave/file-ops.h
@@ -25,192 +25,37 @@
 
 #include <string>
 
+class string_vector;
+
 #ifdef HAVE_SYS_TYPES_H
 #include <sys/types.h>
 #endif
 
-class
-file_stat
+struct
+file_ops
 {
-public:
-
-  file_stat (const string& n = string (), bool fl = true)
-    : file_name (n), follow_links (fl), initialized (false)
-      {
-	if (! file_name.empty ())
-	  update_internal ();
-      }
-
-  file_stat (const file_stat& f) { copy (f); }
-
-  file_stat& operator = (const file_stat& f)
-    {
-      if (this != &f)
-	copy (f);
-
-      return *this;
-    }
-
-  ~file_stat (void) { }
-
-  void get_stats (bool force = false)
-    {
-      if (! initialized || force)
-        update_internal (force);
-    }
-
-  void get_stats (const string& n, bool force = false)
-    {
-      if (n != file_name || ! initialized  || force)
-	{
-	  initialized = false;
-
-	  file_name = n;
-
-	  update_internal (force);
-	}
-    }
-
-  // File status and info.  These should only be called for objects
-  // that are already properly initialized.
+  static int mkdir (const string&, mode_t);
+  static int mkdir (const string&, mode_t, string&);
 
-  bool is_blk (void) const;
-  bool is_chr (void) const;
-  bool is_dir (void) const;
-  bool is_fifo (void) const;
-  bool is_lnk (void) const;
-  bool is_reg (void) const;
-  bool is_sock (void) const;
-
-  ino_t ino (void) const { return fs_ino; }
-  dev_t dev (void) const { return fs_dev; }
-
-  nlink_t nlink (void) const { return fs_nlink; }
-
-  uid_t uid (void) const { return fs_uid; }
-  gid_t gid (void) const { return fs_gid; }
-
-  off_t size (void) const { return fs_size; }
-
-  time_t atime (void) const { return fs_atime; }
-  time_t mtime (void) const { return fs_mtime; }
-  time_t ctime (void) const { return fs_ctime; }
+  static int mkfifo (const string&, mode_t);
+  static int mkfifo (const string&, mode_t, string&);
 
-#if defined (HAVE_ST_RDEV)
-  dev_t rdev (void) const { return fs_rdev; }
-#endif
-
-#if defined (HAVE_ST_BLKSIZE)
-  long blksize (void) const { return fs_blksize; }
-#endif
-
-#if defined (HAVE_ST_BLOCKS)
-  long blocks (void) const { return fs_blocks; }
-#endif
-
-  string mode_as_string (void) const;
-
-  bool ok (void) const { return initialized && ! fail; }
-
-  operator void* () const
-    { return ok ()
-	? static_cast<void *> (-1) : static_cast<void *> (0); }
-
-  bool exists (void) const { return ok (); }
-
-  string error (void) const { return ok () ? string () : errmsg; }
+  static int rename (const string&, const string&);
+  static int rename (const string&, const string&, string&);
 
-  // Has the file referenced by this object been modified since TIME?
-  bool is_newer (time_t time) const { return fs_mtime > time; }
-
-private:
-
-  // Name of the file.
-  string file_name;
-
-  // TRUE means follow symbolic links to the ultimate file (stat).
-  // FALSE means get information about the link itself (lstat).
-  bool follow_links;
-
-  // TRUE means we have already called stat.
-  bool initialized;
-
-  // TRUE means the stat for this file failed.
-  bool fail;
-
-  // If a failure occurs, this contains the system error text.
-  string errmsg;
+  static int rmdir (const string&);
+  static int rmdir (const string&, string&);
 
-  // file type and permissions
-  mode_t fs_mode;
-
-  // serial number
-  ino_t fs_ino;
-
-  // device number
-  dev_t fs_dev;
-
-  // number of links
-  nlink_t fs_nlink;
-
-  // user ID of owner
-  uid_t fs_uid;
-
-  // group ID of owner
-  gid_t fs_gid;
-
-  // size in bytes, for regular files
-  off_t fs_size;
-
-  // time of last access
-  time_t fs_atime;
+  static string tempnam (void);
 
-  // time of last modification
-  time_t fs_mtime;
-
-  // time of last file status change
-  time_t fs_ctime;
-
-#if defined (HAVE_ST_RDEV)
-  // device number for special files
-  dev_t fs_rdev;
-#endif
-
-#if defined (HAVE_ST_BLKSIZE)
-  // best I/O block size
-  long fs_blksize;
-#endif
-
-#if defined (HAVE_ST_BLOCKS)
-  // number of 512-byte blocks allocated
-  long fs_blocks;
-#endif
-
-  void update_internal (bool force = false);
+  static string tilde_expand (const string&);
+  static string_vector tilde_expand (const string_vector&);
 
-  void copy (const file_stat&);
-};
-
-extern int is_newer (const string&, time_t);
-
-extern int oct_mkdir (const string&, mode_t);
-extern int oct_mkdir (const string&, mode_t, string&);
-
-extern int oct_mkfifo (const string&, mode_t);
-extern int oct_mkfifo (const string&, mode_t, string&);
+  static int umask (mode_t);
 
-extern int oct_rename (const string&, const string&);
-extern int oct_rename (const string&, const string&, string&);
-
-extern int oct_rmdir (const string&);
-extern int oct_rmdir (const string&, string&);
-
-extern string oct_tempnam (void);
-
-extern int oct_umask (mode_t);
-
-extern int oct_unlink (const string&);
-extern int oct_unlink (const string&, string&);
+  static int unlink (const string&);
+  static int unlink (const string&, string&);
+};
 
 #endif