[daemon-fix] fixed querying about name information
[platform/upstream/dbus.git] / bus / config-parser-common.c
1 /* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- */
2 /* config-parser-common.c  Common defines and routines for config file parsing
3  *
4  * Copyright (C) 2007 Red Hat, Inc.
5  *
6  * Licensed under the Academic Free License version 2.1
7  *
8  * This program is free software; you can redistribute it and/or modify
9  * it under the terms of the GNU General Public License as published by
10  * the Free Software Foundation; either version 2 of the License, or
11  * (at your option) any later version.
12  *
13  * This program is distributed in the hope that it will be useful,
14  * but WITHOUT ANY WARRANTY; without even the implied warranty of
15  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16  * GNU General Public License for more details.
17  *
18  * You should have received a copy of the GNU General Public License
19  * along with this program; if not, write to the Free Software
20  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
21  *
22  */
23  
24 #include <config.h>
25 #include <dbus/dbus-internals.h>
26 #include <string.h>
27
28 #include "config-parser-common.h"
29 #include "utils.h"
30
31 ElementType
32 bus_config_parser_element_name_to_type (const char *name)
33 {
34   if (strcmp (name, "none") == 0)
35     {
36       return ELEMENT_NONE;
37     }
38   else if (strcmp (name, "busconfig") == 0)
39     {
40       return ELEMENT_BUSCONFIG;
41     }
42   else if (strcmp (name, "user") == 0)
43     {
44       return ELEMENT_USER;
45     }
46   else if (strcmp (name, "auth") == 0)
47     {
48       return ELEMENT_AUTH;
49     }
50   else if (strcmp (name, "type") == 0)
51     {
52       return ELEMENT_CONFIGTYPE;
53     }
54   else if (strcmp (name, "fork") == 0)
55     {
56       return ELEMENT_FORK;
57     }
58   else if (strcmp (name, "pidfile") == 0)
59     {
60       return ELEMENT_PIDFILE;
61     }
62   else if (strcmp (name, "listen") == 0)
63     {
64       return ELEMENT_LISTEN;
65     }
66   else if (strcmp (name, "auth") == 0)
67     {
68       return ELEMENT_AUTH;
69     }
70   else if (strcmp (name, "allow") == 0)
71     {
72       return ELEMENT_ALLOW;
73     }
74   else if (strcmp (name, "deny") == 0)
75     {
76       return ELEMENT_DENY;
77     }
78   else if (strcmp (name, "servicehelper") == 0)
79     {
80       return ELEMENT_SERVICEHELPER;
81     }
82   else if (strcmp (name, "includedir") == 0)
83     {
84       return ELEMENT_INCLUDEDIR;
85     }
86   else if (strcmp (name, "standard_session_servicedirs") == 0)
87     {
88       return ELEMENT_STANDARD_SESSION_SERVICEDIRS;
89     }
90   else if (strcmp (name, "standard_system_servicedirs") == 0)
91     {
92       return ELEMENT_STANDARD_SYSTEM_SERVICEDIRS;
93     }
94   else if (strcmp (name, "servicedir") == 0)
95     {
96       return ELEMENT_SERVICEDIR;
97     }
98   else if (strcmp (name, "include") == 0)
99     {
100       return ELEMENT_INCLUDE;
101     }
102   else if (strcmp (name, "policy") == 0)
103     {
104       return ELEMENT_POLICY;
105     }
106   else if (strcmp (name, "limit") == 0)
107     {
108       return ELEMENT_LIMIT;
109     }
110   else if (strcmp (name, "selinux") == 0)
111     {
112       return ELEMENT_SELINUX;
113     }
114   else if (strcmp (name, "associate") == 0)
115     {
116       return ELEMENT_ASSOCIATE;
117     }
118   else if (strcmp (name, "syslog") == 0)
119     {
120       return ELEMENT_SYSLOG;
121     }
122   else if (strcmp (name, "keep_umask") == 0)
123     {
124       return ELEMENT_KEEP_UMASK;
125     }
126   else if (strcmp (name, "allow_anonymous") == 0)
127     {
128       return ELEMENT_ALLOW_ANONYMOUS;
129     }
130   return ELEMENT_NONE;
131 }
132
133 const char*
134 bus_config_parser_element_type_to_name (ElementType type)
135 {
136   switch (type)
137     {
138     case ELEMENT_NONE:
139       return NULL;
140     case ELEMENT_BUSCONFIG:
141       return "busconfig";
142     case ELEMENT_INCLUDE:
143       return "include";
144     case ELEMENT_USER:
145       return "user";
146     case ELEMENT_LISTEN:
147       return "listen";
148     case ELEMENT_AUTH:
149       return "auth";
150     case ELEMENT_POLICY:
151       return "policy";
152     case ELEMENT_LIMIT:
153       return "limit";
154     case ELEMENT_ALLOW:
155       return "allow";
156     case ELEMENT_DENY:
157       return "deny";
158     case ELEMENT_FORK:
159       return "fork";
160     case ELEMENT_PIDFILE:
161       return "pidfile";
162     case ELEMENT_STANDARD_SESSION_SERVICEDIRS:
163       return "standard_session_servicedirs";
164     case ELEMENT_STANDARD_SYSTEM_SERVICEDIRS:
165       return "standard_system_servicedirs";
166     case ELEMENT_SERVICEDIR:
167       return "servicedir";
168     case ELEMENT_SERVICEHELPER:
169       return "servicehelper";
170     case ELEMENT_INCLUDEDIR:
171       return "includedir";
172     case ELEMENT_CONFIGTYPE:
173       return "type";
174     case ELEMENT_SELINUX:
175       return "selinux";
176     case ELEMENT_ASSOCIATE:
177       return "associate";
178     case ELEMENT_SYSLOG:
179       return "syslog";
180     case ELEMENT_KEEP_UMASK:
181       return "keep_umask";
182     case ELEMENT_ALLOW_ANONYMOUS:
183       return "allow_anonymous";
184     }
185
186   _dbus_assert_not_reached ("bad element type");
187
188   return NULL;
189 }
190