lib/FilePrinter.h

Code
Comments
Other
Rev Date Author Line
1290 12 Nov 10 peter 1 #ifndef _theplu_svndigest_file_printer_
1290 12 Nov 10 peter 2 #define _theplu_svndigest_file_printer_
165 24 Aug 06 jari 3
7 30 Dec 05 jari 4 // $Id$
4 29 Dec 05 peter 5
84 13 Mar 06 jari 6 /*
978 12 Dec 09 peter 7   Copyright (C) 2005, 2006, 2007, 2008 Jari Häkkinen, Peter Johansson
1515 26 Sep 12 peter 8   Copyright (C) 2009, 2010, 2012 Peter Johansson
84 13 Mar 06 jari 9
687 04 Aug 08 peter 10   This file is part of svndigest, http://dev.thep.lu.se/svndigest
84 13 Mar 06 jari 11
149 12 Aug 06 jari 12   svndigest is free software; you can redistribute it and/or modify it
84 13 Mar 06 jari 13   under the terms of the GNU General Public License as published by
693 11 Sep 08 jari 14   the Free Software Foundation; either version 3 of the License, or
84 13 Mar 06 jari 15   (at your option) any later version.
84 13 Mar 06 jari 16
149 12 Aug 06 jari 17   svndigest is distributed in the hope that it will be useful, but
84 13 Mar 06 jari 18   WITHOUT ANY WARRANTY; without even the implied warranty of
149 12 Aug 06 jari 19   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
84 13 Mar 06 jari 20   General Public License for more details.
84 13 Mar 06 jari 21
84 13 Mar 06 jari 22   You should have received a copy of the GNU General Public License
693 11 Sep 08 jari 23   along with svndigest. If not, see <http://www.gnu.org/licenses/>.
84 13 Mar 06 jari 24 */
84 13 Mar 06 jari 25
1290 12 Nov 10 peter 26 #include "NodePrinter.h"
4 29 Dec 05 peter 27
4 29 Dec 05 peter 28 #include <string>
4 29 Dec 05 peter 29
4 29 Dec 05 peter 30 namespace theplu{
149 12 Aug 06 jari 31 namespace svndigest{
4 29 Dec 05 peter 32
1290 12 Nov 10 peter 33   class File;
1234 23 Oct 10 peter 34
1290 12 Nov 10 peter 35   class FilePrinter : public NodePrinter
129 02 Aug 06 jari 36   {
129 02 Aug 06 jari 37   public:
1513 23 Sep 12 peter 38     ///
1513 23 Sep 12 peter 39     /// @brief Default Constructor
1513 23 Sep 12 peter 40     ///
1290 12 Nov 10 peter 41     explicit FilePrinter(const File& file);
9 30 Dec 05 jari 42
330 18 May 07 peter 43     /**
1290 12 Nov 10 peter 44        @return output path for example 'lib/FilePrinter.h.html' for this file
343 19 May 07 peter 45      */
343 19 May 07 peter 46     std::string output_path(void) const;
343 19 May 07 peter 47
129 02 Aug 06 jari 48   private:
750 12 Jan 09 peter 49     std::string blame_output_file_name(void) const;
750 12 Jan 09 peter 50
452 17 Aug 07 peter 51     /**
757 27 Jan 09 peter 52        do nothing
452 17 Aug 07 peter 53     */
757 27 Jan 09 peter 54     void log_core(SVNlog&) const;
452 17 Aug 07 peter 55
425 29 Jun 07 peter 56     ///
425 29 Jun 07 peter 57     /// @brief Copy Constructor, not implemented
425 29 Jun 07 peter 58     ///
1290 12 Nov 10 peter 59     FilePrinter(const FilePrinter&);
176 02 Sep 06 peter 60
176 02 Sep 06 peter 61     ///
129 02 Aug 06 jari 62     /// @brief Parsing svn blame output
129 02 Aug 06 jari 63     ///
129 02 Aug 06 jari 64     /// @return true if parsing is succesful
129 02 Aug 06 jari 65     ///
129 02 Aug 06 jari 66     bool blame(void) const;
129 02 Aug 06 jari 67
1537 07 Oct 12 peter 68     const Node& node(void) const;
1537 07 Oct 12 peter 69
1537 07 Oct 12 peter 70     std::string out_name(const std::string& stats_type,
1537 07 Oct 12 peter 71                          const std::string& user,
1537 07 Oct 12 peter 72                          const std::string& line_type) const;
425 29 Jun 07 peter 73     /**
1513 23 Sep 12 peter 74        @brief Print blame output
380 21 Jun 07 jari 75     */
398 27 Jun 07 peter 76     void print_blame(std::ofstream& os) const;
380 21 Jun 07 jari 77
258 30 Apr 07 peter 78     void print_core(bool verbose=false) const;
258 30 Apr 07 peter 79
207 11 Sep 06 peter 80     ///
207 11 Sep 06 peter 81     /// print page for specific user (or all) and specific line_style
207 11 Sep 06 peter 82     /// (or total).
207 11 Sep 06 peter 83     ///
1513 23 Sep 12 peter 84     void print_core(const std::string& stats_type, const std::string& user,
1513 23 Sep 12 peter 85                     const std::string& line_type, const SVNlog&) const;
207 11 Sep 06 peter 86
1290 12 Nov 10 peter 87     const File& file_;
1290 12 Nov 10 peter 88
129 02 Aug 06 jari 89   };
4 29 Dec 05 peter 90
149 12 Aug 06 jari 91 }} // end of namespace svndigest and namespace theplu
4 29 Dec 05 peter 92
7 30 Dec 05 jari 93 #endif