source: trunk/lib/Node.h @ 15

Last change on this file since 15 was 15, checked in by Peter Johansson, 16 years ago

removed superfluous includes

  • Property svn:eol-style set to native
  • Property svn:keywords set to Id
File size: 1.2 KB
Line 
1// $Id: Node.h 15 2005-12-30 17:04:16Z peter $
2
3#ifndef _theplu_svnstat_node_
4#define _theplu_svnstat_node_
5
6#include "Stats.h"
7
8#include <string>
9
10namespace theplu{
11namespace svnstat{
12
13  ///
14  /// Abstract Base Class for files.
15  ///
16  class Node
17  {
18  public:
19    ///
20    /// @brief Constructor
21    ///
22    inline Node(const std::string& path) : path_(path) { info(); }
23
24    ///
25    /// @brief Destructor
26    ///
27    virtual inline ~Node(void) {};
28
29    ///
30    /// @brief parsing file using svn blame.
31    ///
32    virtual const Stats& parse(void)=0;
33
34    ///
35    /// Function printing HTML in directory path
36    ///
37    virtual void print(void)=0;
38
39    ///
40    /// Check if the node is under subversion control.
41    ///
42    /// @return True if subversion controlled, false otherwise.
43    ///
44    bool subversion_controlled(void) const;
45
46  protected:
47    ///
48    /// @brief performing svn info and parsing the info.
49    ///
50    /// @return true if parsing succesful
51    ///
52    bool info(void);
53
54    std::string author_;
55    std::string path_;
56    u_int revision_;
57    Stats stats_;
58    std::string uuid_;
59
60  private:
61    ///
62    /// @brief Copy Constructor, not implemented
63    ///
64    Node(const Node&);
65  };
66
67}} // end of namespace svnstat and namespace theplu
68
69#endif
Note: See TracBrowser for help on using the repository browser.