d695ccfa7e49043dbd4c8a535febd801ac64234e
[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(commit, "Root of the current view")                       \
36  WEBGIT_PARAM(path, "Path and filename for the queried object")         \
37  WEBGIT_PARAM(object, "Object to perform on")                           \
38  WEBGIT_PARAM(blob, "Data recieved from an edit")                       \
39  WEBGIT_PARAM(user, "Account name for the editing user")                \
40  WEBGIT_PARAM(name, "Real name of the editing user")                    \
41  WEBGIT_PARAM(email, "Email of the editing user")                       \
42  WEBGIT_PARAM(ssign, "Server signature over user/name/email")           \
43  WEBGIT_PARAM(expire, "Cookie expire time in days")                     \
44  WEBGIT_PARAM(recover, "Email login token to user")                     \
45  WEBGIT_PARAM(skin, "Set skin")                                         \
46  WEBGIT_PARAM(maxage, "Age in days to hide inactive repositories")      \
47  WEBGIT_PARAM(login, "Login cookie")                                    \
48  WEBGIT_PARAM(prefs, "Preferences cookie")                              \
49  WEBGIT_PARAM(count, "How many things to display")
50
51
52 void
53 webgit_query_init (struct webgit_query* q);
54
55 struct webgit_query*
56 webgit_query_destroy (struct webgit_query* q);
57
58 void
59 webgit_query_add_repo (struct webgit_query* q, const char* path);
60
61
62 void
63 webgit_param_dispatch (const Cgi self,
64                       const char* name,
65                       const char* value,
66                       size_t value_len,
67                       void* user_data);
68
69 #endif
70
71 /*
72 //      Local Variables:
73 //      mode: C
74 //      c-file-style: "gnu"
75 //      indent-tabs-mode: nil
76 //      End:
77 */