home *** CD-ROM | disk | FTP | other *** search
/ Dream 52 / Amiga_Dream_52.iso / Linux / Divers / lyx-0.13.2.tar.gz / lyx-0.13.2.tar / lyx-0.13.2 / src / DepTable.h < prev    next >
C/C++ Source or Header  |  1998-04-23  |  1KB  |  64 lines

  1. // -*- C++ -*-
  2. /* This file is part of
  3.  * ======================================================
  4.  * 
  5.  *           LyX, The Document Processor
  6.  *         Copyright (C) 1995 Matthias Ettrich
  7.  *        
  8.  *           This file is Copyright (C) 1996-1998
  9.  *           Lars Gullik Bj°nnes
  10.  *
  11.  * ======================================================
  12.  */
  13.  
  14. #ifndef _DEP_TABLE_H
  15. #define _DEP_TABLE_H
  16.  
  17. #include "LString.h"
  18. #include <stdio.h>
  19.  
  20. class LString;
  21.  
  22. ///
  23. class DepTable {
  24. public:
  25.     ///
  26.     DepTable();
  27.     ///
  28.     DepTable(LString const &f,
  29.          unsigned long one,
  30.          unsigned long two);
  31.     ///
  32.     /** This one is a little bit harder since we need the absolute
  33.       filename. Should we insert files with .sty .cls etc as
  34.       extension? */
  35.     void insert(LString const &f,
  36.             unsigned long one=0,
  37.             unsigned long two=0);
  38.     ///
  39.     void update();
  40.  
  41.     ///
  42.     void write(LString const &f);
  43.     ///
  44.     void read(LString const &f);
  45.     /// returns true if any of the files has changed
  46.     bool sumchange();
  47.     ///
  48.     bool haschanged(LString const &fil);
  49. private:
  50.     ///
  51.     LString file;
  52.     /// The files new checksum
  53.     unsigned long new_sum;
  54.     /// The files old checksum
  55.     unsigned long old_sum;
  56.     ///
  57.     DepTable *next;
  58.         
  59.     ///
  60.     void write(FILE *f);
  61. };
  62.  
  63. #endif
  64.