54abb8401f92ad85077d90fdb2255d5e2f1b74b0
[webgit] / src / query.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_QUERY_H
21 #define WEBGIT_QUERY_H
22
23 #include "webgit.h"
24
25 #include "cwa.h"
26
27
28 /*
29   parameters for cgi requests
30 */
31 #define WEBGIT_PARAMS                                                   \
32  WEBGIT_PARAM(repo, "Repository to be queried")                         \
33  WEBGIT_PARAM(action, "Action to be performed")                         \
34  WEBGIT_PARAM(ref, "Selected ref (branch, tag, ..) for query")          \
35  WEBGIT_PARAM(path, "Path and filename for the queried object")         \
36  WEBGIT_PARAM(object, "Object to perform on")                           \
37  WEBGIT_PARAM(blob, "Data recieved from an edit")                       \
38  WEBGIT_PARAM(skin, "Set skin")                                         \
39  WEBGIT_PARAM(maxage, "Age in days to hide inactive repositories")      \
40  WEBGIT_PARAM(count, "How many things to display")
41
42
43 void
44 webgit_query_init (struct webgit_query* q);
45
46 struct webgit_query*
47 webgit_query_destroy (struct webgit_query* q);
48
49 void
50 webgit_query_add_repo (struct webgit_query* q, const char* path);
51
52
53 void
54 webgit_param_dispatch (const Cgi self,
55                       const char* name,
56                       const char* value,
57                       size_t value_len,
58                       void* user_data);
59
60 #endif
61
62 /*
63 //      Local Variables:
64 //      mode: C
65 //      c-file-style: "gnu"
66 //      indent-tabs-mode: nil
67 //      End:
68 */