]> git.lyx.org Git - lyx.git/blobdiff - src/DepTable.h
fix typo that put too many include paths for most people
[lyx.git] / src / DepTable.h
index 6b8dc5b597fa20c7030d43ff0a26f4cbbfddc64a..e9a12a6fadbae89b4c167f3ea1dbb04a5b1b84ed 100644 (file)
@@ -1,14 +1,16 @@
 // -*- C++ -*-
 /* This file is part of
- * ====================================================== 
- * 
+ * ======================================================
+ *
  *           LyX, The Document Processor
- *          Copyright (C) 1995 Matthias Ettrich
- *        
- *           This file is Copyright (C) 1996-1998
+ *          Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2001 The LyX Team.
+ *
+ *           This file is Copyright 1996-2001
  *           Lars Gullik Bjønnes
+ *           Ben Stanley
  *
- * ====================================================== 
+ * ======================================================
  */
 
 #ifndef DEP_TABLE_H
@@ -16,8 +18,6 @@
 
 #include "LString.h"
 #include <map>
-using std::map;
-using std::pair;
 
 #ifdef __GNUG__
 #pragma interface
@@ -30,25 +30,42 @@ public:
          filename. Should we insert files with .sty .cls etc as
          extension? */
        void insert(string const & f,
-                   bool upd = false,
-                   unsigned long one = 0,
-                   unsigned long two = 0);
+                   bool upd = false);
        ///
        void update();
 
        ///
-       void write(string const &f);
+       void write(string const & f) const;
        ///
-       void read(string const &f);
+       void read(string const & f);
        /// returns true if any of the files has changed
-       bool sumchange();
+       bool sumchange() const;
        /// return true if fil has changed.
-       bool haschanged(string const & fil);
+       bool haschanged(string const & fil) const;
        /// return true if a file with extension ext has changed.
-       bool extchanged(string const & ext);
+       bool extchanged(string const & ext) const;
+       ///
+       bool exist(string const & fil) const;
+       /// returns true if any files with ext exist
+       bool ext_exist(string const & ext) const;
+       ///
+       void remove_files_with_extension(string const &);
+       ///
+       void remove_file(string const &);
 private:
        ///
-       typedef map<string, pair<unsigned long, unsigned long> > DepList;
+       struct dep_info {
+               /// Previously calculated CRC value
+               unsigned long crc_prev;
+               /// Current CRC value - only re-computed if mtime has changed.
+               unsigned long crc_cur;
+               /// mtime from last time current CRC was calculated.
+               long mtime_cur;
+               ///
+               bool changed() const;
+       };
+       ///
+       typedef std::map<string, dep_info> DepList;
        ///
        DepList deplist;
 };