X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2FDepTable.h;h=e9a12a6fadbae89b4c167f3ea1dbb04a5b1b84ed;hb=2523638092e2024bac408eee98ad2094bc4e4089;hp=6b8dc5b597fa20c7030d43ff0a26f4cbbfddc64a;hpb=a040c0bc6f017d0591bbc7ad1aa590589dbc40ff;p=lyx.git diff --git a/src/DepTable.h b/src/DepTable.h index 6b8dc5b597..e9a12a6fad 100644 --- a/src/DepTable.h +++ b/src/DepTable.h @@ -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 -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 > 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 DepList; /// DepList deplist; };