]> git.lyx.org Git - lyx.git/blobdiff - src/DepTable.h
write \mathrm{x}\mathrm{y} as \mathrm{xy} again
[lyx.git] / src / DepTable.h
index 49cd4e73d9aadacd56f8a443c4f44efa233111fb..e7655bc79f17d7631b927a8f81f44a52773dafc3 100644 (file)
@@ -1,32 +1,34 @@
 // -*- C++ -*-
 /* This file is part of
- * ======================================================
+ * ====================================================== 
  * 
  *           LyX, The Document Processor
- *          Copyright (C) 1995 Matthias Ettrich
+ *          Copyright 1995 Matthias Ettrich
+ *           Copyright 1995-2001 The LyX Team.
  *        
- *           This file is Copyright (C) 1996-1998
+ *           This file is Copyright 1996-2001
  *           Lars Gullik Bjønnes
  *
- * ======================================================
+ * ====================================================== 
  */
 
-#ifndef _DEP_TABLE_H
-#define _DEP_TABLE_H
+#ifndef DEP_TABLE_H
+#define DEP_TABLE_H
 
 #include "LString.h"
-#include <stdio.h>
+#include <map>
+
+#ifdef __GNUG__
+#pragma interface
+#endif
 
 ///
 class DepTable {
 public:
-       ///
-       DepTable();
-       ///
        /** This one is a little bit harder since we need the absolute
          filename. Should we insert files with .sty .cls etc as
          extension? */
-       void insert(LString const &f,
+       void insert(string const & f,
                    bool upd = false,
                    unsigned long one = 0,
                    unsigned long two = 0);
@@ -34,30 +36,25 @@ public:
        void update();
 
        ///
-       void write(LString const &f);
+       void write(string const & f) const;
        ///
-       void read(LString 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) const;
+       /// return true if a file with extension ext has changed.
+       bool extchanged(string const & ext) const;
        ///
-       bool haschanged(LString const &fil);
-private:
-       ///
-       DepTable(LString const &f,
-                bool upd,
-                unsigned long one,
-                unsigned long two);
+       bool exist(string const & fil) const;
        ///
-       LString file;
-       /// The files new checksum
-       unsigned long new_sum;
-       /// The files old checksum
-       unsigned long old_sum;
+       void remove_files_with_extension(string const &);
+private:
        ///
-       DepTable *next;
-               
+       typedef std::map<string,
+               std::pair<unsigned long, unsigned long> > DepList;
        ///
-       void write(FILE *f);
+       DepList deplist;
 };
 
 #endif