<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>STHandler</title><meta name="generator" content="DocBook XSL Stylesheets V1.66.1"><link rel="start" href="index.html" title="streamtuner Developers Manual"><link rel="up" href="api-reference.html" title="API Reference"><link rel="prev" href="streamtuner-st-dialog-api.html" title="st-dialog"><link rel="next" href="streamtuner-st-handler-field-api.html" title="STHandlerField"><meta name="generator" content="GTK-Doc V1.2 (XML mode)"><style type="text/css"> .synopsis, .classsynopsis { background: #eeeeee; border: solid 1px #aaaaaa; padding: 0.5em; } .programlisting { background: #feffde; border: solid 1px #e9ed1c; padding: 0.5em; } .variablelist { padding: 4px; margin-left: 3em; } .navigation { background: #daffd1; border: solid 1px #74ff54; margin-top: 0.5em; margin-bottom: 0.5em; } .navigation a { color: #2fba0f; } .navigation a:visited { color: #22850b; } .navigation .title { font-size: 200%; } </style></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><table class="navigation" width="100%" summary="Navigation header" cellpadding="2" cellspacing="2"><tr valign="middle"><td><a accesskey="p" href="streamtuner-st-dialog-api.html"><img src="left.png" width="24" height="24" border="0" alt="Prev"></a></td><td><a accesskey="u" href="api-reference.html"><img src="up.png" width="24" height="24" border="0" alt="Up"></a></td><td><a accesskey="h" href="index.html"><img src="home.png" width="24" height="24" border="0" alt="Home"></a></td><th width="100%" align="center">streamtuner Developers Manual</th><td><a accesskey="n" href="streamtuner-st-handler-field-api.html"><img src="right.png" width="24" height="24" border="0" alt="Next"></a></td></tr></table><div class="refentry" lang="en"><a name="streamtuner-STHandler"></a><div class="titlepage"></div><div class="refnamediv"><h2><span class="refentrytitle">STHandler</span></h2><p>STHandler — an object for handling a stream directory.</p></div><div class="refsynopsisdiv"><h2>Synopsis</h2><pre class="synopsis"> struct <a href="streamtuner-STHandler.html#STHandler">STHandler</a>; enum <a href="streamtuner-STHandler.html#STHandlerFlags">STHandlerFlags</a>; enum <a href="streamtuner-STHandler.html#STHandlerStockField">STHandlerStockField</a>; enum <a href="streamtuner-STHandler.html#STHandlerEvent">STHandlerEvent</a>; gboolean (<a href="streamtuner-STHandler.html#STHandlerReloadCallback">*STHandlerReloadCallback</a>) (<a href="streamtuner-st-category-api.html#STCategory">STCategory</a> *category, GNode **categories, GList **streams, gpointer data, GError **err); gboolean (<a href="streamtuner-STHandler.html#STHandlerReloadMultipleCallback">*STHandlerReloadMultipleCallback</a>) (GNode **categories, GHashTable **streams, gpointer data, GError **err); <a href="streamtuner-st-category-api.html#STCategory">STCategory</a>* (<a href="streamtuner-STHandler.html#STCategoryNewCallback">*STCategoryNewCallback</a>) (gpointer data); void (<a href="streamtuner-STHandler.html#STCategoryFreeCallback">*STCategoryFreeCallback</a>) (<a href="streamtuner-st-category-api.html#STCategory">STCategory</a> *category, gpointer data); <a href="streamtuner-st-stream-api.html#STStream">STStream</a>* (<a href="streamtuner-STHandler.html#STStreamNewCallback">*STStreamNewCallback</a>) (gpointer data); void (<a href="streamtuner-STHandler.html#STStreamFieldGetCallback">*STStreamFieldGetCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, <a href="streamtuner-st-handler-field-api.html#STHandlerField">STHandlerField</a> *field, GValue *value, gpointer data); void (<a href="streamtuner-STHandler.html#STStreamFieldSetCallback">*STStreamFieldSetCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, <a href="streamtuner-st-handler-field-api.html#STHandlerField">STHandlerField</a> *field, const GValue *value, gpointer data); gboolean (<a href="streamtuner-STHandler.html#STStreamModifyCallback">*STStreamModifyCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, GSList *fields, GSList *values, gpointer data, GError **err); gboolean (<a href="streamtuner-STHandler.html#STStreamDeleteCallback">*STStreamDeleteCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err); void (<a href="streamtuner-STHandler.html#STStreamFreeCallback">*STStreamFreeCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data); gboolean (<a href="streamtuner-STHandler.html#STStreamResolveCallback">*STStreamResolveCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err); gboolean (<a href="streamtuner-STHandler.html#STStreamTuneInCallback">*STStreamTuneInCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err); gboolean (<a href="streamtuner-STHandler.html#STStreamRecordCallback">*STStreamRecordCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err); gboolean (<a href="streamtuner-STHandler.html#STStreamBrowseCallback">*STStreamBrowseCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err); gpointer (<a href="streamtuner-STHandler.html#STThreadBeginCallback">*STThreadBeginCallback</a>) (gpointer data); void (<a href="streamtuner-STHandler.html#STThreadEndCallback">*STThreadEndCallback</a>) (gpointer thread_data, gpointer data); gboolean (<a href="streamtuner-STHandler.html#STStreamTuneInMultipleCallback">*STStreamTuneInMultipleCallback</a>) (GSList *streams, gpointer data, GError **err); void (<a href="streamtuner-STHandler.html#STStreamStockFieldGetCallback">*STStreamStockFieldGetCallback</a>) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, <a href="streamtuner-STHandler.html#STHandlerStockField">STHandlerStockField</a> stock_field, GValue *value, gpointer data); GtkWidget* (<a href="streamtuner-STHandler.html#STHandlerPreferencesWidgetNewCallback">*STHandlerPreferencesWidgetNewCallback</a>) (gpointer data); <a href="streamtuner-STHandler.html#STHandler">STHandler</a>* <a href="streamtuner-STHandler.html#st-handler-new">st_handler_new</a> (const char *name); <a href="streamtuner-STHandler.html#STHandler">STHandler</a>* <a href="streamtuner-STHandler.html#st-handler-new-from-plugin">st_handler_new_from_plugin</a> (<a href="streamtuner-STPlugin.html#STPlugin">STPlugin</a> *plugin); void <a href="streamtuner-STHandler.html#st-handler-set-label">st_handler_set_label</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *label); void <a href="streamtuner-STHandler.html#st-handler-set-description">st_handler_set_description</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *description); void <a href="streamtuner-STHandler.html#st-handler-set-home">st_handler_set_home</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *home); void <a href="streamtuner-STHandler.html#st-handler-set-icon-from-pixbuf">st_handler_set_icon_from_pixbuf</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, GdkPixbuf *pixbuf); void <a href="streamtuner-STHandler.html#st-handler-set-stock-categories">st_handler_set_stock_categories</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, GNode *categories); void <a href="streamtuner-STHandler.html#st-handler-set-flags">st_handler_set_flags</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-STHandler.html#STHandlerFlags">STHandlerFlags</a> flags); void <a href="streamtuner-STHandler.html#st-handler-set-stream-version">st_handler_set_stream_version</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, int version); void <a href="streamtuner-STHandler.html#st-handler-add-field">st_handler_add_field</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-st-handler-field-api.html#STHandlerField">STHandlerField</a> *field); void <a href="streamtuner-STHandler.html#st-handler-bind">st_handler_bind</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-STHandler.html#STHandlerEvent">STHandlerEvent</a> event, gpointer cb, gpointer data); void <a href="streamtuner-STHandler.html#st-handler-notice">st_handler_notice</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *format, ...); void <a href="streamtuner-STHandler.html#st-handler-config-register">st_handler_config_register</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, GParamSpec *pspec); GParamSpec* <a href="streamtuner-STHandler.html#st-handler-config-lookup">st_handler_config_lookup</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void (<a href="streamtuner-STHandler.html#STHandlerConfigForeachCallback">*STHandlerConfigForeachCallback</a>) (GParamSpec *pspec, const GValue *value, gpointer data); void <a href="streamtuner-STHandler.html#st-handler-config-foreach">st_handler_config_foreach</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-STHandler.html#STHandlerConfigForeachCallback">STHandlerConfigForeachCallback</a> cb, gpointer data); void <a href="streamtuner-STHandler.html#st-handler-config-get-value">st_handler_config_get_value</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, GValue *value); void <a href="streamtuner-STHandler.html#st-handler-config-set-value">st_handler_config_set_value</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, const GValue *value); gboolean <a href="streamtuner-STHandler.html#st-handler-config-get-boolean">st_handler_config_get_boolean</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void <a href="streamtuner-STHandler.html#st-handler-config-set-boolean">st_handler_config_set_boolean</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, gboolean value); int <a href="streamtuner-STHandler.html#st-handler-config-get-int">st_handler_config_get_int</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void <a href="streamtuner-STHandler.html#st-handler-config-set-int">st_handler_config_set_int</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, int value); unsigned int <a href="streamtuner-STHandler.html#st-handler-config-get-uint">st_handler_config_get_uint</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void <a href="streamtuner-STHandler.html#st-handler-config-set-uint">st_handler_config_set_uint</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, unsigned int value); double <a href="streamtuner-STHandler.html#st-handler-config-get-double">st_handler_config_get_double</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void <a href="streamtuner-STHandler.html#st-handler-config-set-double">st_handler_config_set_double</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, double value); char* <a href="streamtuner-STHandler.html#st-handler-config-get-string">st_handler_config_get_string</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void <a href="streamtuner-STHandler.html#st-handler-config-set-string">st_handler_config_set_string</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, const char *value); GValueArray* <a href="streamtuner-STHandler.html#st-handler-config-get-value-array">st_handler_config_get_value_array</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key); void <a href="streamtuner-STHandler.html#st-handler-config-set-value-array">st_handler_config_set_value_array</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, const GValueArray *value); void <a href="streamtuner-STHandler.html#st-handler-set-copyright">st_handler_set_copyright</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *copyright); void <a href="streamtuner-STHandler.html#st-handler-set-info">st_handler_set_info</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *label, const char *copyright); void <a href="streamtuner-STHandler.html#st-handler-set-icon">st_handler_set_icon</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, int size, const guint8 *data); void <a href="streamtuner-STHandler.html#st-handler-set-icon-from-inline">st_handler_set_icon_from_inline</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, int size, const guint8 *data); gboolean <a href="streamtuner-STHandler.html#st-handler-set-icon-from-file">st_handler_set_icon_from_file</a> (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *filename, GError **err); #define <a href="streamtuner-STHandler.html#ST-HANDLER-EVENT-REFRESH-CAPS">ST_HANDLER_EVENT_REFRESH</a> #define <a href="streamtuner-STHandler.html#ST-HANDLER-EVENT-REFRESH-MULTIPLE-CAPS">ST_HANDLER_EVENT_REFRESH_MULTIPLE</a> #define <a href="streamtuner-STHandler.html#N-ST-HANDLER-EVENTS-CAPS">N_ST_HANDLER_EVENTS</a> typedef <a href="streamtuner-STHandler.html#STHandlerRefreshCallback">STHandlerRefreshCallback</a>; typedef <a href="streamtuner-STHandler.html#STHandlerRefreshMultipleCallback">STHandlerRefreshMultipleCallback</a>; </pre></div><div class="refsect1" lang="en"><a name="id2604440"></a><h2>Description</h2><p> </p></div><div class="refsect1" lang="en"><a name="id2604518"></a><h2>Details</h2><div class="refsect2" lang="en"><a name="id2604523"></a><h3><a name="STHandler"></a>struct STHandler</h3><a class="indexterm" name="id2604532"></a><pre class="programlisting">struct STHandler { GObject object; STHandlerPrivate *priv; }; </pre><p> </p></div><hr><div class="refsect2" lang="en"><a name="id2604546"></a><h3><a name="STHandlerFlags"></a>enum STHandlerFlags</h3><a class="indexterm" name="id2604554"></a><pre class="programlisting">typedef enum { ST_HANDLER_NO_CATEGORIES = 1 << 0, ST_HANDLER_CONFIRM_DELETION = 1 << 1 } STHandlerFlags; </pre><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ST_HANDLER_NO_CATEGORIES</tt></span></td><td>specifies that the handler has no categories. There will be no left pane in the handler tab. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_CONFIRM_DELETION</tt></span></td><td>specifies that the user should be prompted for confirmation before deleting a stream. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604600"></a><h3><a name="STHandlerStockField"></a>enum STHandlerStockField</h3><a class="indexterm" name="id2604609"></a><pre class="programlisting">typedef enum { ST_HANDLER_STOCK_FIELD_NAME, ST_HANDLER_STOCK_FIELD_GENRE, ST_HANDLER_STOCK_FIELD_DESCRIPTION, ST_HANDLER_STOCK_FIELD_HOMEPAGE, ST_HANDLER_STOCK_FIELD_URI_LIST } STHandlerStockField; </pre><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ST_HANDLER_STOCK_FIELD_NAME</tt></span></td><td>the stream name, of type <span class="type">G_TYPE_STRING</span> </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_STOCK_FIELD_GENRE</tt></span></td><td>the stream genre, of type <span class="type">G_TYPE_STRING</span> </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_STOCK_FIELD_DESCRIPTION</tt></span></td><td>the stream description, of type <span class="type">G_TYPE_STRING</span> </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_STOCK_FIELD_HOMEPAGE</tt></span></td><td>the stream homepage URL, of type <span class="type">G_TYPE_STRING</span> </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_STOCK_FIELD_URI_LIST</tt></span></td><td>the stream listen URL list, of type <span class="type">G_TYPE_VALUE_ARRAY</span> </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2604732"></a><h3><a name="STHandlerEvent"></a>enum STHandlerEvent</h3><a class="indexterm" name="id2604741"></a><pre class="programlisting">typedef enum { ST_HANDLER_EVENT_RELOAD, ST_HANDLER_EVENT_STREAM_NEW, ST_HANDLER_EVENT_STREAM_FIELD_GET, ST_HANDLER_EVENT_STREAM_FIELD_SET, ST_HANDLER_EVENT_STREAM_FREE, ST_HANDLER_EVENT_STREAM_TUNE_IN, ST_HANDLER_EVENT_STREAM_RECORD, ST_HANDLER_EVENT_STREAM_BROWSE, ST_HANDLER_EVENT_CATEGORY_NEW, ST_HANDLER_EVENT_CATEGORY_FREE, ST_HANDLER_EVENT_THREAD_BEGIN, ST_HANDLER_EVENT_THREAD_END, ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE, ST_HANDLER_EVENT_RELOAD_MULTIPLE, ST_HANDLER_EVENT_STREAM_MODIFY, ST_HANDLER_EVENT_STREAM_DELETE, ST_HANDLER_EVENT_STREAM_STOCK_FIELD_GET, ST_HANDLER_EVENT_STREAM_RESOLVE, ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW, ST_HANDLER_N_EVENTS } STHandlerEvent; </pre><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_RELOAD</tt></span></td><td>see <a href="streamtuner-STHandler.html#STHandlerReloadCallback"><span class="type">STHandlerReloadCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_NEW</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamNewCallback"><span class="type">STStreamNewCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_FIELD_GET</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamFieldGetCallback"><span class="type">STStreamFieldGetCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_FIELD_SET</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamFieldSetCallback"><span class="type">STStreamFieldSetCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_FREE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamFreeCallback"><span class="type">STStreamFreeCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_TUNE_IN</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamTuneInCallback"><span class="type">STStreamTuneInCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_RECORD</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamRecordCallback"><span class="type">STStreamRecordCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_BROWSE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamBrowseCallback"><span class="type">STStreamBrowseCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_CATEGORY_NEW</tt></span></td><td>see <a href="streamtuner-STHandler.html#STCategoryNewCallback"><span class="type">STCategoryNewCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_CATEGORY_FREE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STCategoryFreeCallback"><span class="type">STCategoryFreeCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_THREAD_BEGIN</tt></span></td><td>see <a href="streamtuner-STHandler.html#STThreadBeginCallback"><span class="type">STThreadBeginCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_THREAD_END</tt></span></td><td>see <a href="streamtuner-STHandler.html#STThreadEndCallback"><span class="type">STThreadEndCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamTuneInMultipleCallback"><span class="type">STStreamTuneInMultipleCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_RELOAD_MULTIPLE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STHandlerReloadMultipleCallback"><span class="type">STHandlerReloadMultipleCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_MODIFY</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamModifyCallback"><span class="type">STStreamModifyCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_DELETE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamDeleteCallback"><span class="type">STStreamDeleteCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_STOCK_FIELD_GET</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamStockFieldGetCallback"><span class="type">STStreamStockFieldGetCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_STREAM_RESOLVE</tt></span></td><td>see <a href="streamtuner-STHandler.html#STStreamResolveCallback"><span class="type">STStreamResolveCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW</tt></span></td><td>see <a href="streamtuner-STHandler.html#STHandlerPreferencesWidgetNewCallback"><span class="type">STHandlerPreferencesWidgetNewCallback</span></a>. </td></tr><tr><td><span class="term"><tt class="literal">ST_HANDLER_N_EVENTS</tt></span></td><td> </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605304"></a><h3><a name="STHandlerReloadCallback"></a>STHandlerReloadCallback ()</h3><a class="indexterm" name="id2605313"></a><pre class="programlisting">gboolean (*STHandlerReloadCallback) (<a href="streamtuner-st-category-api.html#STCategory">STCategory</a> *category, GNode **categories, GList **streams, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_RELOAD</span>. </p><p> The function will be called to reload the list of categories and the contents of a specific category, and should store a tree of categories at <i class="parameter"><tt>categories</tt></i>, and a list of streams for <i class="parameter"><tt>category</tt></i> at <i class="parameter"><tt>streams</tt></i> (you are giving the ownership of <i class="parameter"><tt>categories</tt></i> and <i class="parameter"><tt>streams</tt></i> to streamtuner, which will free them when no longer needed). </p><p> Note that if <span class="type">ST_HANDLER_EVENT_RELOAD_MULTIPLE</span> is bound, this function will not be called, since <span class="type">ST_HANDLER_EVENT_RELOAD_MULTIPLE</span> has priority over <span class="type">ST_HANDLER_EVENT_RELOAD</span>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>category</tt></i> :</span></td><td> the category to reload. </td></tr><tr><td><span class="term"><i class="parameter"><tt>categories</tt></i> :</span></td><td> a location to store a <span class="type">GNode</span> of categories. </td></tr><tr><td><span class="term"><i class="parameter"><tt>streams</tt></i> :</span></td><td> a location to store a <span class="type">GList</span> of streams for <i class="parameter"><tt>category</tt></i>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the reload was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605620"></a><h3><a name="STHandlerReloadMultipleCallback"></a>STHandlerReloadMultipleCallback ()</h3><a class="indexterm" name="id2605629"></a><pre class="programlisting">gboolean (*STHandlerReloadMultipleCallback) (GNode **categories, GHashTable **streams, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_RELOAD_MULTIPLE</span>. </p><p> The function will be called to reload the list of categories and streams of a directory, and should store a tree of categories at <i class="parameter"><tt>categories</tt></i>, and a hash table of streams at <i class="parameter"><tt>streams</tt></i> (you are giving the ownership of <i class="parameter"><tt>categories</tt></i> and <i class="parameter"><tt>streams</tt></i> to streamtuner, which will free them when no longer needed).</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>categories</tt></i> :</span></td><td> a location to store a <span class="type">GNode</span> of categories. </td></tr><tr><td><span class="term"><i class="parameter"><tt>streams</tt></i> :</span></td><td> a location to store a <span class="type">GHashTable</span> containing all the streams of the directory. The hash table must contain string/<span class="type">GList</span> key/value pairs, where the string is the name of a category, and the <span class="type">GList</span> is the list of streams for that category. The ownership of the hash table is given to streamtuner, which will destroy it using <tt class="function">g_hash_table_destroy()</tt> when no longer needed. If you intend to use allocated strings as keys, create the hash table using g_hash_table_new_full(g_str_hash, g_str_equal, g_free, NULL). However, never supply a destructor for the values, as streamtuner will take care of them. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the reload was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605832"></a><h3><a name="STCategoryNewCallback"></a>STCategoryNewCallback ()</h3><a class="indexterm" name="id2605841"></a><pre class="programlisting"><a href="streamtuner-st-category-api.html#STCategory">STCategory</a>* (*STCategoryNewCallback) (gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_CATEGORY_NEW</span>. </p><p> The function is used to subclass <a href="streamtuner-st-category-api.html#STCategory"><span class="type">STCategory</span></a>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return a new <a href="streamtuner-st-category-api.html#STCategory"><span class="type">STCategory</span></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2605932"></a><h3><a name="STCategoryFreeCallback"></a>STCategoryFreeCallback ()</h3><a class="indexterm" name="id2605941"></a><pre class="programlisting">void (*STCategoryFreeCallback) (<a href="streamtuner-st-category-api.html#STCategory">STCategory</a> *category, gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_CATEGORY_FREE</span>. </p><p> This function will be called to destroy a category.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>category</tt></i> :</span></td><td> a category to free. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2606097"></a><h3><a name="STStreamNewCallback"></a>STStreamNewCallback ()</h3><a class="indexterm" name="id2606105"></a><pre class="programlisting"><a href="streamtuner-st-stream-api.html#STStream">STStream</a>* (*STStreamNewCallback) (gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_NEW</span>. </p><p> The function is used to subclass <a href="streamtuner-st-stream-api.html#STStream"><span class="type">STStream</span></a>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return a new <a href="streamtuner-st-stream-api.html#STStream"><span class="type">STStream</span></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2606265"></a><h3><a name="STStreamFieldGetCallback"></a>STStreamFieldGetCallback ()</h3><a class="indexterm" name="id2606274"></a><pre class="programlisting">void (*STStreamFieldGetCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, <a href="streamtuner-st-handler-field-api.html#STHandlerField">STHandlerField</a> *field, GValue *value, gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_FIELD_GET</span>. </p><p> The function will be called when streamtuner needs to get the value of a stream field.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>field</tt></i> :</span></td><td> a field to get the value of. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> a value (initialized to the type of <i class="parameter"><tt>field</tt></i>) to store the field value in. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2606406"></a><h3><a name="STStreamFieldSetCallback"></a>STStreamFieldSetCallback ()</h3><a class="indexterm" name="id2606414"></a><pre class="programlisting">void (*STStreamFieldSetCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, <a href="streamtuner-st-handler-field-api.html#STHandlerField">STHandlerField</a> *field, const GValue *value, gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_FIELD_SET</span>. </p><p> The function will be called when streamtuner needs to set the value of a stream field.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>field</tt></i> :</span></td><td> a field to set the value of. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> a value to set the value field from. The type of the value is the one passed to <a href="streamtuner-st-handler-field-api.html#st-handler-field-new"><tt class="function">st_handler_field_new()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2606549"></a><h3><a name="STStreamModifyCallback"></a>STStreamModifyCallback ()</h3><a class="indexterm" name="id2606557"></a><pre class="programlisting">gboolean (*STStreamModifyCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, GSList *fields, GSList *values, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_MODIFY</span>. </p><p> The function will be called when the user modifies a stream. The first element of <i class="parameter"><tt>values</tt></i> is the value of the first element of <i class="parameter"><tt>fields</tt></i>, and so on.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>fields</tt></i> :</span></td><td> a list of <a href="streamtuner-st-handler-field-api.html#STHandlerField"><span class="type">STHandlerField</span></a> fields to modify. </td></tr><tr><td><span class="term"><i class="parameter"><tt>values</tt></i> :</span></td><td> a list of <span class="type">GValue</span> values for <i class="parameter"><tt>fields</tt></i>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error. In such case it should also set <i class="parameter"><tt>err</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2606753"></a><h3><a name="STStreamDeleteCallback"></a>STStreamDeleteCallback ()</h3><a class="indexterm" name="id2606761"></a><pre class="programlisting">gboolean (*STStreamDeleteCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_DELETE</span>. </p><p> The function will be called when the user deletes a stream. If the <span class="type">ST_HANDLER_CONFIRM_DELETION</span> flag is set, the function will only be called if the user confirms the stream deletion.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error. In such case it should also set <i class="parameter"><tt>err</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2606898"></a><h3><a name="STStreamFreeCallback"></a>STStreamFreeCallback ()</h3><a class="indexterm" name="id2606974"></a><pre class="programlisting">void (*STStreamFreeCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_FREE</span>. </p><p> This function will be called to destroy a stream.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2607062"></a><h3><a name="STStreamResolveCallback"></a>STStreamResolveCallback ()</h3><a class="indexterm" name="id2607070"></a><pre class="programlisting">gboolean (*STStreamResolveCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_RESOLVE</span>. </p><p> The function will be called when streamtuner needs to resolve <i class="parameter"><tt>stream</tt></i> (streams should be resolved before they are bookmarked). </p><p> The function should resolve the stream in a handler-specific way (for instance, it should connect to the stream directory server and retrieve the stream URL).</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the task was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2607275"></a><h3><a name="STStreamTuneInCallback"></a>STStreamTuneInCallback ()</h3><a class="indexterm" name="id2607284"></a><pre class="programlisting">gboolean (*STStreamTuneInCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_TUNE_IN</span>. </p><p> The function will be called when the user tunes into <i class="parameter"><tt>stream</tt></i>, and should perform the action needed to tune into <i class="parameter"><tt>stream</tt></i>. </p><p> Note that if <span class="type">ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</span> is bound, this function will not be called, since <span class="type">ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</span> has priority over <span class="type">ST_HANDLER_EVENT_STREAM_TUNE_IN</span>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the task was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2607456"></a><h3><a name="STStreamRecordCallback"></a>STStreamRecordCallback ()</h3><a class="indexterm" name="id2607464"></a><pre class="programlisting">gboolean (*STStreamRecordCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_RECORD</span>. </p><p> The function will be called when the user records <i class="parameter"><tt>stream</tt></i>, and should perform the action needed to record <i class="parameter"><tt>stream</tt></i>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the task was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2607603"></a><h3><a name="STStreamBrowseCallback"></a>STStreamBrowseCallback ()</h3><a class="indexterm" name="id2607611"></a><pre class="programlisting">gboolean (*STStreamBrowseCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_BROWSE</span>. </p><p> The function will be called when the user browses the web page of <i class="parameter"><tt>stream</tt></i>, and should perform the action needed to browse the web page of <i class="parameter"><tt>stream</tt></i>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the task was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2607748"></a><h3><a name="STThreadBeginCallback"></a>STThreadBeginCallback ()</h3><a class="indexterm" name="id2607756"></a><pre class="programlisting">gpointer (*STThreadBeginCallback) (gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_THREAD_BEGIN</span>. </p><p> The function will be called after a new thread of execution has been spawned.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the returned value will be passed to <a href="streamtuner-STHandler.html#STThreadEndCallback"><tt class="function">STThreadEndCallback()</tt></a> when the thread is about to exit. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2607844"></a><h3><a name="STThreadEndCallback"></a>STThreadEndCallback ()</h3><a class="indexterm" name="id2607852"></a><pre class="programlisting">void (*STThreadEndCallback) (gpointer thread_data, gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_THREAD_END</span>. </p><p> The function will be called when a thread of execution is about to exit.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>thread_data</tt></i> :</span></td><td> data returned by <a href="streamtuner-STHandler.html#STThreadBeginCallback"><tt class="function">STThreadBeginCallback()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608016"></a><h3><a name="STStreamTuneInMultipleCallback"></a>STStreamTuneInMultipleCallback ()</h3><a class="indexterm" name="id2608025"></a><pre class="programlisting">gboolean (*STStreamTuneInMultipleCallback) (GSList *streams, gpointer data, GError **err);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</span>. </p><p> The function will be called when the user tunes into <i class="parameter"><tt>streams</tt></i>, and should perform the action needed to tune into <i class="parameter"><tt>streams</tt></i>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>streams</tt></i> :</span></td><td> a list of <a href="streamtuner-st-stream-api.html#STStream"><span class="type">STStream</span></a> streams. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return <tt class="literal">FALSE</tt> if there was an error, or if the task was cancelled by the user. Additionally, if there was an error, <i class="parameter"><tt>err</tt></i> must be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608237"></a><h3><a name="STStreamStockFieldGetCallback"></a>STStreamStockFieldGetCallback ()</h3><a class="indexterm" name="id2608247"></a><pre class="programlisting">void (*STStreamStockFieldGetCallback) (<a href="streamtuner-st-stream-api.html#STStream">STStream</a> *stream, <a href="streamtuner-STHandler.html#STHandlerStockField">STHandlerStockField</a> stock_field, GValue *value, gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_STREAM_STOCK_FIELD_GET</span>. </p><p> The function will be called when streamtuner needs to get the value of a stream stock field.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>stream</tt></i> :</span></td><td> a stream. </td></tr><tr><td><span class="term"><i class="parameter"><tt>stock_field</tt></i> :</span></td><td> a stock field to get the value of. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> a value (initialized to the type of <i class="parameter"><tt>stock_field</tt></i>) to store the stock field value in. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608380"></a><h3><a name="STHandlerPreferencesWidgetNewCallback"></a>STHandlerPreferencesWidgetNewCallback ()</h3><a class="indexterm" name="id2608393"></a><pre class="programlisting">GtkWidget* (*STHandlerPreferencesWidgetNewCallback) (gpointer data);</pre><p> Specifies the type of function to bind to <span class="type">ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW</span>. </p><p> If a function is bound to the <span class="type">ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW</span> event, a page containing the returned widget will be available in the streamtuner preferences.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the function should return a new <span class="type">GtkWidget</span>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608488"></a><h3><a name="st-handler-new"></a>st_handler_new ()</h3><a class="indexterm" name="id2608497"></a><pre class="programlisting"><a href="streamtuner-STHandler.html#STHandler">STHandler</a>* st_handler_new (const char *name);</pre><p> Creates a new <a href="streamtuner-STHandler.html#STHandler"><span class="type">STHandler</span></a>. After creating the handler, you must set its label using <a href="streamtuner-STHandler.html#st-handler-set-label"><tt class="function">st_handler_set_label()</tt></a>, add your stream fields using <a href="streamtuner-STHandler.html#st-handler-add-field"><tt class="function">st_handler_add_field()</tt></a>, and bind functions to events using <a href="streamtuner-STHandler.html#st-handler-bind"><tt class="function">st_handler_bind()</tt></a>. </p><p> Functions must be bound to <span class="type">ST_HANDLER_EVENT_STREAM_FIELD_GET</span> and <span class="type">ST_HANDLER_EVENT_STREAM_FIELD_SET</span>. Additionally, if one of the fields added with <a href="streamtuner-STHandler.html#st-handler-add-field"><tt class="function">st_handler_add_field()</tt></a> has the <span class="type">ST_HANDLER_FIELD_EDITABLE</span> flag set, a function must be bound to <span class="type">ST_HANDLER_EVENT_STREAM_MODIFY</span>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>name</tt></i> :</span></td><td> the name of the handler. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the newly created <a href="streamtuner-STHandler.html#STHandler"><span class="type">STHandler</span></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608640"></a><h3><a name="st-handler-new-from-plugin"></a>st_handler_new_from_plugin ()</h3><a class="indexterm" name="id2608648"></a><pre class="programlisting"><a href="streamtuner-STHandler.html#STHandler">STHandler</a>* st_handler_new_from_plugin (<a href="streamtuner-STPlugin.html#STPlugin">STPlugin</a> *plugin);</pre><p> Creates a new <a href="streamtuner-STHandler.html#STHandler"><span class="type">STHandler</span></a>, using the name, label and icon of <i class="parameter"><tt>plugin</tt></i>. You must set the name and label of <i class="parameter"><tt>plugin</tt></i> before calling this function.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>plugin</tt></i> :</span></td><td> a plugin to take the name, label and icon from. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the newly created <a href="streamtuner-STHandler.html#STHandler"><span class="type">STHandler</span></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608729"></a><h3><a name="st-handler-set-label"></a>st_handler_set_label ()</h3><a class="indexterm" name="id2608738"></a><pre class="programlisting">void st_handler_set_label (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *label);</pre><p> Sets the handler label, which will be used in the handler tab, and in various other places of the user interface.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>label</tt></i> :</span></td><td> the handler label. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608802"></a><h3><a name="st-handler-set-description"></a>st_handler_set_description ()</h3><a class="indexterm" name="id2608810"></a><pre class="programlisting">void st_handler_set_description (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *description);</pre><p> Sets the handler description, which will be displayed in the toolbar when the handler is selected.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>description</tt></i> :</span></td><td> the handler description. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2608874"></a><h3><a name="st-handler-set-home"></a>st_handler_set_home ()</h3><a class="indexterm" name="id2609019"></a><pre class="programlisting">void st_handler_set_home (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *home);</pre><p> Sets the home page URL of the directory handled by <i class="parameter"><tt>handler</tt></i>. Setting the home page URL will allow the user to visit the page by clicking on the toolbar link.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>home</tt></i> :</span></td><td> the handler home page URL. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609090"></a><h3><a name="st-handler-set-icon-from-pixbuf"></a>st_handler_set_icon_from_pixbuf ()</h3><a class="indexterm" name="id2609099"></a><pre class="programlisting">void st_handler_set_icon_from_pixbuf (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, GdkPixbuf *pixbuf);</pre><p> Sets the handler icon from a <span class="type">GdkPixbuf</span>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>pixbuf</tt></i> :</span></td><td> an icon. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609238"></a><h3><a name="st-handler-set-stock-categories"></a>st_handler_set_stock_categories ()</h3><a class="indexterm" name="id2609248"></a><pre class="programlisting">void st_handler_set_stock_categories (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, GNode *categories);</pre><p> Sets the handler stock categories. The "__main" category is mandatory. </p><p> Special category names: __main and __search. </p><p> The stock categories will not be saved to permanent storage.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>categories</tt></i> :</span></td><td> a tree of stock categories. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609320"></a><h3><a name="st-handler-set-flags"></a>st_handler_set_flags ()</h3><a class="indexterm" name="id2609329"></a><pre class="programlisting">void st_handler_set_flags (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-STHandler.html#STHandlerFlags">STHandlerFlags</a> flags);</pre><p> Sets the handler flags.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>flags</tt></i> :</span></td><td> the handler flags. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609393"></a><h3><a name="st-handler-set-stream-version"></a>st_handler_set_stream_version ()</h3><a class="indexterm" name="id2609402"></a><pre class="programlisting">void st_handler_set_stream_version (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, int version);</pre><p> Sets the handler stream version.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler: </td></tr><tr><td><span class="term"><i class="parameter"><tt>version</tt></i> :</span></td><td> the stream version. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609467"></a><h3><a name="st-handler-add-field"></a>st_handler_add_field ()</h3><a class="indexterm" name="id2609476"></a><pre class="programlisting">void st_handler_add_field (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-st-handler-field-api.html#STHandlerField">STHandlerField</a> *field);</pre><p> Add a stream field to <i class="parameter"><tt>handler</tt></i>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>field</tt></i> :</span></td><td> a field to add to <i class="parameter"><tt>handler</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609550"></a><h3><a name="st-handler-bind"></a>st_handler_bind ()</h3><a class="indexterm" name="id2609559"></a><pre class="programlisting">void st_handler_bind (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-STHandler.html#STHandlerEvent">STHandlerEvent</a> event, gpointer cb, gpointer data);</pre><p> Binds callback function <i class="parameter"><tt>cb</tt></i> to event <i class="parameter"><tt>event</tt></i>. If a function is already bound to <i class="parameter"><tt>cb</tt></i>, the previous binding will be overriden (only one function can be bound to an event).</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>event</tt></i> :</span></td><td> an event to bind <i class="parameter"><tt>cb</tt></i> to. </td></tr><tr><td><span class="term"><i class="parameter"><tt>cb</tt></i> :</span></td><td> a callback function to bind to <i class="parameter"><tt>event</tt></i>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data to pass to <i class="parameter"><tt>cb</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609696"></a><h3><a name="st-handler-notice"></a>st_handler_notice ()</h3><a class="indexterm" name="id2609704"></a><pre class="programlisting">void st_handler_notice (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *format, ...);</pre><p> Outputs a formatted handler notice to the standard error output.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>format</tt></i> :</span></td><td> the message format. See the <tt class="function">printf()</tt> documentation. </td></tr><tr><td><span class="term"><i class="parameter"><tt>...</tt></i> :</span></td><td> the parameters to insert into the format string. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609792"></a><h3><a name="st-handler-config-register"></a>st_handler_config_register ()</h3><a class="indexterm" name="id2609800"></a><pre class="programlisting">void st_handler_config_register (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, GParamSpec *pspec);</pre><p> Registers a new configuration key.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>pspec</tt></i> :</span></td><td> a param spec defining the configuration key to register. The param spec value type must be <span class="type">G_TYPE_BOOLEAN</span>, <span class="type">G_TYPE_INT</span>, <span class="type">G_TYPE_UINT</span>, <span class="type">G_TYPE_DOUBLE</span>, <span class="type">G_TYPE_STRING</span> or <span class="type">G_TYPE_VALUE_ARRAY</span>. The param spec flags must be <span class="type">G_PARAM_READWRITE</span>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2609978"></a><h3><a name="st-handler-config-lookup"></a>st_handler_config_lookup ()</h3><a class="indexterm" name="id2609987"></a><pre class="programlisting">GParamSpec* st_handler_config_lookup (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Looks up the <span class="type">GParamSpec</span> of a configuration key.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a configuration key. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the <span class="type">GParamSpec</span> of <i class="parameter"><tt>key</tt></i>, or <tt class="literal">NULL</tt> if no such configuration key exists. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610153"></a><h3><a name="STHandlerConfigForeachCallback"></a>STHandlerConfigForeachCallback ()</h3><a class="indexterm" name="id2610163"></a><pre class="programlisting">void (*STHandlerConfigForeachCallback) (GParamSpec *pspec, const GValue *value, gpointer data);</pre><p> Specifies the type of function to pass to <a href="streamtuner-STHandler.html#st-handler-config-foreach"><tt class="function">st_handler_config_foreach()</tt></a>. The function will be called for each key/value pair in the handler configuration database.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>pspec</tt></i> :</span></td><td> the param spec of the configuration key. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value of the configuration key. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data passed to <a href="streamtuner-STHandler.html#st-handler-config-foreach"><tt class="function">st_handler_config_foreach()</tt></a>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610265"></a><h3><a name="st-handler-config-foreach"></a>st_handler_config_foreach ()</h3><a class="indexterm" name="id2610274"></a><pre class="programlisting">void st_handler_config_foreach (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, <a href="streamtuner-STHandler.html#STHandlerConfigForeachCallback">STHandlerConfigForeachCallback</a> cb, gpointer data);</pre><p> Calls the given function for each key/value pair in the configuration database of <i class="parameter"><tt>handler</tt></i>. You must not call any other st_handler_config_* function while iterating over the database.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>cb</tt></i> :</span></td><td> a function to call for each key/value pair. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> data to pass to <i class="parameter"><tt>cb</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610369"></a><h3><a name="st-handler-config-get-value"></a>st_handler_config_get_value ()</h3><a class="indexterm" name="id2610377"></a><pre class="programlisting">void st_handler_config_get_value (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, GValue *value);</pre><p> Gets a configuration value. <i class="parameter"><tt>value</tt></i> must be zero-filled (but not initialized), and should be unset with <tt class="function">g_value_unset()</tt> when no longer needed.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> a location to copy the value of <i class="parameter"><tt>key</tt></i> to. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610490"></a><h3><a name="st-handler-config-set-value"></a>st_handler_config_set_value ()</h3><a class="indexterm" name="id2610499"></a><pre class="programlisting">void st_handler_config_set_value (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, const GValue *value);</pre><p> Sets a configuration value. <i class="parameter"><tt>value</tt></i> must match the value type of the param spec of <i class="parameter"><tt>key</tt></i>.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610603"></a><h3><a name="st-handler-config-get-boolean"></a>st_handler_config_get_boolean ()</h3><a class="indexterm" name="id2610613"></a><pre class="programlisting">gboolean st_handler_config_get_boolean (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Gets a boolean configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_BOOLEAN configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the value of <i class="parameter"><tt>key</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610702"></a><h3><a name="st-handler-config-set-boolean"></a>st_handler_config_set_boolean ()</h3><a class="indexterm" name="id2610712"></a><pre class="programlisting">void st_handler_config_set_boolean (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, gboolean value);</pre><p> Sets a boolean configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_BOOLEAN configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610874"></a><h3><a name="st-handler-config-get-int"></a>st_handler_config_get_int ()</h3><a class="indexterm" name="id2610883"></a><pre class="programlisting">int st_handler_config_get_int (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Gets a signed integer configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_INT configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the value of <i class="parameter"><tt>key</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2610972"></a><h3><a name="st-handler-config-set-int"></a>st_handler_config_set_int ()</h3><a class="indexterm" name="id2610981"></a><pre class="programlisting">void st_handler_config_set_int (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, int value);</pre><p> Sets a signed integer configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_INT configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611143"></a><h3><a name="st-handler-config-get-uint"></a>st_handler_config_get_uint ()</h3><a class="indexterm" name="id2611152"></a><pre class="programlisting">unsigned int st_handler_config_get_uint (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Gets an unsigned integer configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_UINT configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the value of <i class="parameter"><tt>key</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611242"></a><h3><a name="st-handler-config-set-uint"></a>st_handler_config_set_uint ()</h3><a class="indexterm" name="id2611251"></a><pre class="programlisting">void st_handler_config_set_uint (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, unsigned int value);</pre><p> Sets an unsigned integer configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_UINT configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611345"></a><h3><a name="st-handler-config-get-double"></a>st_handler_config_get_double ()</h3><a class="indexterm" name="id2611353"></a><pre class="programlisting">double st_handler_config_get_double (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Gets a double configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_DOUBLE configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the value of <i class="parameter"><tt>key</tt></i>. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611443"></a><h3><a name="st-handler-config-set-double"></a>st_handler_config_set_double ()</h3><a class="indexterm" name="id2611451"></a><pre class="programlisting">void st_handler_config_set_double (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, double value);</pre><p> Sets a double configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_DOUBLE configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611545"></a><h3><a name="st-handler-config-get-string"></a>st_handler_config_get_string ()</h3><a class="indexterm" name="id2611554"></a><pre class="programlisting">char* st_handler_config_get_string (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Gets a string configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_STRING configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the value of <i class="parameter"><tt>key</tt></i>. The value should be freed when no longer needed. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611644"></a><h3><a name="st-handler-config-set-string"></a>st_handler_config_set_string ()</h3><a class="indexterm" name="id2611653"></a><pre class="programlisting">void st_handler_config_set_string (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, const char *value);</pre><p> Sets a string configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_STRING configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611747"></a><h3><a name="st-handler-config-get-value-array"></a>st_handler_config_get_value_array ()</h3><a class="indexterm" name="id2611760"></a><pre class="programlisting">GValueArray* st_handler_config_get_value_array (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key);</pre><p> Gets a value array configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_VALUE_ARRAY configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> the value of <i class="parameter"><tt>key</tt></i>. The value should be freed with <tt class="function">g_value_array_free()</tt> when no longer needed. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2611926"></a><h3><a name="st-handler-config-set-value-array"></a>st_handler_config_set_value_array ()</h3><a class="indexterm" name="id2611939"></a><pre class="programlisting">void st_handler_config_set_value_array (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *key, const GValueArray *value);</pre><p> Sets a value array configuration value.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>key</tt></i> :</span></td><td> a G_TYPE_VALUE_ARRAY configuration key previously registered with <a href="streamtuner-STHandler.html#st-handler-config-register"><tt class="function">st_handler_config_register()</tt></a>. </td></tr><tr><td><span class="term"><i class="parameter"><tt>value</tt></i> :</span></td><td> the value to set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2612100"></a><h3><a name="st-handler-set-copyright"></a>st_handler_set_copyright ()</h3><a class="indexterm" name="id2612108"></a><pre class="programlisting">void st_handler_set_copyright (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *copyright);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">st_handler_set_copyright</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> </td></tr><tr><td><span class="term"><i class="parameter"><tt>copyright</tt></i> :</span></td><td> </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2612179"></a><h3><a name="st-handler-set-info"></a>st_handler_set_info ()</h3><a class="indexterm" name="id2612187"></a><pre class="programlisting">void st_handler_set_info (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *label, const char *copyright);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">st_handler_set_info</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> </td></tr><tr><td><span class="term"><i class="parameter"><tt>label</tt></i> :</span></td><td> </td></tr><tr><td><span class="term"><i class="parameter"><tt>copyright</tt></i> :</span></td><td> </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2612277"></a><h3><a name="st-handler-set-icon"></a>st_handler_set_icon ()</h3><a class="indexterm" name="id2612285"></a><pre class="programlisting">void st_handler_set_icon (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, int size, const guint8 *data);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">st_handler_set_icon</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> </td></tr><tr><td><span class="term"><i class="parameter"><tt>size</tt></i> :</span></td><td> </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2612375"></a><h3><a name="st-handler-set-icon-from-inline"></a>st_handler_set_icon_from_inline ()</h3><a class="indexterm" name="id2612385"></a><pre class="programlisting">void st_handler_set_icon_from_inline (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, int size, const guint8 *data);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">st_handler_set_icon_from_inline</tt> is deprecated and should not be used in newly-written code.</p></div><p> Sets the handler icon using inline data. See the <tt class="function">gdk_pixbuf_new_from_inline()</tt> documentation.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>size</tt></i> :</span></td><td> the size of the inline data. </td></tr><tr><td><span class="term"><i class="parameter"><tt>data</tt></i> :</span></td><td> the inline data. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2612487"></a><h3><a name="st-handler-set-icon-from-file"></a>st_handler_set_icon_from_file ()</h3><a class="indexterm" name="id2612497"></a><pre class="programlisting">gboolean st_handler_set_icon_from_file (<a href="streamtuner-STHandler.html#STHandler">STHandler</a> *handler, const char *filename, GError **err);</pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">st_handler_set_icon_from_file</tt> is deprecated and should not be used in newly-written code.</p></div><p> Sets the handler icon using an external file. See the <tt class="function">gdk_pixbuf_new_from_file()</tt> documentation.</p><p> </p><div class="variablelist"><table border="0"><col align="left" valign="top"><tbody><tr><td><span class="term"><i class="parameter"><tt>handler</tt></i> :</span></td><td> a handler. </td></tr><tr><td><span class="term"><i class="parameter"><tt>filename</tt></i> :</span></td><td> an icon file. </td></tr><tr><td><span class="term"><i class="parameter"><tt>err</tt></i> :</span></td><td> a location to store errors, or <tt class="literal">NULL</tt>. </td></tr><tr><td><span class="term"><span class="emphasis"><em>Returns</em></span> :</span></td><td> <tt class="literal">FALSE</tt> if the file could not be loaded. In such case <i class="parameter"><tt>err</tt></i> will be set. </td></tr></tbody></table></div></div><hr><div class="refsect2" lang="en"><a name="id2612627"></a><h3><a name="ST-HANDLER-EVENT-REFRESH-CAPS"></a>ST_HANDLER_EVENT_REFRESH</h3><a class="indexterm" name="id2612635"></a><pre class="programlisting">#define ST_HANDLER_EVENT_REFRESH ST_HANDLER_EVENT_RELOAD </pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">ST_HANDLER_EVENT_REFRESH</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p></div><hr><div class="refsect2" lang="en"><a name="id2612660"></a><h3><a name="ST-HANDLER-EVENT-REFRESH-MULTIPLE-CAPS"></a>ST_HANDLER_EVENT_REFRESH_MULTIPLE</h3><a class="indexterm" name="id2612673"></a><pre class="programlisting">#define ST_HANDLER_EVENT_REFRESH_MULTIPLE ST_HANDLER_EVENT_RELOAD_MULTIPLE </pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">ST_HANDLER_EVENT_REFRESH_MULTIPLE</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p></div><hr><div class="refsect2" lang="en"><a name="id2612698"></a><h3><a name="N-ST-HANDLER-EVENTS-CAPS"></a>N_ST_HANDLER_EVENTS</h3><a class="indexterm" name="id2612707"></a><pre class="programlisting">#define N_ST_HANDLER_EVENTS ST_HANDLER_N_EVENTS </pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">N_ST_HANDLER_EVENTS</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p></div><hr><div class="refsect2" lang="en"><a name="id2612731"></a><h3><a name="STHandlerRefreshCallback"></a>STHandlerRefreshCallback</h3><a class="indexterm" name="id2612740"></a><pre class="programlisting">typedef STHandlerReloadCallback STHandlerRefreshCallback; </pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">STHandlerRefreshCallback</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p></div><hr><div class="refsect2" lang="en"><a name="id2612764"></a><h3><a name="STHandlerRefreshMultipleCallback"></a>STHandlerRefreshMultipleCallback</h3><a class="indexterm" name="id2612777"></a><pre class="programlisting">typedef STHandlerReloadMultipleCallback STHandlerRefreshMultipleCallback; </pre><div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;"><h3 class="title">Warning</h3><p><tt class="literal">STHandlerRefreshMultipleCallback</tt> is deprecated and should not be used in newly-written code.</p></div><p> </p></div></div><div class="refsect1" lang="en"><a name="id2612804"></a><h2>See Also</h2><p> <a href="streamtuner-st-category-api.html#STCategory"><span class="type">STCategory</span></a>, <a href="streamtuner-st-handler-field-api.html#STHandlerField"><span class="type">STHandlerField</span></a>, <a href="streamtuner-st-handlers-api.html" title="st-handlers">st-handlers</a>, <a href="streamtuner-STPlugin.html#STPlugin"><span class="type">STPlugin</span></a>, <a href="streamtuner-st-state-api.html" title="st-state">st-state</a>, <a href="streamtuner-st-stream-api.html#STStream"><span class="type">STStream</span></a> </p></div></div><table class="navigation" width="100%" summary="Navigation footer" cellpadding="2" cellspacing="0"><tr valign="middle"><td align="left"><a accesskey="p" href="streamtuner-st-dialog-api.html"><b><< st-dialog</b></a></td><td align="right"><a accesskey="n" href="streamtuner-st-handler-field-api.html"><b>STHandlerField >></b></a></td></tr></table></body></html>