add brief help strings to query/config/action declarations
[webgit] / src / actions.c
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
22 #include "actions.h"
23
24 #include "cwa.h"
25
26
27 static Html
28 ctgit_main_action (struct ctgit_query* query)
29 {
30   return html("main");
31 }
32
33 static Html
34 ctgit_summary_action (struct ctgit_query* query)
35 {
36   return html("summary");
37 }
38
39 static Html
40 ctgit_log_action (struct ctgit_query* query)
41 {
42   return html("log");
43 }
44
45 static Html
46 ctgit_diff_action (struct ctgit_query* query)
47 {
48   return html("diff");
49 }
50
51 static Html
52 ctgit_object_action (struct ctgit_query* query)
53 {
54   return html("object");
55 }
56
57 static Html
58 ctgit_raw_action (struct ctgit_query* query)
59 {
60   return html("raw");
61 }
62
63 static Html
64 ctgit_tag_action (struct ctgit_query* query)
65 {
66   return html("tag");
67 }
68
69 static Html
70 ctgit_edit_action (struct ctgit_query* query)
71 {
72   return html("edit");
73 }
74
75 static Html
76 ctgit_commit_action (struct ctgit_query* query)
77 {
78   return html("commit");
79 }
80
81
82 Html
83 ctgit_action_dispatch (struct ctgit_query* query)
84 {
85 #define CTGIT_ACTION(name, _) {#name, ctgit_##name##_action},
86   struct action_table{
87     char* name;
88     Html (*cb)(struct ctgit_query* query);
89   } cmds[] = {CTGIT_ACTIONS {"", NULL}};
90 #undef CTGIT_ACTION
91
92   for (struct action_table* j = cmds; j->cb; ++j)
93     {
94       if (!strcmp (j->name, query->action))
95         return j->cb (query);
96     }
97   return html("error, no such action");
98 }
99
100