<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>gmerlin: bg_plugin_common_s Struct Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"> <link href="doxygen.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.9 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li class="current"><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> <li><a href="dirs.html"><span>Directories</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="functions.html"><span>Data Fields</span></a></li> </ul> </div> </div> <div class="contents"> <h1>bg_plugin_common_s Struct Reference<br> <small> [<a class="el" href="group__plugin.html">Plugins</a>]</small> </h1><!-- doxytag: class="bg_plugin_common_s" -->Base structure common to all plugins. <a href="#_details">More...</a> <p> <code>#include <<a class="el" href="plugin_8h_source.html">plugin.h</a>></code> <p> <table border="0" cellpadding="0" cellspacing="0"> <tr><td></td></tr> <tr><td colspan="2"><br><h2>Data Fields</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#8e48199f979db14a8b17951a43c279c6">gettext_domain</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">First argument for bindtextdomain(). <a href="#8e48199f979db14a8b17951a43c279c6"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#b9ca586492b30ea2320ccb6cd7b022ad">gettext_directory</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Second argument for bindtextdomain(). <a href="#b9ca586492b30ea2320ccb6cd7b022ad"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#0bd6c3f0fd05e0c0602f7ecbaca7d29e">name</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Unique short name. <a href="#0bd6c3f0fd05e0c0602f7ecbaca7d29e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#2be30e006f723d8dcc436e3137590ea3">long_name</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Humanized name for GUI widgets. <a href="#2be30e006f723d8dcc436e3137590ea3"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__plugin.html#gf10acb82c89e5dc1414118038b3b06b2">bg_plugin_type_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#5b6575b5d3c6247af2b721976eefa456">type</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Type. <a href="#5b6575b5d3c6247af2b721976eefa456"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#8b37688f7f2704a302674e9d3eeb88a7">flags</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Flags (see defines). <a href="#8b37688f7f2704a302674e9d3eeb88a7"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">char * </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#274b2b59f37d8bfd39943327a4da5be9">description</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Textual description. <a href="#274b2b59f37d8bfd39943327a4da5be9"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#f51ae5e64c2f2964fe39ba2c7748b2f8">priority</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Priority (between 1 and 10). <a href="#f51ae5e64c2f2964fe39ba2c7748b2f8"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#6444ad261c94db8e1705a2dd020782fd">create</a> )()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Create the instance, return handle. <a href="#6444ad261c94db8e1705a2dd020782fd"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">void(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#e286df39d83aa33ec43e2ad688a0908e">destroy</a> )(void *priv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Destroy plugin instance. <a href="#e286df39d83aa33ec43e2ad688a0908e"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#1205594acca69d1501836da57c779254">get_parameters</a> )(void *priv)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get available parameters. <a href="#1205594acca69d1501836da57c779254"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__parameter.html#g2938a274fb8dd11ccb09b2443e21d9ab">bg_set_parameter_func_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#9b11fd4a632eebe647544b6bc81ff86b">set_parameter</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Set configuration parameter (optional). <a href="#9b11fd4a632eebe647544b6bc81ff86b"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="group__parameter.html#g55a1c10315002062e6072aaab50f0e82">bg_get_parameter_func_t</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#7c63c0dcc6facfabc54a62d404f0b970">get_parameter</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get configuration parameter (optional). <a href="#7c63c0dcc6facfabc54a62d404f0b970"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#396d73bde6ccc85f748f70885f4fe95a">check_device</a> )(const char *device, char **<a class="el" href="structbg__plugin__common__s.html#0bd6c3f0fd05e0c0602f7ecbaca7d29e">name</a>)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Check, if a device can be opened by the plugin (optional). <a href="#396d73bde6ccc85f748f70885f4fe95a"></a><br></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="structbg__device__info__t.html">bg_device_info_t</a> *(* </td><td class="memItemRight" valign="bottom"><a class="el" href="structbg__plugin__common__s.html#d3b1e09097a21ce9e5b96f8748592d36">find_devices</a> )()</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Get an array of all supported devices found on the system. <a href="#d3b1e09097a21ce9e5b96f8748592d36"></a><br></td></tr> </table> <hr><a name="_details"></a><h2>Detailed Description</h2> Base structure common to all plugins. <hr><h2>Field Documentation</h2> <a class="anchor" name="8e48199f979db14a8b17951a43c279c6"></a><!-- doxytag: member="bg_plugin_common_s::gettext_domain" ref="8e48199f979db14a8b17951a43c279c6" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structbg__plugin__common__s.html#8e48199f979db14a8b17951a43c279c6">bg_plugin_common_s::gettext_domain</a> </td> </tr> </table> </div> <div class="memdoc"> <p> First argument for bindtextdomain(). <p> </div> </div><p> <a class="anchor" name="b9ca586492b30ea2320ccb6cd7b022ad"></a><!-- doxytag: member="bg_plugin_common_s::gettext_directory" ref="b9ca586492b30ea2320ccb6cd7b022ad" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structbg__plugin__common__s.html#b9ca586492b30ea2320ccb6cd7b022ad">bg_plugin_common_s::gettext_directory</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Second argument for bindtextdomain(). <p> </div> </div><p> <a class="anchor" name="0bd6c3f0fd05e0c0602f7ecbaca7d29e"></a><!-- doxytag: member="bg_plugin_common_s::name" ref="0bd6c3f0fd05e0c0602f7ecbaca7d29e" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structbg__plugin__common__s.html#0bd6c3f0fd05e0c0602f7ecbaca7d29e">bg_plugin_common_s::name</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Unique short name. <p> </div> </div><p> <a class="anchor" name="2be30e006f723d8dcc436e3137590ea3"></a><!-- doxytag: member="bg_plugin_common_s::long_name" ref="2be30e006f723d8dcc436e3137590ea3" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structbg__plugin__common__s.html#2be30e006f723d8dcc436e3137590ea3">bg_plugin_common_s::long_name</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Humanized name for GUI widgets. <p> </div> </div><p> <a class="anchor" name="5b6575b5d3c6247af2b721976eefa456"></a><!-- doxytag: member="bg_plugin_common_s::type" ref="5b6575b5d3c6247af2b721976eefa456" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__plugin.html#gf10acb82c89e5dc1414118038b3b06b2">bg_plugin_type_t</a> <a class="el" href="structbg__plugin__common__s.html#5b6575b5d3c6247af2b721976eefa456">bg_plugin_common_s::type</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Type. <p> </div> </div><p> <a class="anchor" name="8b37688f7f2704a302674e9d3eeb88a7"></a><!-- doxytag: member="bg_plugin_common_s::flags" ref="8b37688f7f2704a302674e9d3eeb88a7" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="structbg__plugin__common__s.html#8b37688f7f2704a302674e9d3eeb88a7">bg_plugin_common_s::flags</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Flags (see defines). <p> </div> </div><p> <a class="anchor" name="274b2b59f37d8bfd39943327a4da5be9"></a><!-- doxytag: member="bg_plugin_common_s::description" ref="274b2b59f37d8bfd39943327a4da5be9" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">char* <a class="el" href="structbg__plugin__common__s.html#274b2b59f37d8bfd39943327a4da5be9">bg_plugin_common_s::description</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Textual description. <p> </div> </div><p> <a class="anchor" name="f51ae5e64c2f2964fe39ba2c7748b2f8"></a><!-- doxytag: member="bg_plugin_common_s::priority" ref="f51ae5e64c2f2964fe39ba2c7748b2f8" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int <a class="el" href="structbg__plugin__common__s.html#f51ae5e64c2f2964fe39ba2c7748b2f8">bg_plugin_common_s::priority</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Priority (between 1 and 10). <p> </div> </div><p> <a class="anchor" name="6444ad261c94db8e1705a2dd020782fd"></a><!-- doxytag: member="bg_plugin_common_s::create" ref="6444ad261c94db8e1705a2dd020782fd" args=")()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void*(* <a class="el" href="structbg__plugin__common__s.html#6444ad261c94db8e1705a2dd020782fd">bg_plugin_common_s::create</a>)() </td> </tr> </table> </div> <div class="memdoc"> <p> Create the instance, return handle. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A private handle, which is the first argument to all subsequent functions. </dd></dl> </div> </div><p> <a class="anchor" name="e286df39d83aa33ec43e2ad688a0908e"></a><!-- doxytag: member="bg_plugin_common_s::destroy" ref="e286df39d83aa33ec43e2ad688a0908e" args=")(void *priv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void(* <a class="el" href="structbg__plugin__common__s.html#e286df39d83aa33ec43e2ad688a0908e">bg_plugin_common_s::destroy</a>)(void *priv) </td> </tr> </table> </div> <div class="memdoc"> <p> Destroy plugin instance. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>priv</em> </td><td>The handle returned by the <a class="el" href="structbg__plugin__common__s.html#6444ad261c94db8e1705a2dd020782fd" title="Create the instance, return handle.">create()</a> method</td></tr> </table> </dl> Destroy everything, making it ready for dlclose() This function might also be called on opened plugins, so the plugins should call their close()-function from within the destroy method. </div> </div><p> <a class="anchor" name="1205594acca69d1501836da57c779254"></a><!-- doxytag: member="bg_plugin_common_s::get_parameters" ref="1205594acca69d1501836da57c779254" args=")(void *priv)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">const <a class="el" href="structbg__parameter__info__s.html">bg_parameter_info_t</a>*(* <a class="el" href="structbg__plugin__common__s.html#1205594acca69d1501836da57c779254">bg_plugin_common_s::get_parameters</a>)(void *priv) </td> </tr> </table> </div> <div class="memdoc"> <p> Get available parameters. <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>priv</em> </td><td>The handle returned by the <a class="el" href="structbg__plugin__common__s.html#6444ad261c94db8e1705a2dd020782fd" title="Create the instance, return handle.">create()</a> method </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>a NULL terminated parameter array.</dd></dl> The returned array is owned (an should be freed) by the plugin. </div> </div><p> <a class="anchor" name="9b11fd4a632eebe647544b6bc81ff86b"></a><!-- doxytag: member="bg_plugin_common_s::set_parameter" ref="9b11fd4a632eebe647544b6bc81ff86b" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__parameter.html#g2938a274fb8dd11ccb09b2443e21d9ab">bg_set_parameter_func_t</a> <a class="el" href="structbg__plugin__common__s.html#9b11fd4a632eebe647544b6bc81ff86b">bg_plugin_common_s::set_parameter</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Set configuration parameter (optional). <p> </div> </div><p> <a class="anchor" name="7c63c0dcc6facfabc54a62d404f0b970"></a><!-- doxytag: member="bg_plugin_common_s::get_parameter" ref="7c63c0dcc6facfabc54a62d404f0b970" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="group__parameter.html#g55a1c10315002062e6072aaab50f0e82">bg_get_parameter_func_t</a> <a class="el" href="structbg__plugin__common__s.html#7c63c0dcc6facfabc54a62d404f0b970">bg_plugin_common_s::get_parameter</a> </td> </tr> </table> </div> <div class="memdoc"> <p> Get configuration parameter (optional). <p> This must only return parameters, which are changed internally by the plugins. </div> </div><p> <a class="anchor" name="396d73bde6ccc85f748f70885f4fe95a"></a><!-- doxytag: member="bg_plugin_common_s::check_device" ref="396d73bde6ccc85f748f70885f4fe95a" args=")(const char *device, char **name)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">int(* <a class="el" href="structbg__plugin__common__s.html#396d73bde6ccc85f748f70885f4fe95a">bg_plugin_common_s::check_device</a>)(const char *device, char **<a class="el" href="structbg__plugin__common__s.html#0bd6c3f0fd05e0c0602f7ecbaca7d29e">name</a>) </td> </tr> </table> </div> <div class="memdoc"> <p> Check, if a device can be opened by the plugin (optional). <p> <dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"></td><td valign="top"><em>device</em> </td><td>The device as passed to the open() method </td></tr> <tr><td valign="top"></td><td valign="top"><em>name</em> </td><td>Returns the name if available </td></tr> </table> </dl> <dl class="return" compact><dt><b>Returns:</b></dt><dd>1 if the device is supported, 0 else</dd></dl> The name should be set to NULL before this call, and must be freed if it's non-NULL after the call. </div> </div><p> <a class="anchor" name="d3b1e09097a21ce9e5b96f8748592d36"></a><!-- doxytag: member="bg_plugin_common_s::find_devices" ref="d3b1e09097a21ce9e5b96f8748592d36" args=")()" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname"><a class="el" href="structbg__device__info__t.html">bg_device_info_t</a>*(* <a class="el" href="structbg__plugin__common__s.html#d3b1e09097a21ce9e5b96f8748592d36">bg_plugin_common_s::find_devices</a>)() </td> </tr> </table> </div> <div class="memdoc"> <p> Get an array of all supported devices found on the system. <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd>A NULL terminated device array</dd></dl> The returned array must be freed with <a class="el" href="group__plugin.html#g6308ffeb10357266aaf011069877a35b">bg_device_info_destroy</a> by the caller. </div> </div><p> <hr>The documentation for this struct was generated from the following file:<ul> <li>/home/mandrake/rpm/BUILD/gmerlin-0.4.1/include/gmerlin/<a class="el" href="plugin_8h_source.html">plugin.h</a></ul> </div> <hr size="1"><address style="text-align: right;"><small>Generated on Sat Aug 22 01:28:05 2009 for gmerlin by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.9 </small></address> </body> </html>