// -*- C++ -*-
/* This file is part of
- * ======================================================
- *
+ * ======================================================
+ *
* LyX, The Document Processor
* Copyright 1995 Matthias Ettrich
- * Copyright 1995-2000 The LyX Team.
- *
- * This file is Copyright 1996-2000
+ * Copyright 1995-2001 The LyX Team.
+ *
+ * This file is Copyright 1996-2001
* Lars Gullik Bjønnes
+ * Ben Stanley
*
- * ======================================================
+ * ======================================================
*/
#ifndef DEP_TABLE_H
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();
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 std::map<string,
- std::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;
};