a0dfe660921fb8a2a39988b5356081babc46ffa4
[lms] / www / api / lightmediascanner_8c.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: src/lib/lightmediascanner.c File Reference</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 class="current"><a href="files.html"><span>Files</span></a></li>
15     </ul>
16   </div>
17 </div>
18 <div class="contents">
19 <h1>src/lib/lightmediascanner.c File Reference</h1><code>#include &lt;dlfcn.h&gt;</code><br>
20 <code>#include &lt;stdio.h&gt;</code><br>
21 <code>#include &lt;stdlib.h&gt;</code><br>
22 <code>#include &lt;string.h&gt;</code><br>
23 <code>#include &quot;<a class="el" href="lightmediascanner_8h-source.html">lightmediascanner.h</a>&quot;</code><br>
24 <code>#include &quot;<a class="el" href="lightmediascanner__private_8h-source.html">lightmediascanner_private.h</a>&quot;</code><br>
25 <code>#include &quot;<a class="el" href="lightmediascanner__plugin_8h-source.html">lightmediascanner_plugin.h</a>&quot;</code><br>
26
27 <p>
28 <div class="dynheader">
29 Include dependency graph for lightmediascanner.c:</div>
30 <div class="dynsection">
31 <p><center><img src="lightmediascanner_8c__incl.png" border="0" usemap="#src/lib/lightmediascanner.c_map" alt=""></center>
32 <map name="src/lib/lightmediascanner.c_map">
33 <area shape="rect" href="lightmediascanner_8h.html" title="lightmediascanner.h" alt="" coords="360,239,515,265"><area shape="rect" href="lightmediascanner__private_8h.html" title="lightmediascanner_private.h" alt="" coords="501,84,712,111"><area shape="rect" href="lightmediascanner__plugin_8h.html" title="lightmediascanner_plugin.h" alt="" coords="749,161,949,188"><area shape="rect" href="lightmediascanner__charset__conv_8h.html" title="lightmediascanner_charset_conv.h" alt="" coords="668,239,921,265"></map>
34 </div>
35
36 <p>
37 <a href="lightmediascanner_8c-source.html">Go to the source code of this file.</a><table border="0" cellpadding="0" cellspacing="0">
38 <tr><td></td></tr>
39 <tr><td colspan="2"><br><h2>Defines</h2></td></tr>
40 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8c.html#c2843894cca63ec0089c381e69d1d81a">DEFAULT_SLAVE_TIMEOUT</a>&nbsp;&nbsp;&nbsp;1000</td></tr>
41
42 <tr><td class="memItemLeft" nowrap align="right" valign="top">#define&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8c.html#6d0480dc76aba4a2291d79ac2466fc59">DEFAULT_COMMIT_INTERVAL</a>&nbsp;&nbsp;&nbsp;100</td></tr>
43
44 <tr><td colspan="2"><br><h2>Functions</h2></td></tr>
45 <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>
46
47 <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>
48
49 <tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8c.html#668e706f6d5eae3ba5e36ff4db2ae514">lms_set_progress_callback</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, <a class="el" href="lightmediascanner_8h.html#117b4bb24ec8fc48fc4e6f0d7fa9ea3a">lms_progress_callback_t</a> cb, const void *data, <a class="el" href="lightmediascanner_8h.html#55ee3894f334dc5b30431bf94971f110">lms_free_callback_t</a> free_data)</td></tr>
50
51 <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>
52
53 <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>
54
55 <tr><td class="memItemLeft" nowrap align="right" valign="top">int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="lightmediascanner_8c.html#e6ccb942742cf65cc1cf866aceb4bddf">lms_parser_del_int</a> (<a class="el" href="structlms.html">lms_t</a> *<a class="el" href="structlms.html">lms</a>, int i)</td></tr>
56
57 <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>
58
59 <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>
60
61 <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>
62
63 <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>
64
65 <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>
66
67 <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>
68
69 <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>
70
71 <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>
72
73 <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>
74
75 </table>
76 <hr><h2>Define Documentation</h2>
77 <a class="anchor" name="6d0480dc76aba4a2291d79ac2466fc59"></a><!-- doxytag: member="lightmediascanner.c::DEFAULT_COMMIT_INTERVAL" ref="6d0480dc76aba4a2291d79ac2466fc59" args="" -->
78 <div class="memitem">
79 <div class="memproto">
80       <table class="memname">
81         <tr>
82           <td class="memname">#define DEFAULT_COMMIT_INTERVAL&nbsp;&nbsp;&nbsp;100          </td>
83         </tr>
84       </table>
85 </div>
86 <div class="memdoc">
87
88 <p>
89
90 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00035">35</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
91
92 <p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00119">lms_new()</a>.</p>
93
94 </div>
95 </div><p>
96 <a class="anchor" name="c2843894cca63ec0089c381e69d1d81a"></a><!-- doxytag: member="lightmediascanner.c::DEFAULT_SLAVE_TIMEOUT" ref="c2843894cca63ec0089c381e69d1d81a" args="" -->
97 <div class="memitem">
98 <div class="memproto">
99       <table class="memname">
100         <tr>
101           <td class="memname">#define DEFAULT_SLAVE_TIMEOUT&nbsp;&nbsp;&nbsp;1000          </td>
102         </tr>
103       </table>
104 </div>
105 <div class="memdoc">
106
107 <p>
108 Copyright (C) 2007 by INdT<p>
109 This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.<p>
110 This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.<p>
111 You should have received a copy of the GNU Lesser General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.<p>
112 <dl class="author" compact><dt><b>Author:</b></dt><dd>Gustavo Sverzut Barbieri &lt;<a href="mailto:gustavo.barbieri@openbossa.org">gustavo.barbieri@openbossa.org</a>&gt; </dd></dl>
113
114 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00034">34</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
115
116 <p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00119">lms_new()</a>.</p>
117
118 </div>
119 </div><p>
120 <hr><h2>Function Documentation</h2>
121 <a class="anchor" name="e6ccb942742cf65cc1cf866aceb4bddf"></a><!-- doxytag: member="lightmediascanner.c::lms_parser_del_int" ref="e6ccb942742cf65cc1cf866aceb4bddf" args="(lms_t *lms, int i)" -->
122 <div class="memitem">
123 <div class="memproto">
124       <table class="memname">
125         <tr>
126           <td class="memname">int lms_parser_del_int           </td>
127           <td>(</td>
128           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
129           <td class="paramname"> <em>lms</em>, </td>
130         </tr>
131         <tr>
132           <td class="paramkey"></td>
133           <td></td>
134           <td class="paramtype">int&nbsp;</td>
135           <td class="paramname"> <em>i</em></td><td>&nbsp;</td>
136         </tr>
137         <tr>
138           <td></td>
139           <td>)</td>
140           <td></td><td></td><td></td>
141         </tr>
142       </table>
143 </div>
144 <div class="memdoc">
145
146 <p>
147
148 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00278">278</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
149
150 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00078">lms::n_parsers</a>, and <a class="el" href="lightmediascanner__private_8h-source.html#l00077">lms::parsers</a>.</p>
151
152 <p>Referenced by <a class="el" href="lightmediascanner_8c-source.html#l00318">lms_parser_del()</a>, <a class="el" href="lightmediascanner__process_8c-source.html#l00293">lms_parsers_setup()</a>, and <a class="el" href="lightmediascanner__process_8c-source.html#l00319">lms_parsers_start()</a>.</p>
153
154 </div>
155 </div><p>
156 <a class="anchor" name="668e706f6d5eae3ba5e36ff4db2ae514"></a><!-- doxytag: member="lightmediascanner.c::lms_set_progress_callback" ref="668e706f6d5eae3ba5e36ff4db2ae514" args="(lms_t *lms, lms_progress_callback_t cb, const void *data, lms_free_callback_t free_data)" -->
157 <div class="memitem">
158 <div class="memproto">
159       <table class="memname">
160         <tr>
161           <td class="memname">void lms_set_progress_callback           </td>
162           <td>(</td>
163           <td class="paramtype"><a class="el" href="structlms.html">lms_t</a> *&nbsp;</td>
164           <td class="paramname"> <em>lms</em>, </td>
165         </tr>
166         <tr>
167           <td class="paramkey"></td>
168           <td></td>
169           <td class="paramtype"><a class="el" href="lightmediascanner_8h.html#117b4bb24ec8fc48fc4e6f0d7fa9ea3a">lms_progress_callback_t</a>&nbsp;</td>
170           <td class="paramname"> <em>cb</em>, </td>
171         </tr>
172         <tr>
173           <td class="paramkey"></td>
174           <td></td>
175           <td class="paramtype">const void *&nbsp;</td>
176           <td class="paramname"> <em>data</em>, </td>
177         </tr>
178         <tr>
179           <td class="paramkey"></td>
180           <td></td>
181           <td class="paramtype"><a class="el" href="lightmediascanner_8h.html#55ee3894f334dc5b30431bf94971f110">lms_free_callback_t</a>&nbsp;</td>
182           <td class="paramname"> <em>free_data</em></td><td>&nbsp;</td>
183         </tr>
184         <tr>
185           <td></td>
186           <td>)</td>
187           <td></td><td></td><td></td>
188         </tr>
189       </table>
190 </div>
191 <div class="memdoc">
192
193 <p>
194 Set callback to be used to report progress (check and process).<p>
195 <dl compact><dt><b>Parameters:</b></dt><dd>
196   <table border="0" cellspacing="2" cellpadding="0">
197     <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>
198     <tr><td valign="top"></td><td valign="top"><em>cb</em>&nbsp;</td><td>function to call when files are processed or NULL to unset. </td></tr>
199     <tr><td valign="top"></td><td valign="top"><em>data</em>&nbsp;</td><td>data to give to cb when it's called, may be NULL. </td></tr>
200     <tr><td valign="top"></td><td valign="top"><em>free_data</em>&nbsp;</td><td>function to call to free <em>data</em> when <a class="el" href="structlms.html">lms</a> is freed or new progress data is set. </td></tr>
201   </table>
202 </dl>
203
204 <p>Definition at line <a class="el" href="lightmediascanner_8c-source.html#l00193">193</a> of file <a class="el" href="lightmediascanner_8c-source.html">lightmediascanner.c</a>.</p>
205
206 <p>References <a class="el" href="lightmediascanner__private_8h-source.html#l00083">lms::cb</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00084">lms::data</a>, <a class="el" href="lightmediascanner__private_8h-source.html#l00085">lms::free_data</a>, and <a class="el" href="structlms.html#3f4bc299aa74c9255b730e106e0e7a8f">lms::progress</a>.</p>
207
208 </div>
209 </div><p>
210 </div>
211 <hr size="1"><address style="text-align: right;"><small>Generated on Sun Oct 5 12:24:53 2008 for Light Media Scanner by&nbsp;
212 <a href="http://www.doxygen.org/index.html">
213 <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
214 </body>
215 </html>