source: trunk/lib/Node.h @ 14

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

adding Stats class and removed pointer from node to its mother(dir), which enforced some changes here and there

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