Add C-docs to webpage
[lms] / www / api / group__LMS__API.html
1 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
2 <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
3 <title>Light Media Scanner: User-API</title>
4 <link href="doxygen.css" rel="stylesheet" type="text/css">
5 <link href="tabs.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.2 -->
8 <div class="tabs">
9   <ul>
10     <li><a href="index.html"><span>Main&nbsp;Page</span></a></li>
11     <li><a href="modules.html"><span>Modules</span></a></li>
12     <li><a href="classes.html"><span>Data&nbsp;Structures</span></a></li>
13     <li><a href="files.html"><span>Files</span></a></li>
14   </ul>
15 </div>
16 <h1>User-API</h1><table border="0" cellpadding="0" cellspacing="0">
17 <tr><td></td></tr>
18 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
19 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g982939bdd2aeb664b5cf7a50b67c1030">lms_new</a> (const char *db_path)</td></tr>
20
21 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#gf15f3b0f7de2113155a360df989b7687">lms_free</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>)</td></tr>
22
23 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g7b93a24e73af8b5d46b2507dd70ac588">lms_parser_add</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *so_path)</td></tr>
24
25 <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g74b81422ff46a46b4b0fc44e8709ecee">lms_parser_find_and_add</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *name)</td></tr>
26
27 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g1da5e5f834e0289ea49a0fbc2280feda">lms_parser_del</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, <a class="el" href="structlms__plugin.html">lms_plugin_t</a> *handle)</td></tr>
28
29 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g8c594bed751d504965b5cc0c7e93fb71">lms_is_processing</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>)</td></tr>
30
31 <tr><td class="memItemLeft" nowrap align="right" valign="top">const char *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g4098d31de667a895095fc8d4d9bc10c0">lms_get_db_path</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>)</td></tr>
32
33 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g973c6c7b66f4fdd6f4f776a36e742d33">lms_get_slave_timeout</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>)</td></tr>
34
35 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g68ac6273965bdeb25795dd4c50777b4e">lms_set_slave_timeout</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, int ms)</td></tr>
36
37 <tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g227ebe8cad9776908c1977c43ef62d9c">lms_get_commit_interval</a> (const <a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>)</td></tr>
38
39 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#ge81a028f08139e64e97ac191bd899b32">lms_set_commit_interval</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, unsigned int transactions)</td></tr>
40
41 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g4fd56e209d415b27466274726cc7d59f">lms_charset_add</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *charset)</td></tr>
42
43 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__LMS__API.html#g0b427b8b60957e29a0e504c10c5356b0">lms_charset_del</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, const char *charset)</td></tr>
44
45 </table>
46 <hr><a name="_details"></a><h2>Detailed Description</h2>
47 Functions for library users. <hr><h2>Function Documentation</h2>
48 <a class="anchor" name="g4fd56e209d415b27466274726cc7d59f"></a><!-- doxytag: member="lightmediascanner.c::lms_charset_add" ref="g4fd56e209d415b27466274726cc7d59f" args="(lms_t *lms, const char *charset)" -->
49 <div class="memitem">
50 <div class="memproto">
51       <table class="memname">
52         <tr>
53           <td class="memname">int lms_charset_add           </td>
54           <td>(</td>
55           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
56           <td class="paramname"> <em>lms</em>, </td>
57         </tr>
58         <tr>
59           <td class="paramkey"></td>
60           <td></td>
61           <td class="paramtype">const char *&nbsp;</td>
62           <td class="paramname"> <em>charset</em></td><td>&nbsp;</td>
63         </tr>
64         <tr>
65           <td></td>
66           <td>)</td>
67           <td></td><td></td><td width="100%"></td>
68         </tr>
69       </table>
70 </div>
71 <div class="memdoc">
72
73 <p>
74 Register a new charset encoding to be used.<p>
75 All database text strings are in UTF-8, so one needs to register new encodings in order to convert to it.<p>
76 <dl compact><dt><b>Parameters:</b></dt><dd>
77   <table border="0" cellspacing="2" cellpadding="0">
78     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
79     <tr><td valign="top"></td><td valign="top"><em>charset</em>&nbsp;</td><td>charset name as understood by iconv_open(3).</td></tr>
80   </table>
81 </dl>
82 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
83
84 <p>
85 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00451">451</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
86 <p>
87 References <a class="el" href="lightmediascanner__private_8h-source.html#l00067">lms::cs_conv</a>, and <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00098">lms_charset_conv_add()</a>.
88 <p>
89 Here is the call graph for this function:<p><center><img src="group__LMS__API_g4fd56e209d415b27466274726cc7d59f_cgraph.png" border="0" usemap="#group__LMS__API_g4fd56e209d415b27466274726cc7d59f_cgraph_map" alt=""></center>
90 <map name="group__LMS__API_g4fd56e209d415b27466274726cc7d59f_cgraph_map">
91 <area shape="rect" href="lightmediascanner__charset__conv_8c.html#0a3006beae6fc8c59eca75468c1bc000" title="lms_charset_conv_add" alt="" coords="165,5,309,32"></map>
92
93 </div>
94 </div><p>
95 <a class="anchor" name="g0b427b8b60957e29a0e504c10c5356b0"></a><!-- doxytag: member="lightmediascanner.c::lms_charset_del" ref="g0b427b8b60957e29a0e504c10c5356b0" args="(lms_t *lms, const char *charset)" -->
96 <div class="memitem">
97 <div class="memproto">
98       <table class="memname">
99         <tr>
100           <td class="memname">int lms_charset_del           </td>
101           <td>(</td>
102           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
103           <td class="paramname"> <em>lms</em>, </td>
104         </tr>
105         <tr>
106           <td class="paramkey"></td>
107           <td></td>
108           <td class="paramtype">const char *&nbsp;</td>
109           <td class="paramname"> <em>charset</em></td><td>&nbsp;</td>
110         </tr>
111         <tr>
112           <td></td>
113           <td>)</td>
114           <td></td><td></td><td width="100%"></td>
115         </tr>
116       </table>
117 </div>
118 <div class="memdoc">
119
120 <p>
121 Forget about registered charset encoding.<p>
122 All database text strings are in UTF-8, so one needs to register new encodings in order to convert to it.<p>
123 <dl compact><dt><b>Parameters:</b></dt><dd>
124   <table border="0" cellspacing="2" cellpadding="0">
125     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
126     <tr><td valign="top"></td><td valign="top"><em>charset</em>&nbsp;</td><td>charset name as understood by iconv_open(3).</td></tr>
127   </table>
128 </dl>
129 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
130
131 <p>
132 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00474">474</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
133 <p>
134 References <a class="el" href="lightmediascanner__private_8h-source.html#l00067">lms::cs_conv</a>, and <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00164">lms_charset_conv_del()</a>.
135 <p>
136 Here is the call graph for this function:<p><center><img src="group__LMS__API_g0b427b8b60957e29a0e504c10c5356b0_cgraph.png" border="0" usemap="#group__LMS__API_g0b427b8b60957e29a0e504c10c5356b0_cgraph_map" alt=""></center>
137 <map name="group__LMS__API_g0b427b8b60957e29a0e504c10c5356b0_cgraph_map">
138 <area shape="rect" href="lightmediascanner__charset__conv_8c.html#ad60dd3a2c2ebcf9ee1100986fc572e4" title="lms_charset_conv_del" alt="" coords="164,5,303,32"></map>
139
140 </div>
141 </div><p>
142 <a class="anchor" name="gf15f3b0f7de2113155a360df989b7687"></a><!-- doxytag: member="lightmediascanner.c::lms_free" ref="gf15f3b0f7de2113155a360df989b7687" args="(lms_t *lms)" -->
143 <div class="memitem">
144 <div class="memproto">
145       <table class="memname">
146         <tr>
147           <td class="memname">int lms_free           </td>
148           <td>(</td>
149           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
150           <td class="paramname"> <em>lms</em>          </td>
151           <td>&nbsp;)&nbsp;</td>
152           <td width="100%"></td>
153         </tr>
154       </table>
155 </div>
156 <div class="memdoc">
157
158 <p>
159 Free existing Light Media Scanner instance.<p>
160 <dl compact><dt><b>Parameters:</b></dt><dd>
161   <table border="0" cellspacing="2" cellpadding="0">
162     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance.</td></tr>
163   </table>
164 </dl>
165 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
166
167 <p>
168 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00157">157</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
169 <p>
170 References <a class="el" href="lightmediascanner__private_8h-source.html#l00067">lms::cs_conv</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00068">lms::db_path</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00071">lms::is_processing</a>, <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00067">lms_charset_conv_free()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>.
171 <p>
172 Referenced by <a class="el" href="lightmediascanner__process_8c-source.html#l00604">lms_create_slave()</a>.
173 <p>
174 Here is the call graph for this function:<p><center><img src="group__LMS__API_gf15f3b0f7de2113155a360df989b7687_cgraph.png" border="0" usemap="#group__LMS__API_gf15f3b0f7de2113155a360df989b7687_cgraph_map" alt=""></center>
175 <map name="group__LMS__API_gf15f3b0f7de2113155a360df989b7687_cgraph_map">
176 <area shape="rect" href="group__LMS__CHARSET.html#g960ce31bca428212abdd60c12b878091" title="lms_charset_conv_free" alt="" coords="124,5,268,32"></map>
177
178 </div>
179 </div><p>
180 <a class="anchor" name="g227ebe8cad9776908c1977c43ef62d9c"></a><!-- doxytag: member="lightmediascanner.c::lms_get_commit_interval" ref="g227ebe8cad9776908c1977c43ef62d9c" args="(const lms_t *lms)" -->
181 <div class="memitem">
182 <div class="memproto">
183       <table class="memname">
184         <tr>
185           <td class="memname">unsigned int lms_get_commit_interval           </td>
186           <td>(</td>
187           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
188           <td class="paramname"> <em>lms</em>          </td>
189           <td>&nbsp;)&nbsp;</td>
190           <td width="100%"></td>
191         </tr>
192       </table>
193 </div>
194 <div class="memdoc">
195
196 <p>
197 Get the number of files served between database transactions.<p>
198 This is used as an optimization to database access: doing database commits take some time and can slow things down too much, so you can choose to just commit after some number of files are processed, this is the commit_interval.<p>
199 <dl compact><dt><b>Parameters:</b></dt><dd>
200   <table border="0" cellspacing="2" cellpadding="0">
201     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
202   </table>
203 </dl>
204 <dl class="return" compact><dt><b>Returns:</b></dt><dd>(unsigned int)-1 on error, value otherwise. </dd></dl>
205
206 <p>
207 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00404">404</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
208 <p>
209 References <a class="el" href="lightmediascanner__private_8h-source.html#l00070">lms::commit_interval</a>.
210 </div>
211 </div><p>
212 <a class="anchor" name="g4098d31de667a895095fc8d4d9bc10c0"></a><!-- doxytag: member="lightmediascanner.c::lms_get_db_path" ref="g4098d31de667a895095fc8d4d9bc10c0" args="(const lms_t *lms)" -->
213 <div class="memitem">
214 <div class="memproto">
215       <table class="memname">
216         <tr>
217           <td class="memname">const char* lms_get_db_path           </td>
218           <td>(</td>
219           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
220           <td class="paramname"> <em>lms</em>          </td>
221           <td>&nbsp;)&nbsp;</td>
222           <td width="100%"></td>
223         </tr>
224       </table>
225 </div>
226 <div class="memdoc">
227
228 <p>
229 Get the database path given at creation time.<p>
230 <dl compact><dt><b>Parameters:</b></dt><dd>
231   <table border="0" cellspacing="2" cellpadding="0">
232     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance.</td></tr>
233   </table>
234 </dl>
235 <dl class="return" compact><dt><b>Returns:</b></dt><dd>path to database. </dd></dl>
236
237 <p>
238 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00340">340</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
239 <p>
240 References <a class="el" href="lightmediascanner__private_8h-source.html#l00068">lms::db_path</a>.
241 </div>
242 </div><p>
243 <a class="anchor" name="g973c6c7b66f4fdd6f4f776a36e742d33"></a><!-- doxytag: member="lightmediascanner.c::lms_get_slave_timeout" ref="g973c6c7b66f4fdd6f4f776a36e742d33" args="(const lms_t *lms)" -->
244 <div class="memitem">
245 <div class="memproto">
246       <table class="memname">
247         <tr>
248           <td class="memname">int lms_get_slave_timeout           </td>
249           <td>(</td>
250           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
251           <td class="paramname"> <em>lms</em>          </td>
252           <td>&nbsp;)&nbsp;</td>
253           <td width="100%"></td>
254         </tr>
255       </table>
256 </div>
257 <div class="memdoc">
258
259 <p>
260 Get the maximum amount of milliseconds the slave can take to serve one file.<p>
261 If a slave takes more than this amount of milliseconds, it will be killed and the scanner will continue with the next file.<p>
262 <dl compact><dt><b>Parameters:</b></dt><dd>
263   <table border="0" cellspacing="2" cellpadding="0">
264     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance.</td></tr>
265   </table>
266 </dl>
267 <dl class="return" compact><dt><b>Returns:</b></dt><dd>-1 on error or time in milliseconds otherwise. </dd></dl>
268
269 <p>
270 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00362">362</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
271 <p>
272 References <a class="el" href="lightmediascanner__private_8h-source.html#l00069">lms::slave_timeout</a>.
273 </div>
274 </div><p>
275 <a class="anchor" name="g8c594bed751d504965b5cc0c7e93fb71"></a><!-- doxytag: member="lightmediascanner.c::lms_is_processing" ref="g8c594bed751d504965b5cc0c7e93fb71" args="(const lms_t *lms)" -->
276 <div class="memitem">
277 <div class="memproto">
278       <table class="memname">
279         <tr>
280           <td class="memname">int lms_is_processing           </td>
281           <td>(</td>
282           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
283           <td class="paramname"> <em>lms</em>          </td>
284           <td>&nbsp;)&nbsp;</td>
285           <td width="100%"></td>
286         </tr>
287       </table>
288 </div>
289 <div class="memdoc">
290
291 <p>
292 Checks if Light Media Scanner is being used in a processing operation lile <a class="el" href="lightmediascanner_8h.html#7d2b81cfe07a8cce4c2bef705e7529f4">lms_process()</a> or <a class="el" href="lightmediascanner_8h.html#890f1af4c54c88a63abdbeff5ecd49a3">lms_check()</a>.<p>
293 <dl compact><dt><b>Parameters:</b></dt><dd>
294   <table border="0" cellspacing="2" cellpadding="0">
295     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance.</td></tr>
296   </table>
297 </dl>
298 <dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if it is processing, 0 if it's not, -1 on error. </dd></dl>
299
300 <p>
301 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00321">321</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
302 <p>
303 References <a class="el" href="lightmediascanner__private_8h-source.html#l00071">lms::is_processing</a>.
304 </div>
305 </div><p>
306 <a class="anchor" name="g982939bdd2aeb664b5cf7a50b67c1030"></a><!-- doxytag: member="lightmediascanner.c::lms_new" ref="g982939bdd2aeb664b5cf7a50b67c1030" args="(const char *db_path)" -->
307 <div class="memitem">
308 <div class="memproto">
309       <table class="memname">
310         <tr>
311           <td class="memname"><a class="el" href="structlms.html">lms_t</a>* lms_new           </td>
312           <td>(</td>
313           <td class="paramtype">const char *&nbsp;</td>
314           <td class="paramname"> <em>db_path</em>          </td>
315           <td>&nbsp;)&nbsp;</td>
316           <td width="100%"></td>
317         </tr>
318       </table>
319 </div>
320 <div class="memdoc">
321
322 <p>
323 Create new Light Media Scanner instance.<p>
324 <dl compact><dt><b>Parameters:</b></dt><dd>
325   <table border="0" cellspacing="2" cellpadding="0">
326     <tr><td valign="top"></td><td valign="top"><em>db_path</em>&nbsp;</td><td>path to database file. </td></tr>
327   </table>
328 </dl>
329 <dl class="return" compact><dt><b>Returns:</b></dt><dd>allocated data on success or NULL on failure. </dd></dl>
330
331 <p>
332 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00119">119</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
333 <p>
334 References <a class="el" href="lightmediascanner__private_8h-source.html#l00070">lms::commit_interval</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00067">lms::cs_conv</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00068">lms::db_path</a>, <a class="el" href="lightmediascanner_8c-source.html#l00035">DEFAULT_COMMIT_INTERVAL</a>, <a class="el" href="lightmediascanner_8c-source.html#l00034">DEFAULT_SLAVE_TIMEOUT</a>, <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00067">lms_charset_conv_free()</a>, <a class="el" href="lightmediascanner__charset__conv_8c-source.html#l00026">lms_charset_conv_new()</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00069">lms::slave_timeout</a>.
335 <p>
336 Here is the call graph for this function:<p><center><img src="group__LMS__API_g982939bdd2aeb664b5cf7a50b67c1030_cgraph.png" border="0" usemap="#group__LMS__API_g982939bdd2aeb664b5cf7a50b67c1030_cgraph_map" alt=""></center>
337 <map name="group__LMS__API_g982939bdd2aeb664b5cf7a50b67c1030_cgraph_map">
338 <area shape="rect" href="group__LMS__CHARSET.html#g960ce31bca428212abdd60c12b878091" title="lms_charset_conv_free" alt="" coords="124,5,268,32"><area shape="rect" href="group__LMS__CHARSET.html#g0120c222a55e6d7d9bb24300300561ab" title="lms_charset_conv_new" alt="" coords="123,56,269,83"></map>
339
340 </div>
341 </div><p>
342 <a class="anchor" name="g7b93a24e73af8b5d46b2507dd70ac588"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_add" ref="g7b93a24e73af8b5d46b2507dd70ac588" args="(lms_t *lms, const char *so_path)" -->
343 <div class="memitem">
344 <div class="memproto">
345       <table class="memname">
346         <tr>
347           <td class="memname"><a class="el" href="structlms__plugin.html">lms_plugin_t</a>* lms_parser_add           </td>
348           <td>(</td>
349           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
350           <td class="paramname"> <em>lms</em>, </td>
351         </tr>
352         <tr>
353           <td class="paramkey"></td>
354           <td></td>
355           <td class="paramtype">const char *&nbsp;</td>
356           <td class="paramname"> <em>so_path</em></td><td>&nbsp;</td>
357         </tr>
358         <tr>
359           <td></td>
360           <td>)</td>
361           <td></td><td></td><td width="100%"></td>
362         </tr>
363       </table>
364 </div>
365 <div class="memdoc">
366
367 <p>
368 Add <a class="el" href="structparser.html">parser</a> plugin given it's shared object path.<p>
369 <dl compact><dt><b>Parameters:</b></dt><dd>
370   <table border="0" cellspacing="2" cellpadding="0">
371     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
372     <tr><td valign="top"></td><td valign="top"><em>so_path</em>&nbsp;</td><td>path to shared object (usable by dlopen(3)).</td></tr>
373   </table>
374 </dl>
375 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success the LMS handle to plugin is returned, NULL on error. </dd></dl>
376
377 <p>
378 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00190">190</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
379 <p>
380 References <a class="el" href="lightmediascanner__private_8h-source.html#l00071">lms::is_processing</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>.
381 <p>
382 Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00235">lms_parser_find_and_add()</a>.
383 </div>
384 </div><p>
385 <a class="anchor" name="g1da5e5f834e0289ea49a0fbc2280feda"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_del" ref="g1da5e5f834e0289ea49a0fbc2280feda" args="(lms_t *lms, lms_plugin_t *handle)" -->
386 <div class="memitem">
387 <div class="memproto">
388       <table class="memname">
389         <tr>
390           <td class="memname">int lms_parser_del           </td>
391           <td>(</td>
392           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
393           <td class="paramname"> <em>lms</em>, </td>
394         </tr>
395         <tr>
396           <td class="paramkey"></td>
397           <td></td>
398           <td class="paramtype"><a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td>
399           <td class="paramname"> <em>handle</em></td><td>&nbsp;</td>
400         </tr>
401         <tr>
402           <td></td>
403           <td>)</td>
404           <td></td><td></td><td width="100%"></td>
405         </tr>
406       </table>
407 </div>
408 <div class="memdoc">
409
410 <p>
411 Delete previously added <a class="el" href="structparser.html">parser</a>, making it unavailable for future operations.<p>
412 <dl compact><dt><b>Parameters:</b></dt><dd>
413   <table border="0" cellspacing="2" cellpadding="0">
414     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance.</td></tr>
415   </table>
416 </dl>
417 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
418
419 <p>
420 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00289">289</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
421 <p>
422 References <a class="el" href="lightmediascanner__private_8h-source.html#l00071">lms::is_processing</a>, <a class="el" href="lightmediascanner_8c-source.html#l00249">lms_parser_del_int()</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00066">lms::n_parsers</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00065">lms::parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00059">parser::plugin</a>.
423 <p>
424 Here is the call graph for this function:<p><center><img src="group__LMS__API_g1da5e5f834e0289ea49a0fbc2280feda_cgraph.png" border="0" usemap="#group__LMS__API_g1da5e5f834e0289ea49a0fbc2280feda_cgraph_map" alt=""></center>
425 <map name="group__LMS__API_g1da5e5f834e0289ea49a0fbc2280feda_cgraph_map">
426 <area shape="rect" href="lightmediascanner_8c.html#e6ccb942742cf65cc1cf866aceb4bddf" title="lms_parser_del_int" alt="" coords="159,5,281,32"></map>
427
428 </div>
429 </div><p>
430 <a class="anchor" name="g74b81422ff46a46b4b0fc44e8709ecee"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_find_and_add" ref="g74b81422ff46a46b4b0fc44e8709ecee" args="(lms_t *lms, const char *name)" -->
431 <div class="memitem">
432 <div class="memproto">
433       <table class="memname">
434         <tr>
435           <td class="memname"><a class="el" href="structlms__plugin.html">lms_plugin_t</a>* lms_parser_find_and_add           </td>
436           <td>(</td>
437           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
438           <td class="paramname"> <em>lms</em>, </td>
439         </tr>
440         <tr>
441           <td class="paramkey"></td>
442           <td></td>
443           <td class="paramtype">const char *&nbsp;</td>
444           <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
445         </tr>
446         <tr>
447           <td></td>
448           <td>)</td>
449           <td></td><td></td><td width="100%"></td>
450         </tr>
451       </table>
452 </div>
453 <div class="memdoc">
454
455 <p>
456 Add <a class="el" href="structparser.html">parser</a> plugin given it's name.<p>
457 This will look at default plugin path by the file named <code>name</code> (plus the required shared object extension).<p>
458 <dl compact><dt><b>Parameters:</b></dt><dd>
459   <table border="0" cellspacing="2" cellpadding="0">
460     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
461     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>plugin name.</td></tr>
462   </table>
463 </dl>
464 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success the LMS handle to plugin is returned, NULL on error. </dd></dl>
465
466 <p>
467 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00235">235</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
468 <p>
469 References <a class="el" href="lightmediascanner_8c-source.html#l00190">lms_parser_add()</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00061">parser::so_path</a>.
470 <p>
471 Here is the call graph for this function:<p><center><img src="group__LMS__API_g74b81422ff46a46b4b0fc44e8709ecee_cgraph.png" border="0" usemap="#group__LMS__API_g74b81422ff46a46b4b0fc44e8709ecee_cgraph_map" alt=""></center>
472 <map name="group__LMS__API_g74b81422ff46a46b4b0fc44e8709ecee_cgraph_map">
473 <area shape="rect" href="group__LMS__API.html#g7b93a24e73af8b5d46b2507dd70ac588" title="lms_parser_add" alt="" coords="215,5,319,32"></map>
474
475 </div>
476 </div><p>
477 <a class="anchor" name="ge81a028f08139e64e97ac191bd899b32"></a><!-- doxytag: member="lightmediascanner.c::lms_set_commit_interval" ref="ge81a028f08139e64e97ac191bd899b32" args="(lms_t *lms, unsigned int transactions)" -->
478 <div class="memitem">
479 <div class="memproto">
480       <table class="memname">
481         <tr>
482           <td class="memname">void lms_set_commit_interval           </td>
483           <td>(</td>
484           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
485           <td class="paramname"> <em>lms</em>, </td>
486         </tr>
487         <tr>
488           <td class="paramkey"></td>
489           <td></td>
490           <td class="paramtype">unsigned int&nbsp;</td>
491           <td class="paramname"> <em>transactions</em></td><td>&nbsp;</td>
492         </tr>
493         <tr>
494           <td></td>
495           <td>)</td>
496           <td></td><td></td><td width="100%"></td>
497         </tr>
498       </table>
499 </div>
500 <div class="memdoc">
501
502 <p>
503 Set the number of files served between database transactions.<p>
504 This is used as an optimization to database access: doing database commits take some time and can slow things down too much, so you can choose to just commit after <code>transactions</code> files are processed.<p>
505 <dl compact><dt><b>Parameters:</b></dt><dd>
506   <table border="0" cellspacing="2" cellpadding="0">
507     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
508     <tr><td valign="top"></td><td valign="top"><em>transactions</em>&nbsp;</td><td>number of files (transactions) to process between commits. </td></tr>
509   </table>
510 </dl>
511
512 <p>
513 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00427">427</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
514 <p>
515 References <a class="el" href="lightmediascanner__private_8h-source.html#l00070">lms::commit_interval</a>.
516 </div>
517 </div><p>
518 <a class="anchor" name="g68ac6273965bdeb25795dd4c50777b4e"></a><!-- doxytag: member="lightmediascanner.c::lms_set_slave_timeout" ref="g68ac6273965bdeb25795dd4c50777b4e" args="(lms_t *lms, int ms)" -->
519 <div class="memitem">
520 <div class="memproto">
521       <table class="memname">
522         <tr>
523           <td class="memname">void lms_set_slave_timeout           </td>
524           <td>(</td>
525           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
526           <td class="paramname"> <em>lms</em>, </td>
527         </tr>
528         <tr>
529           <td class="paramkey"></td>
530           <td></td>
531           <td class="paramtype">int&nbsp;</td>
532           <td class="paramname"> <em>ms</em></td><td>&nbsp;</td>
533         </tr>
534         <tr>
535           <td></td>
536           <td>)</td>
537           <td></td><td></td><td width="100%"></td>
538         </tr>
539       </table>
540 </div>
541 <div class="memdoc">
542
543 <p>
544 Set the maximum amount of milliseconds the slave can take to serve one file.<p>
545 If a slave takes more than this amount of milliseconds, it will be killed and the scanner will continue with the next file.<p>
546 <dl compact><dt><b>Parameters:</b></dt><dd>
547   <table border="0" cellspacing="2" cellpadding="0">
548     <tr><td valign="top"></td><td valign="top"><em><a class="el" href="structlms.html">lms</a></em>&nbsp;</td><td>previously allocated Light Media Scanner instance. </td></tr>
549     <tr><td valign="top"></td><td valign="top"><em>ms</em>&nbsp;</td><td>time in milliseconds. </td></tr>
550   </table>
551 </dl>
552
553 <p>
554 Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00382">382</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.
555 <p>
556 References <a class="el" href="lightmediascanner__private_8h-source.html#l00069">lms::slave_timeout</a>.
557 </div>
558 </div><p>
559 <hr size="1"><address style="text-align: right;"><small>Generated on Thu Dec 13 02:04:05 2007 for Light Media Scanner by&nbsp;
560 <a href="http://www.doxygen.org/index.html">
561 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.2 </small></address>
562 </body>
563 </html>