add new api 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="tabs.css" rel="stylesheet" type="text/css">
5 <link href="doxygen.css" rel="stylesheet" type="text/css">
6 </head><body>
7 <!-- Generated by Doxygen 1.5.8 -->
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="annotated.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#l00496">496</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 </div>
96
97 </div>
98 </div><p>
99 <a class="anchor" name="g0b427b8b60957e29a0e504c10c5356b0"></a><!-- doxytag: member="lightmediascanner.c::lms_charset_del" ref="g0b427b8b60957e29a0e504c10c5356b0" args="(lms_t *lms, const char *charset)" -->
100 <div class="memitem">
101 <div class="memproto">
102       <table class="memname">
103         <tr>
104           <td class="memname">int lms_charset_del           </td>
105           <td>(</td>
106           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
107           <td class="paramname"> <em>lms</em>, </td>
108         </tr>
109         <tr>
110           <td class="paramkey"></td>
111           <td></td>
112           <td class="paramtype">const char *&nbsp;</td>
113           <td class="paramname"> <em>charset</em></td><td>&nbsp;</td>
114         </tr>
115         <tr>
116           <td></td>
117           <td>)</td>
118           <td></td><td></td><td></td>
119         </tr>
120       </table>
121 </div>
122 <div class="memdoc">
123
124 <p>
125 Forget about registered charset encoding.<p>
126 All database text strings are in UTF-8, so one needs to register new encodings in order to convert to it.<p>
127 <dl compact><dt><b>Parameters:</b></dt><dd>
128   <table border="0" cellspacing="2" cellpadding="0">
129     <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>
130     <tr><td valign="top"></td><td valign="top"><em>charset</em>&nbsp;</td><td>charset name as understood by iconv_open(3).</td></tr>
131   </table>
132 </dl>
133 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
134
135 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00519">519</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
136
137 <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>
138
139 <p>
140 <div class="dynheader">
141 Here is the call graph for this function:</div>
142 <div class="dynsection">
143 </div>
144
145 </div>
146 </div><p>
147 <a class="anchor" name="gf15f3b0f7de2113155a360df989b7687"></a><!-- doxytag: member="lightmediascanner.c::lms_free" ref="gf15f3b0f7de2113155a360df989b7687" args="(lms_t *lms)" -->
148 <div class="memitem">
149 <div class="memproto">
150       <table class="memname">
151         <tr>
152           <td class="memname">int lms_free           </td>
153           <td>(</td>
154           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
155           <td class="paramname"> <em>lms</em>          </td>
156           <td>&nbsp;)&nbsp;</td>
157           <td></td>
158         </tr>
159       </table>
160 </div>
161 <div class="memdoc">
162
163 <p>
164 Free existing Light Media Scanner instance.<p>
165 <dl compact><dt><b>Parameters:</b></dt><dd>
166   <table border="0" cellspacing="2" cellpadding="0">
167     <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>
168   </table>
169 </dl>
170 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
171
172 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00159">159</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
173
174 <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>
175
176 <p>Referenced by <a class="el" href="lightmediascanner__process_8c-source.html#l00634">lms_create_slave()</a>.</p>
177
178 <p>
179 <div class="dynheader">
180 Here is the call graph for this function:</div>
181 <div class="dynsection">
182 </div>
183
184 </div>
185 </div><p>
186 <a class="anchor" name="g227ebe8cad9776908c1977c43ef62d9c"></a><!-- doxytag: member="lightmediascanner.c::lms_get_commit_interval" ref="g227ebe8cad9776908c1977c43ef62d9c" args="(const lms_t *lms)" -->
187 <div class="memitem">
188 <div class="memproto">
189       <table class="memname">
190         <tr>
191           <td class="memname">unsigned int lms_get_commit_interval           </td>
192           <td>(</td>
193           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
194           <td class="paramname"> <em>lms</em>          </td>
195           <td>&nbsp;)&nbsp;</td>
196           <td></td>
197         </tr>
198       </table>
199 </div>
200 <div class="memdoc">
201
202 <p>
203 Get the number of files served between database transactions.<p>
204 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>
205 <dl compact><dt><b>Parameters:</b></dt><dd>
206   <table border="0" cellspacing="2" cellpadding="0">
207     <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>
208   </table>
209 </dl>
210 <dl class="return" compact><dt><b>Returns:</b></dt><dd>(unsigned int)-1 on error, value otherwise. </dd></dl>
211
212 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00449">449</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
213
214 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00087">lms::commit_interval</a>.</p>
215
216 </div>
217 </div><p>
218 <a class="anchor" name="g4098d31de667a895095fc8d4d9bc10c0"></a><!-- doxytag: member="lightmediascanner.c::lms_get_db_path" ref="g4098d31de667a895095fc8d4d9bc10c0" args="(const lms_t *lms)" -->
219 <div class="memitem">
220 <div class="memproto">
221       <table class="memname">
222         <tr>
223           <td class="memname">const char* lms_get_db_path           </td>
224           <td>(</td>
225           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
226           <td class="paramname"> <em>lms</em>          </td>
227           <td>&nbsp;)&nbsp;</td>
228           <td></td>
229         </tr>
230       </table>
231 </div>
232 <div class="memdoc">
233
234 <p>
235 Get the database path given at creation time.<p>
236 <dl compact><dt><b>Parameters:</b></dt><dd>
237   <table border="0" cellspacing="2" cellpadding="0">
238     <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>
239   </table>
240 </dl>
241 <dl class="return" compact><dt><b>Returns:</b></dt><dd>path to database. </dd></dl>
242
243 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00385">385</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
244
245 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00080">lms::db_path</a>.</p>
246
247 </div>
248 </div><p>
249 <a class="anchor" name="g973c6c7b66f4fdd6f4f776a36e742d33"></a><!-- doxytag: member="lightmediascanner.c::lms_get_slave_timeout" ref="g973c6c7b66f4fdd6f4f776a36e742d33" args="(const lms_t *lms)" -->
250 <div class="memitem">
251 <div class="memproto">
252       <table class="memname">
253         <tr>
254           <td class="memname">int lms_get_slave_timeout           </td>
255           <td>(</td>
256           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
257           <td class="paramname"> <em>lms</em>          </td>
258           <td>&nbsp;)&nbsp;</td>
259           <td></td>
260         </tr>
261       </table>
262 </div>
263 <div class="memdoc">
264
265 <p>
266 Get the maximum amount of milliseconds the slave can take to serve one file.<p>
267 If a slave takes more than this amount of milliseconds, it will be killed and the scanner will continue with the next file.<p>
268 <dl compact><dt><b>Parameters:</b></dt><dd>
269   <table border="0" cellspacing="2" cellpadding="0">
270     <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>
271   </table>
272 </dl>
273 <dl class="return" compact><dt><b>Returns:</b></dt><dd>-1 on error or time in milliseconds otherwise. </dd></dl>
274
275 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00407">407</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
276
277 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00081">lms::slave_timeout</a>.</p>
278
279 </div>
280 </div><p>
281 <a class="anchor" name="g8c594bed751d504965b5cc0c7e93fb71"></a><!-- doxytag: member="lightmediascanner.c::lms_is_processing" ref="g8c594bed751d504965b5cc0c7e93fb71" args="(const lms_t *lms)" -->
282 <div class="memitem">
283 <div class="memproto">
284       <table class="memname">
285         <tr>
286           <td class="memname">int lms_is_processing           </td>
287           <td>(</td>
288           <td class="paramtype">const <a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
289           <td class="paramname"> <em>lms</em>          </td>
290           <td>&nbsp;)&nbsp;</td>
291           <td></td>
292         </tr>
293       </table>
294 </div>
295 <div class="memdoc">
296
297 <p>
298 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>
299 <dl compact><dt><b>Parameters:</b></dt><dd>
300   <table border="0" cellspacing="2" cellpadding="0">
301     <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>
302   </table>
303 </dl>
304 <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>
305
306 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00366">366</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
307
308 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00088">lms::is_processing</a>.</p>
309
310 </div>
311 </div><p>
312 <a class="anchor" name="g982939bdd2aeb664b5cf7a50b67c1030"></a><!-- doxytag: member="lightmediascanner.c::lms_new" ref="g982939bdd2aeb664b5cf7a50b67c1030" args="(const char *db_path)" -->
313 <div class="memitem">
314 <div class="memproto">
315       <table class="memname">
316         <tr>
317           <td class="memname"><a class="el" href="structlms.html">lms_t</a>* lms_new           </td>
318           <td>(</td>
319           <td class="paramtype">const char *&nbsp;</td>
320           <td class="paramname"> <em>db_path</em>          </td>
321           <td>&nbsp;)&nbsp;</td>
322           <td></td>
323         </tr>
324       </table>
325 </div>
326 <div class="memdoc">
327
328 <p>
329 Create new Light Media Scanner instance.<p>
330 <dl compact><dt><b>Parameters:</b></dt><dd>
331   <table border="0" cellspacing="2" cellpadding="0">
332     <tr><td valign="top"></td><td valign="top"><em>db_path</em>&nbsp;</td><td>path to database file. </td></tr>
333   </table>
334 </dl>
335 <dl class="return" compact><dt><b>Returns:</b></dt><dd>allocated data on success or NULL on failure. </dd></dl>
336
337 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00121">121</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
338
339 <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#l00037">DEFAULT_COMMIT_INTERVAL</a>, <a class="el" href="lightmediascanner_8c-source.html#l00036">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>
340
341 <p>
342 <div class="dynheader">
343 Here is the call graph for this function:</div>
344 <div class="dynsection">
345 </div>
346
347 </div>
348 </div><p>
349 <a class="anchor" name="g7b93a24e73af8b5d46b2507dd70ac588"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_add" ref="g7b93a24e73af8b5d46b2507dd70ac588" args="(lms_t *lms, const char *so_path)" -->
350 <div class="memitem">
351 <div class="memproto">
352       <table class="memname">
353         <tr>
354           <td class="memname"><a class="el" href="structlms__plugin.html">lms_plugin_t</a>* lms_parser_add           </td>
355           <td>(</td>
356           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
357           <td class="paramname"> <em>lms</em>, </td>
358         </tr>
359         <tr>
360           <td class="paramkey"></td>
361           <td></td>
362           <td class="paramtype">const char *&nbsp;</td>
363           <td class="paramname"> <em>so_path</em></td><td>&nbsp;</td>
364         </tr>
365         <tr>
366           <td></td>
367           <td>)</td>
368           <td></td><td></td><td></td>
369         </tr>
370       </table>
371 </div>
372 <div class="memdoc">
373
374 <p>
375 Add <a class="el" href="structparser.html">parser</a> plugin given it's shared object path.<p>
376 <dl compact><dt><b>Parameters:</b></dt><dd>
377   <table border="0" cellspacing="2" cellpadding="0">
378     <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>
379     <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>
380   </table>
381 </dl>
382 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success the LMS handle to plugin is returned, NULL on error. </dd></dl>
383
384 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00221">221</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
385
386 <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>
387
388 <p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00279">lms_parser_find_and_add()</a>.</p>
389
390 </div>
391 </div><p>
392 <a class="anchor" name="g1da5e5f834e0289ea49a0fbc2280feda"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_del" ref="g1da5e5f834e0289ea49a0fbc2280feda" args="(lms_t *lms, lms_plugin_t *handle)" -->
393 <div class="memitem">
394 <div class="memproto">
395       <table class="memname">
396         <tr>
397           <td class="memname">int lms_parser_del           </td>
398           <td>(</td>
399           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
400           <td class="paramname"> <em>lms</em>, </td>
401         </tr>
402         <tr>
403           <td class="paramkey"></td>
404           <td></td>
405           <td class="paramtype"><a class="el" href="structlms__plugin.html">lms_plugin_t</a> *&nbsp;</td>
406           <td class="paramname"> <em>handle</em></td><td>&nbsp;</td>
407         </tr>
408         <tr>
409           <td></td>
410           <td>)</td>
411           <td></td><td></td><td></td>
412         </tr>
413       </table>
414 </div>
415 <div class="memdoc">
416
417 <p>
418 Delete previously added <a class="el" href="structparser.html">parser</a>, making it unavailable for future operations.<p>
419 <dl compact><dt><b>Parameters:</b></dt><dd>
420   <table border="0" cellspacing="2" cellpadding="0">
421     <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>
422   </table>
423 </dl>
424 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success 0 is returned. </dd></dl>
425
426 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00334">334</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
427
428 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00088">lms::is_processing</a>, <a class="el" href="lightmediascanner_8c-source.html#l00294">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>
429
430 <p>
431 <div class="dynheader">
432 Here is the call graph for this function:</div>
433 <div class="dynsection">
434 </div>
435
436 </div>
437 </div><p>
438 <a class="anchor" name="g74b81422ff46a46b4b0fc44e8709ecee"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_find_and_add" ref="g74b81422ff46a46b4b0fc44e8709ecee" args="(lms_t *lms, const char *name)" -->
439 <div class="memitem">
440 <div class="memproto">
441       <table class="memname">
442         <tr>
443           <td class="memname"><a class="el" href="structlms__plugin.html">lms_plugin_t</a>* lms_parser_find_and_add           </td>
444           <td>(</td>
445           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
446           <td class="paramname"> <em>lms</em>, </td>
447         </tr>
448         <tr>
449           <td class="paramkey"></td>
450           <td></td>
451           <td class="paramtype">const char *&nbsp;</td>
452           <td class="paramname"> <em>name</em></td><td>&nbsp;</td>
453         </tr>
454         <tr>
455           <td></td>
456           <td>)</td>
457           <td></td><td></td><td></td>
458         </tr>
459       </table>
460 </div>
461 <div class="memdoc">
462
463 <p>
464 Add <a class="el" href="structparser.html">parser</a> plugin given it's name.<p>
465 This will look at default plugin path by the file named <code>name</code> (plus the required shared object extension).<p>
466 <dl compact><dt><b>Parameters:</b></dt><dd>
467   <table border="0" cellspacing="2" cellpadding="0">
468     <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>
469     <tr><td valign="top"></td><td valign="top"><em>name</em>&nbsp;</td><td>plugin name.</td></tr>
470   </table>
471 </dl>
472 <dl class="return" compact><dt><b>Returns:</b></dt><dd>On success the LMS handle to plugin is returned, NULL on error. </dd></dl>
473
474 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00279">279</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
475
476 <p>References <a class="el" href="lightmediascanner_8c-source.html#l00221">lms_parser_add()</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00073">parser::so_path</a>.</p>
477
478 <p>
479 <div class="dynheader">
480 Here is the call graph for this function:</div>
481 <div class="dynsection">
482 </div>
483
484 </div>
485 </div><p>
486 <a class="anchor" name="ge81a028f08139e64e97ac191bd899b32"></a><!-- doxytag: member="lightmediascanner.c::lms_set_commit_interval" ref="ge81a028f08139e64e97ac191bd899b32" args="(lms_t *lms, unsigned int transactions)" -->
487 <div class="memitem">
488 <div class="memproto">
489       <table class="memname">
490         <tr>
491           <td class="memname">void lms_set_commit_interval           </td>
492           <td>(</td>
493           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
494           <td class="paramname"> <em>lms</em>, </td>
495         </tr>
496         <tr>
497           <td class="paramkey"></td>
498           <td></td>
499           <td class="paramtype">unsigned int&nbsp;</td>
500           <td class="paramname"> <em>transactions</em></td><td>&nbsp;</td>
501         </tr>
502         <tr>
503           <td></td>
504           <td>)</td>
505           <td></td><td></td><td></td>
506         </tr>
507       </table>
508 </div>
509 <div class="memdoc">
510
511 <p>
512 Set the number of files served between database transactions.<p>
513 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>
514 <dl compact><dt><b>Parameters:</b></dt><dd>
515   <table border="0" cellspacing="2" cellpadding="0">
516     <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>
517     <tr><td valign="top"></td><td valign="top"><em>transactions</em>&nbsp;</td><td>number of files (transactions) to process between commits. </td></tr>
518   </table>
519 </dl>
520
521 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00472">472</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
522
523 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00087">lms::commit_interval</a>.</p>
524
525 </div>
526 </div><p>
527 <a class="anchor" name="g68ac6273965bdeb25795dd4c50777b4e"></a><!-- doxytag: member="lightmediascanner.c::lms_set_slave_timeout" ref="g68ac6273965bdeb25795dd4c50777b4e" args="(lms_t *lms, int ms)" -->
528 <div class="memitem">
529 <div class="memproto">
530       <table class="memname">
531         <tr>
532           <td class="memname">void lms_set_slave_timeout           </td>
533           <td>(</td>
534           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
535           <td class="paramname"> <em>lms</em>, </td>
536         </tr>
537         <tr>
538           <td class="paramkey"></td>
539           <td></td>
540           <td class="paramtype">int&nbsp;</td>
541           <td class="paramname"> <em>ms</em></td><td>&nbsp;</td>
542         </tr>
543         <tr>
544           <td></td>
545           <td>)</td>
546           <td></td><td></td><td></td>
547         </tr>
548       </table>
549 </div>
550 <div class="memdoc">
551
552 <p>
553 Set the maximum amount of milliseconds the slave can take to serve one file.<p>
554 If a slave takes more than this amount of milliseconds, it will be killed and the scanner will continue with the next file.<p>
555 <dl compact><dt><b>Parameters:</b></dt><dd>
556   <table border="0" cellspacing="2" cellpadding="0">
557     <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>
558     <tr><td valign="top"></td><td valign="top"><em>ms</em>&nbsp;</td><td>time in milliseconds. </td></tr>
559   </table>
560 </dl>
561
562 <p>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>.</p>
563
564 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00081">lms::slave_timeout</a>.</p>
565
566 </div>
567 </div><p>
568 </div>
569 <hr size="1"><address style="text-align: right;"><small>Generated on Wed Apr 22 23:56:01 2009 for Light Media Scanner by&nbsp;
570 <a href="http://www.doxygen.org/index.html">
571 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.8 </small></address>
572 </body>
573 </html>