<refentry id="streamtuner-STHandler">
<refmeta>
<refentrytitle>STHandler</refentrytitle>
<manvolnum>3</manvolnum>
<refmiscinfo>STREAMTUNER Library</refmiscinfo>
</refmeta>

<refnamediv>
<refname>STHandler</refname><refpurpose>an object for handling a stream directory.</refpurpose>
</refnamediv>

<refsynopsisdiv><title>Synopsis</title>

<synopsis>



struct      <link linkend="STHandler">STHandler</link>;
enum        <link linkend="STHandlerFlags">STHandlerFlags</link>;
enum        <link linkend="STHandlerStockField">STHandlerStockField</link>;
enum        <link linkend="STHandlerEvent">STHandlerEvent</link>;
<link linkend="gboolean">gboolean</link>    (<link linkend="STHandlerReloadCallback">*STHandlerReloadCallback</link>)      (<link linkend="STCategory">STCategory</link> *category,
                                             <link linkend="GNode">GNode</link> **categories,
                                             <link linkend="GList">GList</link> **streams,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="gboolean">gboolean</link>    (<link linkend="STHandlerReloadMultipleCallback">*STHandlerReloadMultipleCallback</link>)
                                            (<link linkend="GNode">GNode</link> **categories,
                                             <link linkend="GHashTable">GHashTable</link> **streams,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="STCategory">STCategory</link>* (<link linkend="STCategoryNewCallback">*STCategoryNewCallback</link>)        (<link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        (<link linkend="STCategoryFreeCallback">*STCategoryFreeCallback</link>)       (<link linkend="STCategory">STCategory</link> *category,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="STStream">STStream</link>*   (<link linkend="STStreamNewCallback">*STStreamNewCallback</link>)          (<link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        (<link linkend="STStreamFieldGetCallback">*STStreamFieldGetCallback</link>)     (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="STHandlerField">STHandlerField</link> *field,
                                             <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        (<link linkend="STStreamFieldSetCallback">*STStreamFieldSetCallback</link>)     (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="STHandlerField">STHandlerField</link> *field,
                                             const <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamModifyCallback">*STStreamModifyCallback</link>)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="GSList">GSList</link> *fields,
                                             <link linkend="GSList">GSList</link> *values,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamDeleteCallback">*STStreamDeleteCallback</link>)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="void">void</link>        (<link linkend="STStreamFreeCallback">*STStreamFreeCallback</link>)         (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamResolveCallback">*STStreamResolveCallback</link>)      (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamTuneInCallback">*STStreamTuneInCallback</link>)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamRecordCallback">*STStreamRecordCallback</link>)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamBrowseCallback">*STStreamBrowseCallback</link>)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="gpointer">gpointer</link>    (<link linkend="STThreadBeginCallback">*STThreadBeginCallback</link>)        (<link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        (<link linkend="STThreadEndCallback">*STThreadEndCallback</link>)          (<link linkend="gpointer">gpointer</link> thread_data,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="gboolean">gboolean</link>    (<link linkend="STStreamTuneInMultipleCallback">*STStreamTuneInMultipleCallback</link>)
                                            (<link linkend="GSList">GSList</link> *streams,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);
<link linkend="void">void</link>        (<link linkend="STStreamStockFieldGetCallback">*STStreamStockFieldGetCallback</link>)
                                            (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="STHandlerStockField">STHandlerStockField</link> stock_field,
                                             <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="GtkWidget">GtkWidget</link>*  (<link linkend="STHandlerPreferencesWidgetNewCallback">*STHandlerPreferencesWidgetNewCallback</link>)
                                            (<link linkend="gpointer">gpointer</link> data);
<link linkend="STHandler">STHandler</link>*  <link linkend="st-handler-new">st_handler_new</link>                  (const <link linkend="char">char</link> *name);
<link linkend="STHandler">STHandler</link>*  <link linkend="st-handler-new-from-plugin">st_handler_new_from_plugin</link>      (<link linkend="STPlugin">STPlugin</link> *plugin);
<link linkend="void">void</link>        <link linkend="st-handler-set-label">st_handler_set_label</link>            (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *label);
<link linkend="void">void</link>        <link linkend="st-handler-set-description">st_handler_set_description</link>      (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *description);
<link linkend="void">void</link>        <link linkend="st-handler-set-home">st_handler_set_home</link>             (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *home);
<link linkend="void">void</link>        <link linkend="st-handler-set-icon-from-pixbuf">st_handler_set_icon_from_pixbuf</link> (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="GdkPixbuf">GdkPixbuf</link> *pixbuf);
<link linkend="void">void</link>        <link linkend="st-handler-set-stock-categories">st_handler_set_stock_categories</link> (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="GNode">GNode</link> *categories);
<link linkend="void">void</link>        <link linkend="st-handler-set-flags">st_handler_set_flags</link>            (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerFlags">STHandlerFlags</link> flags);
<link linkend="void">void</link>        <link linkend="st-handler-set-stream-version">st_handler_set_stream_version</link>   (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="int">int</link> version);
<link linkend="void">void</link>        <link linkend="st-handler-add-field">st_handler_add_field</link>            (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerField">STHandlerField</link> *field);
<link linkend="void">void</link>        <link linkend="st-handler-bind">st_handler_bind</link>                 (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerEvent">STHandlerEvent</link> event,
                                             <link linkend="gpointer">gpointer</link> cb,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        <link linkend="st-handler-notice">st_handler_notice</link>               (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *format,
                                             ...);
<link linkend="void">void</link>        <link linkend="st-handler-config-register">st_handler_config_register</link>      (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="GParamSpec">GParamSpec</link> *pspec);
<link linkend="GParamSpec">GParamSpec</link>* <link linkend="st-handler-config-lookup">st_handler_config_lookup</link>        (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        (<link linkend="STHandlerConfigForeachCallback">*STHandlerConfigForeachCallback</link>)
                                            (<link linkend="GParamSpec">GParamSpec</link> *pspec,
                                             const <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        <link linkend="st-handler-config-foreach">st_handler_config_foreach</link>       (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerConfigForeachCallback">STHandlerConfigForeachCallback</link> cb,
                                             <link linkend="gpointer">gpointer</link> data);
<link linkend="void">void</link>        <link linkend="st-handler-config-get-value">st_handler_config_get_value</link>     (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="GValue">GValue</link> *value);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-value">st_handler_config_set_value</link>     (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             const <link linkend="GValue">GValue</link> *value);
<link linkend="gboolean">gboolean</link>    <link linkend="st-handler-config-get-boolean">st_handler_config_get_boolean</link>   (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-boolean">st_handler_config_set_boolean</link>   (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="gboolean">gboolean</link> value);
<link linkend="int">int</link>         <link linkend="st-handler-config-get-int">st_handler_config_get_int</link>       (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-int">st_handler_config_set_int</link>       (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="int">int</link> value);
unsigned <link linkend="int">int</link> <link linkend="st-handler-config-get-uint">st_handler_config_get_uint</link>     (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-uint">st_handler_config_set_uint</link>      (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             unsigned <link linkend="int">int</link> value);
<link linkend="double">double</link>      <link linkend="st-handler-config-get-double">st_handler_config_get_double</link>    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-double">st_handler_config_set_double</link>    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="double">double</link> value);
<link linkend="char">char</link>*       <link linkend="st-handler-config-get-string">st_handler_config_get_string</link>    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-string">st_handler_config_set_string</link>    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             const <link linkend="char">char</link> *value);
<link linkend="GValueArray">GValueArray</link>* <link linkend="st-handler-config-get-value-array">st_handler_config_get_value_array</link>
                                            (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);
<link linkend="void">void</link>        <link linkend="st-handler-config-set-value-array">st_handler_config_set_value_array</link>
                                            (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             const <link linkend="GValueArray">GValueArray</link> *value);
<link linkend="void">void</link>        <link linkend="st-handler-set-copyright">st_handler_set_copyright</link>        (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *copyright);
<link linkend="void">void</link>        <link linkend="st-handler-set-info">st_handler_set_info</link>             (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *label,
                                             const <link linkend="char">char</link> *copyright);
<link linkend="void">void</link>        <link linkend="st-handler-set-icon">st_handler_set_icon</link>             (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="int">int</link> size,
                                             const <link linkend="guint8">guint8</link> *data);
<link linkend="void">void</link>        <link linkend="st-handler-set-icon-from-inline">st_handler_set_icon_from_inline</link> (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="int">int</link> size,
                                             const <link linkend="guint8">guint8</link> *data);
<link linkend="gboolean">gboolean</link>    <link linkend="st-handler-set-icon-from-file">st_handler_set_icon_from_file</link>   (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *filename,
                                             <link linkend="GError">GError</link> **err);
#define     <link linkend="ST-HANDLER-EVENT-REFRESH-CAPS">ST_HANDLER_EVENT_REFRESH</link>
#define     <link linkend="ST-HANDLER-EVENT-REFRESH-MULTIPLE-CAPS">ST_HANDLER_EVENT_REFRESH_MULTIPLE</link>
#define     <link linkend="N-ST-HANDLER-EVENTS-CAPS">N_ST_HANDLER_EVENTS</link>
typedef     <link linkend="STHandlerRefreshCallback">STHandlerRefreshCallback</link>;
typedef     <link linkend="STHandlerRefreshMultipleCallback">STHandlerRefreshMultipleCallback</link>;

</synopsis>
</refsynopsisdiv>









<refsect1>
<title>Description</title>
<para>

</para>
</refsect1>

<refsect1>
<title>Details</title>
<refsect2>
<title><anchor id="STHandler"/>struct STHandler</title>
<indexterm><primary>STHandler</primary></indexterm><programlisting>struct STHandler {

  GObject		object;

  STHandlerPrivate	*priv;
};
</programlisting>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="STHandlerFlags"/>enum STHandlerFlags</title>
<indexterm><primary>STHandlerFlags</primary></indexterm><programlisting>typedef enum
{
  ST_HANDLER_NO_CATEGORIES		= 1 &lt;&lt; 0,
  ST_HANDLER_CONFIRM_DELETION		= 1 &lt;&lt; 1
} STHandlerFlags;
</programlisting>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>ST_HANDLER_NO_CATEGORIES</literal></term>
<listitem><simpara>specifies that the handler has no
categories. There will be no left pane in the handler tab.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_CONFIRM_DELETION</literal></term>
<listitem><simpara>specifies that the user should be prompted
for confirmation before deleting a stream.

</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STHandlerStockField"/>enum STHandlerStockField</title>
<indexterm><primary>STHandlerStockField</primary></indexterm><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;
</programlisting>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>ST_HANDLER_STOCK_FIELD_NAME</literal></term>
<listitem><simpara>the stream name, of type <link linkend="G-TYPE-STRING-CAPS"><type>G_TYPE_STRING</type></link>
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_STOCK_FIELD_GENRE</literal></term>
<listitem><simpara>the stream genre, of type <link linkend="G-TYPE-STRING-CAPS"><type>G_TYPE_STRING</type></link>
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_STOCK_FIELD_DESCRIPTION</literal></term>
<listitem><simpara>the stream description, of type <link linkend="G-TYPE-STRING-CAPS"><type>G_TYPE_STRING</type></link>
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_STOCK_FIELD_HOMEPAGE</literal></term>
<listitem><simpara>the stream homepage URL, of type <link linkend="G-TYPE-STRING-CAPS"><type>G_TYPE_STRING</type></link>
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_STOCK_FIELD_URI_LIST</literal></term>
<listitem><simpara>the stream listen URL list, of type <link linkend="G-TYPE-VALUE-ARRAY-CAPS"><type>G_TYPE_VALUE_ARRAY</type></link>

</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STHandlerEvent"/>enum STHandlerEvent</title>
<indexterm><primary>STHandlerEvent</primary></indexterm><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;
</programlisting>
<para>

</para><variablelist role="enum">
<varlistentry>
<term><literal>ST_HANDLER_EVENT_RELOAD</literal></term>
<listitem><simpara>see <link linkend="STHandlerReloadCallback"><type>STHandlerReloadCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_NEW</literal></term>
<listitem><simpara>see <link linkend="STStreamNewCallback"><type>STStreamNewCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_FIELD_GET</literal></term>
<listitem><simpara>see <link linkend="STStreamFieldGetCallback"><type>STStreamFieldGetCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_FIELD_SET</literal></term>
<listitem><simpara>see <link linkend="STStreamFieldSetCallback"><type>STStreamFieldSetCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_FREE</literal></term>
<listitem><simpara>see <link linkend="STStreamFreeCallback"><type>STStreamFreeCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_TUNE_IN</literal></term>
<listitem><simpara>see <link linkend="STStreamTuneInCallback"><type>STStreamTuneInCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_RECORD</literal></term>
<listitem><simpara>see <link linkend="STStreamRecordCallback"><type>STStreamRecordCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_BROWSE</literal></term>
<listitem><simpara>see <link linkend="STStreamBrowseCallback"><type>STStreamBrowseCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_CATEGORY_NEW</literal></term>
<listitem><simpara>see <link linkend="STCategoryNewCallback"><type>STCategoryNewCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_CATEGORY_FREE</literal></term>
<listitem><simpara>see <link linkend="STCategoryFreeCallback"><type>STCategoryFreeCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_THREAD_BEGIN</literal></term>
<listitem><simpara>see <link linkend="STThreadBeginCallback"><type>STThreadBeginCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_THREAD_END</literal></term>
<listitem><simpara>see <link linkend="STThreadEndCallback"><type>STThreadEndCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</literal></term>
<listitem><simpara>see <link linkend="STStreamTuneInMultipleCallback"><type>STStreamTuneInMultipleCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_RELOAD_MULTIPLE</literal></term>
<listitem><simpara>see <link linkend="STHandlerReloadMultipleCallback"><type>STHandlerReloadMultipleCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_MODIFY</literal></term>
<listitem><simpara>see <link linkend="STStreamModifyCallback"><type>STStreamModifyCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_DELETE</literal></term>
<listitem><simpara>see <link linkend="STStreamDeleteCallback"><type>STStreamDeleteCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_STOCK_FIELD_GET</literal></term>
<listitem><simpara>see <link linkend="STStreamStockFieldGetCallback"><type>STStreamStockFieldGetCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_STREAM_RESOLVE</literal></term>
<listitem><simpara>see <link linkend="STStreamResolveCallback"><type>STStreamResolveCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW</literal></term>
<listitem><simpara>see <link linkend="STHandlerPreferencesWidgetNewCallback"><type>STHandlerPreferencesWidgetNewCallback</type></link>.
</simpara></listitem>
</varlistentry>
<varlistentry>
<term><literal>ST_HANDLER_N_EVENTS</literal></term>
<listitem><simpara>

</simpara></listitem>
</varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STHandlerReloadCallback"/>STHandlerReloadCallback ()</title>
<indexterm><primary>STHandlerReloadCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STHandlerReloadCallback)      (<link linkend="STCategory">STCategory</link> *category,
                                             <link linkend="GNode">GNode</link> **categories,
                                             <link linkend="GList">GList</link> **streams,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to <link linkend="ST-HANDLER-EVENT-RELOAD-CAPS"><type>ST_HANDLER_EVENT_RELOAD</type></link>.
</para>
<para>
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 <parameter>categories</parameter>, and a list of streams for <parameter>category</parameter> at
<parameter>streams</parameter> (you are giving the ownership of <parameter>categories</parameter> and <parameter>streams</parameter>
to streamtuner, which will free them when no longer needed).
</para>
<para>
Note that if <link linkend="ST-HANDLER-EVENT-RELOAD-MULTIPLE-CAPS"><type>ST_HANDLER_EVENT_RELOAD_MULTIPLE</type></link> is bound, this
function will not be called, since
<link linkend="ST-HANDLER-EVENT-RELOAD-MULTIPLE-CAPS"><type>ST_HANDLER_EVENT_RELOAD_MULTIPLE</type></link> has priority over
<link linkend="ST-HANDLER-EVENT-RELOAD-CAPS"><type>ST_HANDLER_EVENT_RELOAD</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>category</parameter>&nbsp;:</term>
<listitem><simpara> the category to reload.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>categories</parameter>&nbsp;:</term>
<listitem><simpara> a location to store a <link linkend="GNode"><type>GNode</type></link> of categories.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>streams</parameter>&nbsp;:</term>
<listitem><simpara> a location to store a <link linkend="GList"><type>GList</type></link> of streams for <parameter>category</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the reload was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STHandlerReloadMultipleCallback"/>STHandlerReloadMultipleCallback ()</title>
<indexterm><primary>STHandlerReloadMultipleCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STHandlerReloadMultipleCallback)
                                            (<link linkend="GNode">GNode</link> **categories,
                                             <link linkend="GHashTable">GHashTable</link> **streams,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-RELOAD-MULTIPLE-CAPS"><type>ST_HANDLER_EVENT_RELOAD_MULTIPLE</type></link>.
</para>
<para>
The function will be called to reload the list of categories and
streams of a directory, and should store a tree of categories at
<parameter>categories</parameter>, and a hash table of streams at <parameter>streams</parameter> (you are
giving the ownership of <parameter>categories</parameter> and <parameter>streams</parameter> to streamtuner,
which will free them when no longer needed).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>categories</parameter>&nbsp;:</term>
<listitem><simpara> a location to store a <link linkend="GNode"><type>GNode</type></link> of categories.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>streams</parameter>&nbsp;:</term>
<listitem><simpara> a location to store a <link linkend="GHashTable"><type>GHashTable</type></link> containing all the
streams of the directory. The hash table must contain string/<link linkend="GList"><type>GList</type></link>
key/value pairs, where the string is the name of a category, and
the <link linkend="GList"><type>GList</type></link> is the list of streams for that category. The ownership
of the hash table is given to streamtuner, which will destroy it
using <link linkend="g-hash-table-destroy"><function>g_hash_table_destroy()</function></link> 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.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the reload was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STCategoryNewCallback"/>STCategoryNewCallback ()</title>
<indexterm><primary>STCategoryNewCallback</primary></indexterm><programlisting><link linkend="STCategory">STCategory</link>* (*STCategoryNewCallback)        (<link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-CATEGORY-NEW-CAPS"><type>ST_HANDLER_EVENT_CATEGORY_NEW</type></link>.
</para>
<para>
The function is used to subclass <link linkend="STCategory"><type>STCategory</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return a new <link linkend="STCategory"><type>STCategory</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STCategoryFreeCallback"/>STCategoryFreeCallback ()</title>
<indexterm><primary>STCategoryFreeCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STCategoryFreeCallback)       (<link linkend="STCategory">STCategory</link> *category,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-CATEGORY-FREE-CAPS"><type>ST_HANDLER_EVENT_CATEGORY_FREE</type></link>.
</para>
<para>
This function will be called to destroy a category.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>category</parameter>&nbsp;:</term>
<listitem><simpara> a category to free.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamNewCallback"/>STStreamNewCallback ()</title>
<indexterm><primary>STStreamNewCallback</primary></indexterm><programlisting><link linkend="STStream">STStream</link>*   (*STStreamNewCallback)          (<link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-NEW-CAPS"><type>ST_HANDLER_EVENT_STREAM_NEW</type></link>.
</para>
<para>
The function is used to subclass <link linkend="STStream"><type>STStream</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return a new <link linkend="STStream"><type>STStream</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamFieldGetCallback"/>STStreamFieldGetCallback ()</title>
<indexterm><primary>STStreamFieldGetCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STStreamFieldGetCallback)     (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="STHandlerField">STHandlerField</link> *field,
                                             <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-FIELD-GET-CAPS"><type>ST_HANDLER_EVENT_STREAM_FIELD_GET</type></link>.
</para>
<para>
The function will be called when streamtuner needs to get the value
of a stream field.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>field</parameter>&nbsp;:</term>
<listitem><simpara> a field to get the value of.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> a value (initialized to the type of <parameter>field</parameter>) to store the
field value in.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamFieldSetCallback"/>STStreamFieldSetCallback ()</title>
<indexterm><primary>STStreamFieldSetCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STStreamFieldSetCallback)     (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="STHandlerField">STHandlerField</link> *field,
                                             const <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-FIELD-SET-CAPS"><type>ST_HANDLER_EVENT_STREAM_FIELD_SET</type></link>.
</para>
<para>
The function will be called when streamtuner needs to set the value
of a stream field.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>field</parameter>&nbsp;:</term>
<listitem><simpara> a field to set the value of.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> a value to set the value field from. The type of the value
is the one passed to <link linkend="st-handler-field-new"><function>st_handler_field_new()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamModifyCallback"/>STStreamModifyCallback ()</title>
<indexterm><primary>STStreamModifyCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamModifyCallback)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="GSList">GSList</link> *fields,
                                             <link linkend="GSList">GSList</link> *values,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-MODIFY-CAPS"><type>ST_HANDLER_EVENT_STREAM_MODIFY</type></link>.
</para>
<para>
The function will be called when the user modifies a stream. The
first element of <parameter>values</parameter> is the value of the first element of
<parameter>fields</parameter>, and so on.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>fields</parameter>&nbsp;:</term>
<listitem><simpara> a list of <link linkend="STHandlerField"><type>STHandlerField</type></link> fields to modify.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>values</parameter>&nbsp;:</term>
<listitem><simpara> a list of <link linkend="GValue"><type>GValue</type></link> values for <parameter>fields</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error. In such case it should also set <parameter>err</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamDeleteCallback"/>STStreamDeleteCallback ()</title>
<indexterm><primary>STStreamDeleteCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamDeleteCallback)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-DELETE-CAPS"><type>ST_HANDLER_EVENT_STREAM_DELETE</type></link>.
</para>
<para>
The function will be called when the user deletes a stream. If the
<link linkend="ST-HANDLER-CONFIRM-DELETION-CAPS"><type>ST_HANDLER_CONFIRM_DELETION</type></link> flag is set, the function will only
be called if the user confirms the stream deletion.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error. In such case it should also set <parameter>err</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamFreeCallback"/>STStreamFreeCallback ()</title>
<indexterm><primary>STStreamFreeCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STStreamFreeCallback)         (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-FREE-CAPS"><type>ST_HANDLER_EVENT_STREAM_FREE</type></link>.
</para>
<para>
This function will be called to destroy a stream.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamResolveCallback"/>STStreamResolveCallback ()</title>
<indexterm><primary>STStreamResolveCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamResolveCallback)      (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-RESOLVE-CAPS"><type>ST_HANDLER_EVENT_STREAM_RESOLVE</type></link>.
</para>
<para>
The function will be called when streamtuner needs to resolve
<parameter>stream</parameter> (streams should be resolved before they are bookmarked).
</para>
<para>
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).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the task was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamTuneInCallback"/>STStreamTuneInCallback ()</title>
<indexterm><primary>STStreamTuneInCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamTuneInCallback)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-TUNE-IN-CAPS"><type>ST_HANDLER_EVENT_STREAM_TUNE_IN</type></link>.
</para>
<para>
The function will be called when the user tunes into <parameter>stream</parameter>, and
should perform the action needed to tune into <parameter>stream</parameter>.
</para>
<para>
Note that if <link linkend="ST-HANDLER-EVENT-STREAM-TUNE-IN-MULTIPLE-CAPS"><type>ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</type></link> is bound,
this function will not be called, since
<link linkend="ST-HANDLER-EVENT-STREAM-TUNE-IN-MULTIPLE-CAPS"><type>ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</type></link> has priority over
<link linkend="ST-HANDLER-EVENT-STREAM-TUNE-IN-CAPS"><type>ST_HANDLER_EVENT_STREAM_TUNE_IN</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the task was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamRecordCallback"/>STStreamRecordCallback ()</title>
<indexterm><primary>STStreamRecordCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamRecordCallback)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-RECORD-CAPS"><type>ST_HANDLER_EVENT_STREAM_RECORD</type></link>.
</para>
<para>
The function will be called when the user records <parameter>stream</parameter>, and
should perform the action needed to record <parameter>stream</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the task was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamBrowseCallback"/>STStreamBrowseCallback ()</title>
<indexterm><primary>STStreamBrowseCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamBrowseCallback)       (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-BROWSE-CAPS"><type>ST_HANDLER_EVENT_STREAM_BROWSE</type></link>.
</para>
<para>
The function will be called when the user browses the web page of
<parameter>stream</parameter>, and should perform the action needed to browse the web
page of <parameter>stream</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the task was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STThreadBeginCallback"/>STThreadBeginCallback ()</title>
<indexterm><primary>STThreadBeginCallback</primary></indexterm><programlisting><link linkend="gpointer">gpointer</link>    (*STThreadBeginCallback)        (<link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-THREAD-BEGIN-CAPS"><type>ST_HANDLER_EVENT_THREAD_BEGIN</type></link>.
</para>
<para>
The function will be called after a new thread of execution has
been spawned.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the returned value will be passed to
<link linkend="STThreadEndCallback"><function>STThreadEndCallback()</function></link> when the thread is about to exit.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STThreadEndCallback"/>STThreadEndCallback ()</title>
<indexterm><primary>STThreadEndCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STThreadEndCallback)          (<link linkend="gpointer">gpointer</link> thread_data,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-THREAD-END-CAPS"><type>ST_HANDLER_EVENT_THREAD_END</type></link>.
</para>
<para>
The function will be called when a thread of execution is about to
exit.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>thread_data</parameter>&nbsp;:</term>
<listitem><simpara> data returned by <link linkend="STThreadBeginCallback"><function>STThreadBeginCallback()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamTuneInMultipleCallback"/>STStreamTuneInMultipleCallback ()</title>
<indexterm><primary>STStreamTuneInMultipleCallback</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    (*STStreamTuneInMultipleCallback)
                                            (<link linkend="GSList">GSList</link> *streams,
                                             <link linkend="gpointer">gpointer</link> data,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-TUNE-IN-MULTIPLE-CAPS"><type>ST_HANDLER_EVENT_STREAM_TUNE_IN_MULTIPLE</type></link>.
</para>
<para>
The function will be called when the user tunes into <parameter>streams</parameter>, and
should perform the action needed to tune into <parameter>streams</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>streams</parameter>&nbsp;:</term>
<listitem><simpara> a list of <link linkend="STStream"><type>STStream</type></link> streams.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return <literal>FALSE</literal> if there was an
error, or if the task was cancelled by the user. Additionally, if
there was an error, <parameter>err</parameter> must be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STStreamStockFieldGetCallback"/>STStreamStockFieldGetCallback ()</title>
<indexterm><primary>STStreamStockFieldGetCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STStreamStockFieldGetCallback)
                                            (<link linkend="STStream">STStream</link> *stream,
                                             <link linkend="STHandlerStockField">STHandlerStockField</link> stock_field,
                                             <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-STREAM-STOCK-FIELD-GET-CAPS"><type>ST_HANDLER_EVENT_STREAM_STOCK_FIELD_GET</type></link>.
</para>
<para>
The function will be called when streamtuner needs to get the value
of a stream stock field.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>stream</parameter>&nbsp;:</term>
<listitem><simpara> a stream.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>stock_field</parameter>&nbsp;:</term>
<listitem><simpara> a stock field to get the value of.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> a value (initialized to the type of <parameter>stock_field</parameter>) to store
the stock field value in.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STHandlerPreferencesWidgetNewCallback"/>STHandlerPreferencesWidgetNewCallback ()</title>
<indexterm><primary>STHandlerPreferencesWidgetNewCallback</primary></indexterm><programlisting><link linkend="GtkWidget">GtkWidget</link>*  (*STHandlerPreferencesWidgetNewCallback)
                                            (<link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to bind to
<link linkend="ST-HANDLER-EVENT-PREFERENCES-WIDGET-NEW-CAPS"><type>ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW</type></link>.
</para>
<para>
If a function is bound to the
<link linkend="ST-HANDLER-EVENT-PREFERENCES-WIDGET-NEW-CAPS"><type>ST_HANDLER_EVENT_PREFERENCES_WIDGET_NEW</type></link> event, a page containing
the returned widget will be available in the streamtuner
preferences.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the function should return a new <link linkend="GtkWidget"><type>GtkWidget</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-new"/>st_handler_new ()</title>
<indexterm><primary>st_handler_new</primary></indexterm><programlisting><link linkend="STHandler">STHandler</link>*  st_handler_new                  (const <link linkend="char">char</link> *name);</programlisting>
<para>
Creates a new <link linkend="STHandler"><type>STHandler</type></link>. After creating the handler, you must set
its label using <link linkend="st-handler-set-label"><function>st_handler_set_label()</function></link>, add your stream fields
using <link linkend="st-handler-add-field"><function>st_handler_add_field()</function></link>, and bind functions to events using
<link linkend="st-handler-bind"><function>st_handler_bind()</function></link>.
</para>
<para>
Functions must be bound to <link linkend="ST-HANDLER-EVENT-STREAM-FIELD-GET-CAPS"><type>ST_HANDLER_EVENT_STREAM_FIELD_GET</type></link> and
<link linkend="ST-HANDLER-EVENT-STREAM-FIELD-SET-CAPS"><type>ST_HANDLER_EVENT_STREAM_FIELD_SET</type></link>. Additionally, if one of the
fields added with <link linkend="st-handler-add-field"><function>st_handler_add_field()</function></link> has the
<link linkend="ST-HANDLER-FIELD-EDITABLE-CAPS"><type>ST_HANDLER_FIELD_EDITABLE</type></link> flag set, a function must be bound to
<link linkend="ST-HANDLER-EVENT-STREAM-MODIFY-CAPS"><type>ST_HANDLER_EVENT_STREAM_MODIFY</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>name</parameter>&nbsp;:</term>
<listitem><simpara> the name of the handler.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created <link linkend="STHandler"><type>STHandler</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-new-from-plugin"/>st_handler_new_from_plugin ()</title>
<indexterm><primary>st_handler_new_from_plugin</primary></indexterm><programlisting><link linkend="STHandler">STHandler</link>*  st_handler_new_from_plugin      (<link linkend="STPlugin">STPlugin</link> *plugin);</programlisting>
<para>
Creates a new <link linkend="STHandler"><type>STHandler</type></link>, using the name, label and icon of
<parameter>plugin</parameter>. You must set the name and label of <parameter>plugin</parameter> before calling
this function.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>plugin</parameter>&nbsp;:</term>
<listitem><simpara> a plugin to take the name, label and icon from.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the newly created <link linkend="STHandler"><type>STHandler</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-label"/>st_handler_set_label ()</title>
<indexterm><primary>st_handler_set_label</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_label            (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *label);</programlisting>
<para>
Sets the handler label, which will be used in the handler tab, and
in various other places of the user interface.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>label</parameter>&nbsp;:</term>
<listitem><simpara> the handler label.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-description"/>st_handler_set_description ()</title>
<indexterm><primary>st_handler_set_description</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_description      (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *description);</programlisting>
<para>
Sets the handler description, which will be displayed in the
toolbar when the handler is selected.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>description</parameter>&nbsp;:</term>
<listitem><simpara> the handler description.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-home"/>st_handler_set_home ()</title>
<indexterm><primary>st_handler_set_home</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_home             (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *home);</programlisting>
<para>
Sets the home page URL of the directory handled by
<parameter>handler</parameter>. Setting the home page URL will allow the user to visit
the page by clicking on the toolbar link.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>home</parameter>&nbsp;:</term>
<listitem><simpara> the handler home page URL.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-icon-from-pixbuf"/>st_handler_set_icon_from_pixbuf ()</title>
<indexterm><primary>st_handler_set_icon_from_pixbuf</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_icon_from_pixbuf (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="GdkPixbuf">GdkPixbuf</link> *pixbuf);</programlisting>
<para>
Sets the handler icon from a <link linkend="GdkPixbuf"><type>GdkPixbuf</type></link>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pixbuf</parameter>&nbsp;:</term>
<listitem><simpara> an icon.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-stock-categories"/>st_handler_set_stock_categories ()</title>
<indexterm><primary>st_handler_set_stock_categories</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_stock_categories (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="GNode">GNode</link> *categories);</programlisting>
<para>
Sets the handler stock categories. The "__main" category is
mandatory.
</para>
<para>
Special category names: __main and __search.
</para>
<para>
The stock categories will not be saved to permanent storage.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>categories</parameter>&nbsp;:</term>
<listitem><simpara> a tree of stock categories.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-flags"/>st_handler_set_flags ()</title>
<indexterm><primary>st_handler_set_flags</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_flags            (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerFlags">STHandlerFlags</link> flags);</programlisting>
<para>
Sets the handler flags.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>flags</parameter>&nbsp;:</term>
<listitem><simpara> the handler flags.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-stream-version"/>st_handler_set_stream_version ()</title>
<indexterm><primary>st_handler_set_stream_version</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_stream_version   (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="int">int</link> version);</programlisting>
<para>
Sets the handler stream version.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler:
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>version</parameter>&nbsp;:</term>
<listitem><simpara> the stream version.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-add-field"/>st_handler_add_field ()</title>
<indexterm><primary>st_handler_add_field</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_add_field            (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerField">STHandlerField</link> *field);</programlisting>
<para>
Add a stream field to <parameter>handler</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>field</parameter>&nbsp;:</term>
<listitem><simpara> a field to add to <parameter>handler</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-bind"/>st_handler_bind ()</title>
<indexterm><primary>st_handler_bind</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_bind                 (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerEvent">STHandlerEvent</link> event,
                                             <link linkend="gpointer">gpointer</link> cb,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Binds callback function <parameter>cb</parameter> to event <parameter>event</parameter>. If a function is
already bound to <parameter>cb</parameter>, the previous binding will be overriden (only
one function can be bound to an event).</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>event</parameter>&nbsp;:</term>
<listitem><simpara> an event to bind <parameter>cb</parameter> to.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cb</parameter>&nbsp;:</term>
<listitem><simpara> a callback function to bind to <parameter>event</parameter>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data to pass to <parameter>cb</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-notice"/>st_handler_notice ()</title>
<indexterm><primary>st_handler_notice</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_notice               (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *format,
                                             ...);</programlisting>
<para>
Outputs a formatted handler notice to the standard error output.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>format</parameter>&nbsp;:</term>
<listitem><simpara> the message format. See the <link linkend="printf"><function>printf()</function></link> documentation.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>...</parameter>&nbsp;:</term>
<listitem><simpara> the parameters to insert into the format string.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-register"/>st_handler_config_register ()</title>
<indexterm><primary>st_handler_config_register</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_register      (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="GParamSpec">GParamSpec</link> *pspec);</programlisting>
<para>
Registers a new configuration key.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>pspec</parameter>&nbsp;:</term>
<listitem><simpara> a param spec defining the configuration key to
register. The param spec value type must be <link linkend="G-TYPE-BOOLEAN-CAPS"><type>G_TYPE_BOOLEAN</type></link>,
<link linkend="G-TYPE-INT-CAPS"><type>G_TYPE_INT</type></link>, <link linkend="G-TYPE-UINT-CAPS"><type>G_TYPE_UINT</type></link>, <link linkend="G-TYPE-DOUBLE-CAPS"><type>G_TYPE_DOUBLE</type></link>, <link linkend="G-TYPE-STRING-CAPS"><type>G_TYPE_STRING</type></link> or
<link linkend="G-TYPE-VALUE-ARRAY-CAPS"><type>G_TYPE_VALUE_ARRAY</type></link>. The param spec flags must be
<link linkend="G-PARAM-READWRITE-CAPS"><type>G_PARAM_READWRITE</type></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-lookup"/>st_handler_config_lookup ()</title>
<indexterm><primary>st_handler_config_lookup</primary></indexterm><programlisting><link linkend="GParamSpec">GParamSpec</link>* st_handler_config_lookup        (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Looks up the <link linkend="GParamSpec"><type>GParamSpec</type></link> of a configuration key.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a configuration key.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the <link linkend="GParamSpec"><type>GParamSpec</type></link> of <parameter>key</parameter>, or <literal>NULL</literal> if no such
configuration key exists.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="STHandlerConfigForeachCallback"/>STHandlerConfigForeachCallback ()</title>
<indexterm><primary>STHandlerConfigForeachCallback</primary></indexterm><programlisting><link linkend="void">void</link>        (*STHandlerConfigForeachCallback)
                                            (<link linkend="GParamSpec">GParamSpec</link> *pspec,
                                             const <link linkend="GValue">GValue</link> *value,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Specifies the type of function to pass to
<link linkend="st-handler-config-foreach"><function>st_handler_config_foreach()</function></link>. The function will be called for each
key/value pair in the handler configuration database.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>pspec</parameter>&nbsp;:</term>
<listitem><simpara> the param spec of the configuration key.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value of the configuration key.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data passed to <link linkend="st-handler-config-foreach"><function>st_handler_config_foreach()</function></link>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-foreach"/>st_handler_config_foreach ()</title>
<indexterm><primary>st_handler_config_foreach</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_foreach       (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="STHandlerConfigForeachCallback">STHandlerConfigForeachCallback</link> cb,
                                             <link linkend="gpointer">gpointer</link> data);</programlisting>
<para>
Calls the given function for each key/value pair in the
configuration database of <parameter>handler</parameter>. You must not call any other
st_handler_config_* function while iterating over the database.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>cb</parameter>&nbsp;:</term>
<listitem><simpara> a function to call for each key/value pair.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> data to pass to <parameter>cb</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-value"/>st_handler_config_get_value ()</title>
<indexterm><primary>st_handler_config_get_value</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_get_value     (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="GValue">GValue</link> *value);</programlisting>
<para>
Gets a configuration value. <parameter>value</parameter> must be zero-filled (but not
initialized), and should be unset with <link linkend="g-value-unset"><function>g_value_unset()</function></link> when no
longer needed.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> a location to copy the value of <parameter>key</parameter> to.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-value"/>st_handler_config_set_value ()</title>
<indexterm><primary>st_handler_config_set_value</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_value     (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             const <link linkend="GValue">GValue</link> *value);</programlisting>
<para>
Sets a configuration value. <parameter>value</parameter> must match the value type of the
param spec of <parameter>key</parameter>.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-boolean"/>st_handler_config_get_boolean ()</title>
<indexterm><primary>st_handler_config_get_boolean</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    st_handler_config_get_boolean   (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Gets a boolean configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_BOOLEAN configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the value of <parameter>key</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-boolean"/>st_handler_config_set_boolean ()</title>
<indexterm><primary>st_handler_config_set_boolean</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_boolean   (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="gboolean">gboolean</link> value);</programlisting>
<para>
Sets a boolean configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_BOOLEAN configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-int"/>st_handler_config_get_int ()</title>
<indexterm><primary>st_handler_config_get_int</primary></indexterm><programlisting><link linkend="int">int</link>         st_handler_config_get_int       (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Gets a signed integer configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_INT configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the value of <parameter>key</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-int"/>st_handler_config_set_int ()</title>
<indexterm><primary>st_handler_config_set_int</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_int       (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="int">int</link> value);</programlisting>
<para>
Sets a signed integer configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_INT configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-uint"/>st_handler_config_get_uint ()</title>
<indexterm><primary>st_handler_config_get_uint</primary></indexterm><programlisting>unsigned <link linkend="int">int</link> st_handler_config_get_uint     (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Gets an unsigned integer configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_UINT configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the value of <parameter>key</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-uint"/>st_handler_config_set_uint ()</title>
<indexterm><primary>st_handler_config_set_uint</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_uint      (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             unsigned <link linkend="int">int</link> value);</programlisting>
<para>
Sets an unsigned integer configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_UINT configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-double"/>st_handler_config_get_double ()</title>
<indexterm><primary>st_handler_config_get_double</primary></indexterm><programlisting><link linkend="double">double</link>      st_handler_config_get_double    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Gets a double configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_DOUBLE configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the value of <parameter>key</parameter>.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-double"/>st_handler_config_set_double ()</title>
<indexterm><primary>st_handler_config_set_double</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_double    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             <link linkend="double">double</link> value);</programlisting>
<para>
Sets a double configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_DOUBLE configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-string"/>st_handler_config_get_string ()</title>
<indexterm><primary>st_handler_config_get_string</primary></indexterm><programlisting><link linkend="char">char</link>*       st_handler_config_get_string    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Gets a string configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_STRING configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the value of <parameter>key</parameter>. The value should be freed when no
longer needed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-string"/>st_handler_config_set_string ()</title>
<indexterm><primary>st_handler_config_set_string</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_string    (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             const <link linkend="char">char</link> *value);</programlisting>
<para>
Sets a string configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_STRING configuration key previously registered with
<link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-get-value-array"/>st_handler_config_get_value_array ()</title>
<indexterm><primary>st_handler_config_get_value_array</primary></indexterm><programlisting><link linkend="GValueArray">GValueArray</link>* st_handler_config_get_value_array
                                            (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key);</programlisting>
<para>
Gets a value array configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_VALUE_ARRAY configuration key previously registered
with <link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> the value of <parameter>key</parameter>. The value should be freed with
<link linkend="g-value-array-free"><function>g_value_array_free()</function></link> when no longer needed.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-config-set-value-array"/>st_handler_config_set_value_array ()</title>
<indexterm><primary>st_handler_config_set_value_array</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_config_set_value_array
                                            (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *key,
                                             const <link linkend="GValueArray">GValueArray</link> *value);</programlisting>
<para>
Sets a value array configuration value.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>key</parameter>&nbsp;:</term>
<listitem><simpara> a G_TYPE_VALUE_ARRAY configuration key previously registered
with <link linkend="st-handler-config-register"><function>st_handler_config_register()</function></link>.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>value</parameter>&nbsp;:</term>
<listitem><simpara> the value to set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-copyright"/>st_handler_set_copyright ()</title>
<indexterm><primary>st_handler_set_copyright</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_copyright        (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *copyright);</programlisting>
<warning><para><literal>st_handler_set_copyright</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>copyright</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-info"/>st_handler_set_info ()</title>
<indexterm><primary>st_handler_set_info</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_info             (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *label,
                                             const <link linkend="char">char</link> *copyright);</programlisting>
<warning><para><literal>st_handler_set_info</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>label</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>copyright</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-icon"/>st_handler_set_icon ()</title>
<indexterm><primary>st_handler_set_icon</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_icon             (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="int">int</link> size,
                                             const <link linkend="guint8">guint8</link> *data);</programlisting>
<warning><para><literal>st_handler_set_icon</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
<listitem><simpara>
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara>


</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-icon-from-inline"/>st_handler_set_icon_from_inline ()</title>
<indexterm><primary>st_handler_set_icon_from_inline</primary></indexterm><programlisting><link linkend="void">void</link>        st_handler_set_icon_from_inline (<link linkend="STHandler">STHandler</link> *handler,
                                             <link linkend="int">int</link> size,
                                             const <link linkend="guint8">guint8</link> *data);</programlisting>
<warning><para><literal>st_handler_set_icon_from_inline</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Sets the handler icon using inline data. See the
<link linkend="gdk-pixbuf-new-from-inline"><function>gdk_pixbuf_new_from_inline()</function></link> documentation.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>size</parameter>&nbsp;:</term>
<listitem><simpara> the size of the inline data.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>data</parameter>&nbsp;:</term>
<listitem><simpara> the inline data.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="st-handler-set-icon-from-file"/>st_handler_set_icon_from_file ()</title>
<indexterm><primary>st_handler_set_icon_from_file</primary></indexterm><programlisting><link linkend="gboolean">gboolean</link>    st_handler_set_icon_from_file   (<link linkend="STHandler">STHandler</link> *handler,
                                             const <link linkend="char">char</link> *filename,
                                             <link linkend="GError">GError</link> **err);</programlisting>
<warning><para><literal>st_handler_set_icon_from_file</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>
Sets the handler icon using an external file. See the
<link linkend="gdk-pixbuf-new-from-file"><function>gdk_pixbuf_new_from_file()</function></link> documentation.</para>
<para>

</para><variablelist role="params">
<varlistentry><term><parameter>handler</parameter>&nbsp;:</term>
<listitem><simpara> a handler.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>filename</parameter>&nbsp;:</term>
<listitem><simpara> an icon file.
</simpara></listitem></varlistentry>
<varlistentry><term><parameter>err</parameter>&nbsp;:</term>
<listitem><simpara> a location to store errors, or <literal>NULL</literal>.
</simpara></listitem></varlistentry>
<varlistentry><term><emphasis>Returns</emphasis> :</term><listitem><simpara> <literal>FALSE</literal> if the file could not be loaded. In such case
<parameter>err</parameter> will be set.
</simpara></listitem></varlistentry>
</variablelist></refsect2>
<refsect2>
<title><anchor id="ST-HANDLER-EVENT-REFRESH-CAPS"/>ST_HANDLER_EVENT_REFRESH</title>
<indexterm><primary>ST_HANDLER_EVENT_REFRESH</primary></indexterm><programlisting>#define ST_HANDLER_EVENT_REFRESH		ST_HANDLER_EVENT_RELOAD
</programlisting>
<warning><para><literal>ST_HANDLER_EVENT_REFRESH</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="ST-HANDLER-EVENT-REFRESH-MULTIPLE-CAPS"/>ST_HANDLER_EVENT_REFRESH_MULTIPLE</title>
<indexterm><primary>ST_HANDLER_EVENT_REFRESH_MULTIPLE</primary></indexterm><programlisting>#define ST_HANDLER_EVENT_REFRESH_MULTIPLE	ST_HANDLER_EVENT_RELOAD_MULTIPLE
</programlisting>
<warning><para><literal>ST_HANDLER_EVENT_REFRESH_MULTIPLE</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="N-ST-HANDLER-EVENTS-CAPS"/>N_ST_HANDLER_EVENTS</title>
<indexterm><primary>N_ST_HANDLER_EVENTS</primary></indexterm><programlisting>#define N_ST_HANDLER_EVENTS			ST_HANDLER_N_EVENTS
</programlisting>
<warning><para><literal>N_ST_HANDLER_EVENTS</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="STHandlerRefreshCallback"/>STHandlerRefreshCallback</title>
<indexterm><primary>STHandlerRefreshCallback</primary></indexterm><programlisting>typedef STHandlerReloadCallback			STHandlerRefreshCallback;
</programlisting>
<warning><para><literal>STHandlerRefreshCallback</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para></refsect2>
<refsect2>
<title><anchor id="STHandlerRefreshMultipleCallback"/>STHandlerRefreshMultipleCallback</title>
<indexterm><primary>STHandlerRefreshMultipleCallback</primary></indexterm><programlisting>typedef STHandlerReloadMultipleCallback		STHandlerRefreshMultipleCallback;
</programlisting>
<warning><para><literal>STHandlerRefreshMultipleCallback</literal> is deprecated and should not be used in newly-written code.</para></warning>
<para>

</para></refsect2>

</refsect1>



<refsect1>
<title>See Also</title>
<para>
<link linkend="STCategory"><type>STCategory</type></link>, <link linkend="STHandlerField"><type>STHandlerField</type></link>, <link
linkend="streamtuner-st-handlers-api">st-handlers</link>, <link linkend="STPlugin"><type>STPlugin</type></link>,
<link linkend="streamtuner-st-state-api">st-state</link>, <link linkend="STStream"><type>STStream</type></link>
</para>
</refsect1>

</refentry>
