Merge branch 'goibhniu' of git://git.pipapo.org/mob/webgit
[webgit] / src / object.h
1 /*
2     cehtehs git web frontend
3
4   Copyright (C)
5     2007, 2008,         Christian Thaeter <ct@pipapo.org>
6
7   This program is free software: you can redistribute it and/or modify
8   it under the terms of the GNU Affero General Public License as published by
9   the Free Software Foundation, either version 3 of the License, or
10   (at your option) any later version.
11
12   This program is distributed in the hope that it will be useful,
13   but WITHOUT ANY WARRANTY; without even the implied warranty of
14   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15   GNU Affero General Public License for more details.
16
17   You should have received a copy of the GNU Affero General Public License
18   along with this program.  If not, see <http://www.gnu.org/licenses/>.
19 */
20 #ifndef WEBGIT_OBJECT_H
21 #define WEBGIT_OBJECT_H
22
23 #include "webgit.h"
24
25 #define SHA1_HEADER <openssl/sha.h>
26 #include "git/cache.h"
27 #include "git/object.h"
28 #include "git/commit.h"
29
30 Html
31 webgit_object_link (struct webgit_query* query,
32                    const char* repo,
33                    int repo_len,
34                    const char* object,
35                    int object_len,
36                    const char* path,
37                    const char* action,
38                    Html text);
39
40 char*
41 webgit_object_commit_tree_parse (struct commit* commit);
42
43 time_t
44 webgit_object_commit_author_date_parse (struct commit* commit, struct tm* tm);
45
46 Html
47 webgit_object_commit_author_name_parse (struct commit* commit);
48
49 Html
50 webgit_object_commit_author_email_parse (struct commit* commit);
51
52 time_t
53 webgit_object_commit_committer_date_parse (struct commit* commit, struct tm* tm);
54
55 Html
56 webgit_object_commit_committer_name_parse (struct commit* commit);
57
58 Html
59 webgit_object_commit_committer_email_parse (struct commit* commit);
60
61 Html
62 webgit_object_commit_header_parse (struct commit* commit);
63
64 Html
65 webgit_object_commit_message_parse (struct commit* commit);
66
67 time_t
68 webgit_object_tag_date_parse (void* buffer, unsigned long size, struct tm* tm);
69
70 int
71 webgit_object_tag_type_parse (char* dest, void* buffer, unsigned long size);
72
73 Html
74 webgit_object_tag_name_parse (void* buffer, unsigned long size);
75
76 Html
77 webgit_object_tag_email_parse (void* buffer, unsigned long size);
78
79 Html
80 webgit_object_tag_header_parse (void* buffer, unsigned long size);
81
82 Html
83 webgit_object_tag_message_parse (void* buffer, unsigned long size);
84
85 Html
86 webgit_object_commit_action (struct webgit_repo_info* repo, unsigned char* sha1);
87
88 Html
89 webgit_object_tree_action (struct webgit_repo_info* repo, unsigned char* sha1);
90
91 Html
92 webgit_object_blob_action (struct webgit_repo_info* repo, unsigned char* sha1);
93
94 Html
95 webgit_object_tag_action (struct webgit_repo_info* repo, unsigned char* sha1);
96
97
98 #endif
99
100 /*
101 //      Local Variables:
102 //      mode: C
103 //      c-file-style: "gnu"
104 //      indent-tabs-mode: nil
105 //      End:
106 */