Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(5)

Side by Side Diff: third_party/mozprocess/tests/iniparser/iniparser.h

Issue 108313011: Adding mozilla libraries required by Firefox interop test. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/deps/
Patch Set: Created 7 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1
2 /*-------------------------------------------------------------------------*/
3 /**
4 @file iniparser.h
5 @author N. Devillard
6 @date Sep 2007
7 @version 3.0
8 @brief Parser for ini files.
9 */
10 /*--------------------------------------------------------------------------*/
11
12 /*
13 $Id: iniparser.h,v 1.26 2011-03-02 20:15:13 ndevilla Exp $
14 $Revision: 1.26 $
15 */
16
17 #ifndef _INIPARSER_H_
18 #define _INIPARSER_H_
19
20 /*---------------------------------------------------------------------------
21 Includes
22 ---------------------------------------------------------------------------*/
23
24 #include <stdio.h>
25 #include <stdlib.h>
26 #include <string.h>
27
28 /*
29 * The following #include is necessary on many Unixes but not Linux.
30 * It is not needed for Windows platforms.
31 * Uncomment it if needed.
32 */
33 /* #include <unistd.h> */
34
35 #include "dictionary.h"
36
37 /*-------------------------------------------------------------------------*/
38 /**
39 @brief Get number of sections in a dictionary
40 @param d Dictionary to examine
41 @return int Number of sections found in dictionary
42
43 This function returns the number of sections found in a dictionary.
44 The test to recognize sections is done on the string stored in the
45 dictionary: a section name is given as "section" whereas a key is
46 stored as "section:key", thus the test looks for entries that do not
47 contain a colon.
48
49 This clearly fails in the case a section name contains a colon, but
50 this should simply be avoided.
51
52 This function returns -1 in case of error.
53 */
54 /*--------------------------------------------------------------------------*/
55
56 int iniparser_getnsec(dictionary * d);
57
58
59 /*-------------------------------------------------------------------------*/
60 /**
61 @brief Get name for section n in a dictionary.
62 @param d Dictionary to examine
63 @param n Section number (from 0 to nsec-1).
64 @return Pointer to char string
65
66 This function locates the n-th section in a dictionary and returns
67 its name as a pointer to a string statically allocated inside the
68 dictionary. Do not free or modify the returned string!
69
70 This function returns NULL in case of error.
71 */
72 /*--------------------------------------------------------------------------*/
73
74 char * iniparser_getsecname(dictionary * d, int n);
75
76
77 /*-------------------------------------------------------------------------*/
78 /**
79 @brief Save a dictionary to a loadable ini file
80 @param d Dictionary to dump
81 @param f Opened file pointer to dump to
82 @return void
83
84 This function dumps a given dictionary into a loadable ini file.
85 It is Ok to specify @c stderr or @c stdout as output files.
86 */
87 /*--------------------------------------------------------------------------*/
88
89 void iniparser_dump_ini(dictionary * d, FILE * f);
90
91 /*-------------------------------------------------------------------------*/
92 /**
93 @brief Dump a dictionary to an opened file pointer.
94 @param d Dictionary to dump.
95 @param f Opened file pointer to dump to.
96 @return void
97
98 This function prints out the contents of a dictionary, one element by
99 line, onto the provided file pointer. It is OK to specify @c stderr
100 or @c stdout as output files. This function is meant for debugging
101 purposes mostly.
102 */
103 /*--------------------------------------------------------------------------*/
104 void iniparser_dump(dictionary * d, FILE * f);
105
106 /*-------------------------------------------------------------------------*/
107 /**
108 @brief Get the string associated to a key
109 @param d Dictionary to search
110 @param key Key string to look for
111 @param def Default value to return if key not found.
112 @return pointer to statically allocated character string
113
114 This function queries a dictionary for a key. A key as read from an
115 ini file is given as "section:key". If the key cannot be found,
116 the pointer passed as 'def' is returned.
117 The returned char pointer is pointing to a string allocated in
118 the dictionary, do not free or modify it.
119 */
120 /*--------------------------------------------------------------------------*/
121 char * iniparser_getstring(dictionary * d, char * key, char * def);
122
123 /*-------------------------------------------------------------------------*/
124 /**
125 @brief Get the string associated to a key, convert to an int
126 @param d Dictionary to search
127 @param key Key string to look for
128 @param notfound Value to return in case of error
129 @return integer
130
131 This function queries a dictionary for a key. A key as read from an
132 ini file is given as "section:key". If the key cannot be found,
133 the notfound value is returned.
134
135 Supported values for integers include the usual C notation
136 so decimal, octal (starting with 0) and hexadecimal (starting with 0x)
137 are supported. Examples:
138
139 - "42" -> 42
140 - "042" -> 34 (octal -> decimal)
141 - "0x42" -> 66 (hexa -> decimal)
142
143 Warning: the conversion may overflow in various ways. Conversion is
144 totally outsourced to strtol(), see the associated man page for overflow
145 handling.
146
147 Credits: Thanks to A. Becker for suggesting strtol()
148 */
149 /*--------------------------------------------------------------------------*/
150 int iniparser_getint(dictionary * d, char * key, int notfound);
151
152 /*-------------------------------------------------------------------------*/
153 /**
154 @brief Get the string associated to a key, convert to a double
155 @param d Dictionary to search
156 @param key Key string to look for
157 @param notfound Value to return in case of error
158 @return double
159
160 This function queries a dictionary for a key. A key as read from an
161 ini file is given as "section:key". If the key cannot be found,
162 the notfound value is returned.
163 */
164 /*--------------------------------------------------------------------------*/
165 double iniparser_getdouble(dictionary * d, char * key, double notfound);
166
167 /*-------------------------------------------------------------------------*/
168 /**
169 @brief Get the string associated to a key, convert to a boolean
170 @param d Dictionary to search
171 @param key Key string to look for
172 @param notfound Value to return in case of error
173 @return integer
174
175 This function queries a dictionary for a key. A key as read from an
176 ini file is given as "section:key". If the key cannot be found,
177 the notfound value is returned.
178
179 A true boolean is found if one of the following is matched:
180
181 - A string starting with 'y'
182 - A string starting with 'Y'
183 - A string starting with 't'
184 - A string starting with 'T'
185 - A string starting with '1'
186
187 A false boolean is found if one of the following is matched:
188
189 - A string starting with 'n'
190 - A string starting with 'N'
191 - A string starting with 'f'
192 - A string starting with 'F'
193 - A string starting with '0'
194
195 The notfound value returned if no boolean is identified, does not
196 necessarily have to be 0 or 1.
197 */
198 /*--------------------------------------------------------------------------*/
199 int iniparser_getboolean(dictionary * d, char * key, int notfound);
200
201
202 /*-------------------------------------------------------------------------*/
203 /**
204 @brief Set an entry in a dictionary.
205 @param ini Dictionary to modify.
206 @param entry Entry to modify (entry name)
207 @param val New value to associate to the entry.
208 @return int 0 if Ok, -1 otherwise.
209
210 If the given entry can be found in the dictionary, it is modified to
211 contain the provided value. If it cannot be found, -1 is returned.
212 It is Ok to set val to NULL.
213 */
214 /*--------------------------------------------------------------------------*/
215 int iniparser_set(dictionary * ini, char * entry, char * val);
216
217
218 /*-------------------------------------------------------------------------*/
219 /**
220 @brief Delete an entry in a dictionary
221 @param ini Dictionary to modify
222 @param entry Entry to delete (entry name)
223 @return void
224
225 If the given entry can be found, it is deleted from the dictionary.
226 */
227 /*--------------------------------------------------------------------------*/
228 void iniparser_unset(dictionary * ini, char * entry);
229
230 /*-------------------------------------------------------------------------*/
231 /**
232 @brief Finds out if a given entry exists in a dictionary
233 @param ini Dictionary to search
234 @param entry Name of the entry to look for
235 @return integer 1 if entry exists, 0 otherwise
236
237 Finds out if a given entry exists in the dictionary. Since sections
238 are stored as keys with NULL associated values, this is the only way
239 of querying for the presence of sections in a dictionary.
240 */
241 /*--------------------------------------------------------------------------*/
242 int iniparser_find_entry(dictionary * ini, char * entry) ;
243
244 /*-------------------------------------------------------------------------*/
245 /**
246 @brief Parse an ini file and return an allocated dictionary object
247 @param ininame Name of the ini file to read.
248 @return Pointer to newly allocated dictionary
249
250 This is the parser for ini files. This function is called, providing
251 the name of the file to be read. It returns a dictionary object that
252 should not be accessed directly, but through accessor functions
253 instead.
254
255 The returned dictionary must be freed using iniparser_freedict().
256 */
257 /*--------------------------------------------------------------------------*/
258 dictionary * iniparser_load(char * ininame);
259
260 /*-------------------------------------------------------------------------*/
261 /**
262 @brief Free all memory associated to an ini dictionary
263 @param d Dictionary to free
264 @return void
265
266 Free all memory associated to an ini dictionary.
267 It is mandatory to call this function before the dictionary object
268 gets out of the current context.
269 */
270 /*--------------------------------------------------------------------------*/
271 void iniparser_freedict(dictionary * d);
272
273 #endif
OLDNEW
« no previous file with comments | « third_party/mozprocess/tests/iniparser/dictionary.c ('k') | third_party/mozprocess/tests/iniparser/iniparser.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698