add ctgit_git_open/ctgit_git_close functionality
[webgit] / src / ctgit.h
1 /*
2     cehtehs git web frontend
3
4   Copyright (C)
5     2007,               Christian Thaeter <ct@pipapo.org>
6
7   This program is free software; you can redistribute it and/or
8   modify it under the terms of the GNU General Public License as
9   published by the Free Software Foundation; either version 2 of the
10   License, or (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 General Public License for more details.
16
17   You should have received a copy of the GNU General Public License
18   along with this program; if not, write to the Free Software
19   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
20 */
21 #ifndef CTGIT_H
22 #define CTGIT_H
23
24 #include "cwa.h"
25
26 #include "llist.h"
27
28 extern Html error_log;
29
30
31 struct ctgit_repo_info
32 {
33   llist node;
34
35   char* path;
36   char* name;
37   char* owner;
38   char* description;
39   char* giturl;
40   char* readme;
41
42   unsigned long age;
43 };
44
45
46 struct ctgit_query
47 {
48   Cgi request;
49   time_t now;
50
51   /* confiuration parameters */
52   //int cache_read;
53   //int cache_write;
54   //int cache_expire;
55
56   /* cgi parameters*/
57   char* repo;
58   char* action;
59   char* object;
60   char* head;
61
62   /* list of repositories */
63   llist repos;
64 };
65
66
67
68 FILE*
69 ctgit_git_open (const char* fmt, ...);
70
71
72 void
73 ctgit_git_close (FILE* handle);
74
75 /*
76   libgit api
77 */
78 typedef int (*config_fn_t)(const char *, const char *);
79 extern const char* setup_git_directory (void);
80 extern int git_config(config_fn_t fn);
81
82 #endif