00001 // ======================================================================== 00002 // copyright (C) 1999-2003 by Tobias Erbsland <te@profzone.ch> 00003 // ------------------------------------------------------------------------ 00004 // This program is free software; you can redistribute it and/or modify it 00005 // under the terms of the GNU General Public License as published by the 00006 // Free Software Foundation; either version 2 of the License, or (at your 00007 // option) any later version. 00008 // ======================================================================== 00009 00010 #ifndef ANALYSE_H 00011 #define ANALYSE_H 00012 #ifdef HAVE_CONFIG_H 00013 #include <config.h> 00014 #endif 00015 00016 #include <map> 00017 #include <list> 00018 #include <ctime> 00019 #include "report.h" 00020 #include "parameter.h" 00021 00041 class Analyse : public Parameter 00042 { 00043 00044 protected: 00048 Report * report; // Defaultreport. 00049 00050 public: 00055 struct unity_t 00056 { 00057 long size; 00058 std::string from; 00059 time_t date; 00060 std::list< std::string > to_intern; 00061 std::list< std::string > to_extern; 00062 }; 00063 00067 Analyse() : report( 0 ) { }; 00068 00073 virtual void run( std::map< std::string, unity_t > * unity_map ) = 0; 00074 00079 virtual void print( void ) = 0; 00080 00083 virtual void free( void ) = 0; 00084 00088 virtual void setReport( Report * r ) { report = r; }; 00089 00093 virtual Report * getReport( void ) { return report; }; 00094 00097 virtual ~Analyse(); 00098 }; 00099 00100 #endif
1.2.18