1 /*
2  * ====================================================================
3  * Copyright (c) 2002-2009 The RapidSvn Group.  All rights reserved.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program (in the file GPL.txt.
17  * If not, see <http://www.gnu.org/licenses/>.
18  *
19  * This software consists of voluntary contributions made by many
20  * individuals.  For exact contribution history, see the revision
21  * history and logs, available at http://rapidsvn.tigris.org/.
22  * ====================================================================
23  */
24 
25 #ifndef _SVNCPP_LOG_ENTRY_H_
26 #define _SVNCPP_LOG_ENTRY_H_
27 
28 // stl
29 #include "kdevsvncpp/string_wrapper.hpp"
30 #include <list>
31 
32 // apr
33 #include "apr_time.h"
34 
35 // subversion api
36 #include "svn_types.h"
37 
38 namespace svn
39 {
40 
41   struct LogChangePathEntry
42   {
43     LogChangePathEntry(const char *path_,
44                        char action_,
45                        const char *copyFromPath_,
46                        const svn_revnum_t copyFromRevision_);
47 
48     std::string path;
49     char action;
50     std::string copyFromPath;
51     svn_revnum_t copyFromRevision;
52   };
53 
54 
55   struct LogEntry
56   {
57 public:
58     LogEntry();
59 
60     LogEntry(const svn_revnum_t revision,
61              const char * author,
62              const char * date,
63              const char * message);
64 
65     svn_revnum_t revision;
66     std::string author;
67     std::string message;
68     std::list<LogChangePathEntry> changedPaths;
69     apr_time_t date;
70   };
71 }
72 
73 #endif
74 /* -----------------------------------------------------------------
75  * local variables:
76  * eval: (load-file "../../rapidsvn-dev.el")
77  * end:
78  */
79 
80