1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108
|
<?xml version="1.0"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"
"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [
<!ENTITY app "streamtuner">
<!ENTITY st-action SYSTEM "xml/st-action-api.xml">
<!ENTITY STCategory SYSTEM "xml/st-category-api.xml">
<!ENTITY st-dialog SYSTEM "xml/st-dialog-api.xml">
<!ENTITY STHandler SYSTEM "xml/st-handler-api.xml">
<!ENTITY STHandlerField SYSTEM "xml/st-handler-field-api.xml">
<!ENTITY st-handlers SYSTEM "xml/st-handlers-api.xml">
<!ENTITY st-m3u SYSTEM "xml/st-m3u-api.xml">
<!ENTITY st-pls SYSTEM "xml/st-pls-api.xml">
<!ENTITY STPlugin SYSTEM "xml/st-plugin-api.xml">
<!ENTITY st-programs SYSTEM "xml/st-programs-api.xml">
<!ENTITY st-re SYSTEM "xml/st-re-api.xml">
<!ENTITY st-settings SYSTEM "xml/st-settings-api.xml">
<!ENTITY st-sgml-ref SYSTEM "xml/st-sgml-ref-api.xml">
<!ENTITY st-state SYSTEM "xml/st-state-api.xml">
<!ENTITY STStream SYSTEM "xml/st-stream-api.xml">
<!ENTITY st-transfer SYSTEM "xml/st-transfer-api.xml">
<!ENTITY st-util SYSTEM "xml/st-util-api.xml">
<!ENTITY st-version SYSTEM "xml/st-version-api.xml">
]>
<book id="index">
<bookinfo>
<title>&app; Developers Manual</title>
<releaseinfo>for &app; 0.99.99 (API version 5.8)</releaseinfo>
</bookinfo>
<chapter id="overview">
<title>Overview</title>
<para>
&app; provides a framework for implementing stream directory
handlers which can be loaded from separate plugins.
</para>
<para>
The API is not orthogonal with GObject and could be cleaner, but
can nevertheless be used to easily add support for new stream
directories to streamtuner.
</para>
<section>
<title>Conventions</title>
<itemizedlist>
<listitem>
<para>
Unless noted otherwise, strings passed to functions or
used as structure members must be encoded in UTF-8.
</para>
</listitem>
<listitem>
<para>
Unless noted otherwise, strings returned by streamtuner
are encoded in UTF-8.
</para>
</listitem>
<listitem>
<para>
Handler callbacks which are susceptible to block the
application for a long period will be run in a separate
thread of execution.
</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Plugins</title>
<para>
Plugins will be looked up in
<filename class="directory"><replaceable>LIBDIR</replaceable>/streamtuner/plugins</filename>,
<filename class="directory">~/.streamtuner/plugins</filename>, and in
the directories specified in the colon-separated environment variable
<envar>STREAMTUNER_PLUGINS_PATH</envar> (in that order).
Filenames not having the system-specific shared object
extension (usually .so) will be ignored.
</para>
<para>
A plugin must define an initialization function, which is
responsible for registering one or more stream directory
handlers. See <link linkend="STPluginInitCallback">STPluginInitCallback()</link>.
</para>
</section>
</chapter>
<chapter id="api-reference">
<title>API Reference</title>
&st-action;
&STCategory;
&st-dialog;
&STHandler;
&STHandlerField;
&st-handlers;
&st-m3u;
&st-pls;
&STPlugin;
&st-programs;
&st-re;
&st-settings;
&st-sgml-ref;
&st-state;
&STStream;
&st-transfer;
&st-util;
&st-version;
</chapter>
<index/>
</book>
|