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