+0.20.1
+======
+
+Changes since 0.20.0:
+- Fix suspicious use of va_list in the code.
+
+Bugs fixed in this release:
+ - https://bugzilla.gnome.org/show_bug.cgi?id=689813
+
+All contributors to this release:
+ Krzesimir Nowak <krnowak@openismus.com>
+
+0.20.0
+======
+
+Changes since 0.19.4:
+- Fix Accept-Language header generation.
+- Fix some issues with Windows support on mingw64.
+
+Bugs fixed in this release:
+ - https://bugzilla.gnome.org/show_bug.cgi?id=683199
+
+All contributors to this release:
+ Jens Georg <mail@jensge.org>
+
+0.19.4
+======
+
+Changes since 0.19.3:
+- Shuffle around some test data.
+- Fix a GError leak in the linux cm.
+- Fix a leak in variable notification.
+- Clarify usage of gupnp_service_proxy_remove_notify.
+
+All contributors to this release:
+ Jens Georg <mail@jensge.org>
+ Sven Neumann <s.neumann@raumfeld.com>
+ Marcin Nowakowski <marcin.nowakowski@pure.com>
+
+0.19.3
+======
+
+Changes since 0.19.2:
+- Work-around missing notification messages.
+
+All contributors to this release:
+ Jens Georg <mail@jensge.org>
+
+0.19.2
+======
+
+Changes since 0.19.1:
+
+- Support Windows.
+- Fix searching for services in ControlPoint.
+- Drop deprecated calls to g_type_init on glib >= 2.35.
+- Fix LD_LIBRARY_PATH in make check.
+- Explicitly use IPv4 in tests.
+- Allow autogen.sh to be run out-of-tree.
+- Expose GSSDPResourceGroup of a root device.
+
+Bugs fixed in this release:
+ - https://bugzilla.gnome.org/show_bug.cgi?id=687320
+ - https://bugzilla.gnome.org/show_bug.cgi?id=687621
+ - https://bugzilla.gnome.org/show_bug.cgi?id=689028
+ - https://bugzilla.gnome.org/show_bug.cgi?id=688411
+ - https://bugzilla.gnome.org/show_bug.cgi?id=685643
+ - https://bugzilla.gnome.org/show_bug.cgi?id=682580
+ - https://bugzilla.gnome.org/show_bug.cgi?id=672830
+
+All contributors to this release:
+ Jens Georg <mail@jensge.org>
+ Theppitak Karoonboonyanan <thep@linux.thai.net>
+ Stef Walter <stefw@gnome.org>
+ Juan A. Suarez Romero <jasuarez@igalia.com>
+ Alban Browaeys <prahal@yahoo.com>
+
0.19.1
======
Changes since 0.19.0:
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69 for gupnp 0.19.1.
+# Generated by GNU Autoconf 2.69 for gupnp 0.20.1.
#
# Report bugs to <http://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp>.
#
# Identity of this package.
PACKAGE_NAME='gupnp'
PACKAGE_TARNAME='gupnp'
-PACKAGE_VERSION='0.19.1'
-PACKAGE_STRING='gupnp 0.19.1'
+PACKAGE_VERSION='0.20.1'
+PACKAGE_STRING='gupnp 0.20.1'
PACKAGE_BUGREPORT='http://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp'
PACKAGE_URL='http://www.gupnp.org/'
HAVE_NETLINK
HAVE_NETLINK_FALSE
HAVE_NETLINK_TRUE
+OS_WIN32_FALSE
+OS_WIN32_TRUE
GTHREAD_LIBS
GTHREAD_CFLAGS
LIBGUPNP_LIBS
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gupnp 0.19.1 to adapt to many kinds of systems.
+\`configure' configures gupnp 0.20.1 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gupnp 0.19.1:";;
+ short | recursive ) echo "Configuration of gupnp 0.20.1:";;
esac
cat <<\_ACEOF
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gupnp configure 0.19.1
+gupnp configure 0.20.1
generated by GNU Autoconf 2.69
Copyright (C) 2012 Free Software Foundation, Inc.
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gupnp $as_me 0.19.1, which was
+It was created by gupnp $as_me 0.20.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
$ $0 $@
# Define the identity of the package.
PACKAGE='gupnp'
- VERSION='0.19.1'
+ VERSION='0.20.1'
cat >>confdefs.h <<_ACEOF
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking operating system" >&5
$as_echo_n "checking operating system... " >&6; }
+os_win32=no
case "$target_os" in
mingw*|cygwin*)
+ os_win32=yes
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Win32" >&5
$as_echo "Win32" >&6; }
- UUID=uuid
+ UUID=
;;
darwin*)
{ $as_echo "$as_me:${as_lineno-$LINENO}: result: Darwin" >&5
fi
-
pkg_failed=no
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for GTHREAD" >&5
$as_echo_n "checking for GTHREAD... " >&6; }
fi
+ if test "x$os_win32" = "xyes"; then
+ OS_WIN32_TRUE=
+ OS_WIN32_FALSE='#'
+else
+ OS_WIN32_TRUE='#'
+ OS_WIN32_FALSE=
+fi
+
+if test "x$os_win32" = "xno"; then
# Check whether --with-context_manager was given.
if test "${with_context_manager+set}" = set; then :
with_context_manager="none"
fi
+else
+ LIBGUPNP_LIBS="$LIBGUPNP_LIBS -lrpcrt4"
+ with_context_manager="windows"
+fi
if test "x$with_context_manager" = "xnone"; then
case "$target_os" in
as_fn_error $? "conditional \"HAVE_GTEST\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
fi
+if test -z "${OS_WIN32_TRUE}" && test -z "${OS_WIN32_FALSE}"; then
+ as_fn_error $? "conditional \"OS_WIN32\" was never defined.
+Usually this means the macro was only invoked conditionally." "$LINENO" 5
+fi
if test -z "${HAVE_NETLINK_TRUE}" && test -z "${HAVE_NETLINK_FALSE}"; then
as_fn_error $? "conditional \"HAVE_NETLINK\" was never defined.
Usually this means the macro was only invoked conditionally." "$LINENO" 5
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gupnp $as_me 0.19.1, which was
+This file was extended by gupnp $as_me 0.20.1, which was
generated by GNU Autoconf 2.69. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
ac_cs_version="\\
-gupnp config.status 0.19.1
+gupnp config.status 0.20.1
configured by $0, generated by GNU Autoconf 2.69,
with options \\"\$ac_cs_config\\"
AC_PREREQ([2.64])
AC_INIT([gupnp],
- [0.19.1],
+ [0.20.1],
[http://bugzilla.gnome.org/enter_bug.cgi?product=gupnp&component=gupnp],
[gupnp],
[http://www.gupnp.org/])
AM_CONDITIONAL(HAVE_GTEST, [test x$gtest = xyes])
AC_MSG_CHECKING([operating system])
+os_win32=no
case "$target_os" in
mingw*|cygwin*)
+ os_win32=yes
AC_MSG_RESULT(Win32)
- UUID=uuid
+ UUID=
;;
darwin*)
AC_MSG_RESULT(Darwin)
libsoup-2.4 >= 2.28.2 \
libxml-2.0 \
$UUID)
-
PKG_CHECK_MODULES(GTHREAD, gthread-2.0)
-AC_ARG_WITH([context_manager],
+AM_CONDITIONAL(OS_WIN32, test "x$os_win32" = "xyes")
+if test "x$os_win32" = "xno"; then
+ AC_ARG_WITH([context_manager],
AS_HELP_STRING(
[--with-context-manager=@<:@network-manager/connman/unix/linux@:>@],
[Context Manager backend to use]),,
[with_context_manager="none"])
+else
+ LIBGUPNP_LIBS="$LIBGUPNP_LIBS -lrpcrt4"
+ with_context_manager="windows"
+fi
if test "x$with_context_manager" = "xnone"; then
case "$target_os" in
GUPnPControlPoint *cp;
/* Required initialisation */
- g_type_init ();
+ #if !GLIB_CHECK_VERSION(2,35,0)
+ g_type_init ();
+ #endif
/* Create a new GUPnP Context. By here we are using the default GLib main
context, and connecting to the current machine's default IP on an
gupnp_root_device_get_relative_location
gupnp_root_device_get_description_dir
gupnp_root_device_get_description_path
+gupnp_root_device_get_ssdp_resource_group
<SUBSECTION Standard>
GUPnPRootDeviceClass
GUPNP_ROOT_DEVICE
gupnp_context_manager_create
gupnp_context_manager_manage_control_point
gupnp_context_manager_manage_root_device
+gupnp_context_manager_get_port
<SUBSECTION Standard>
GUPnPContextManagerClass
GUPNP_CONTEXT_MANAGER
<div class="refsynopsisdiv">
<a name="GUPnPContext.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct <a class="link" href="GUPnPContext.html#GUPnPContext-struct" title="struct GUPnPContext">GUPnPContext</a>;
-<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * <a class="link" href="GUPnPContext.html#gupnp-context-new" title="gupnp_context_new ()">gupnp_context_new</a> (<em class="parameter"><code><span class="type">GMainContext</span> *main_context</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *interface</code></em>,
- <em class="parameter"><code><span class="type">guint</span> port</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
+<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * <a class="link" href="GUPnPContext.html#gupnp-context-new" title="gupnp_context_new ()">gupnp_context_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *main_context</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *iface</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPContext.html#gupnp-context-get-host-ip" title="gupnp_context_get_host_ip ()">gupnp_context_get_host_ip</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
-<span class="returnvalue">guint</span> <a class="link" href="GUPnPContext.html#gupnp-context-get-port" title="gupnp_context_get_port ()">gupnp_context_get_port</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
-<span class="returnvalue">SoupServer</span> * <a class="link" href="GUPnPContext.html#gupnp-context-get-server" title="gupnp_context_get_server ()">gupnp_context_get_server</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
-<span class="returnvalue">SoupSession</span> * <a class="link" href="GUPnPContext.html#gupnp-context-get-session" title="gupnp_context_get_session ()">gupnp_context_get_session</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GUPnPContext.html#gupnp-context-get-port" title="gupnp_context_get_port ()">gupnp_context_get_port</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
+<a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="returnvalue">SoupServer</span></a> * <a class="link" href="GUPnPContext.html#gupnp-context-get-server" title="gupnp_context_get_server ()">gupnp_context_get_server</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
+<a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="returnvalue">SoupSession</span></a> * <a class="link" href="GUPnPContext.html#gupnp-context-get-session" title="gupnp_context_get_session ()">gupnp_context_get_session</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPContext.html#gupnp-context-set-subscription-timeout" title="gupnp_context_set_subscription_timeout ()">gupnp_context_set_subscription_timeout</a>
(<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
- <em class="parameter"><code><span class="type">guint</span> timeout</code></em>);
-<span class="returnvalue">guint</span> <a class="link" href="GUPnPContext.html#gupnp-context-get-subscription-timeout" title="gupnp_context_get_subscription_timeout ()">gupnp_context_get_subscription_timeout</a>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GUPnPContext.html#gupnp-context-get-subscription-timeout" title="gupnp_context_get_subscription_timeout ()">gupnp_context_get_subscription_timeout</a>
(<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPContext.html#gupnp-context-get-default-language" title="gupnp_context_get_default_language ()">gupnp_context_get_default_language</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPContext.html#gupnp-context-set-default-language" title="gupnp_context_set_default_language ()">gupnp_context_set_default_language</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
<span class="returnvalue">void</span> <a class="link" href="GUPnPContext.html#gupnp-context-host-path" title="gupnp_context_host_path ()">gupnp_context_host_path</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *local_path</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *server_path</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPContext.html#gupnp-context-host-path-for-agent" title="gupnp_context_host_path_for_agent ()">gupnp_context_host_path_for_agent</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPContext.html#gupnp-context-host-path-for-agent" title="gupnp_context_host_path_for_agent ()">gupnp_context_host_path_for_agent</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *local_path</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *server_path</code></em>,
- <em class="parameter"><code><span class="type">GRegex</span> *user_agent</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Perl-compatible-regular-expressions.html#GRegex"><span class="type">GRegex</span></a> *user_agent</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPContext.html#gupnp-context-unhost-path" title="gupnp_context_unhost_path ()">gupnp_context_unhost_path</a> (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *server_path</code></em>);
</pre>
<div class="refsect1">
<a name="GUPnPContext.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
- +----<a href="../gssdp/GSSDPClient.html">GSSDPClient</a>
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ +----GSSDPClient
+----GUPnPContext
</pre>
</div>
<a name="GUPnPContext.implemented-interfaces"></a><h2>Implemented Interfaces</h2>
<p>
GUPnPContext implements
- GInitable.</p>
+ <a href="http://library.gnome.org/devel/gio/unstable/GInitable.html">GInitable</a>.</p>
</div>
<div class="refsect1">
<a name="GUPnPContext.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPContext.html#GUPnPContext--default-language" title='The "default-language" property'>default-language</a>" <span class="type">gchar</span>* : Read / Write / Construct
- "<a class="link" href="GUPnPContext.html#GUPnPContext--port" title='The "port" property'>port</a>" <span class="type">guint</span> : Read / Write / Construct Only
- "<a class="link" href="GUPnPContext.html#GUPnPContext--server" title='The "server" property'>server</a>" <span class="type">SoupServer</span>* : Read
- "<a class="link" href="GUPnPContext.html#GUPnPContext--session" title='The "session" property'>session</a>" <span class="type">SoupSession</span>* : Read
- "<a class="link" href="GUPnPContext.html#GUPnPContext--subscription-timeout" title='The "subscription-timeout" property'>subscription-timeout</a>" <span class="type">guint</span> : Read / Write / Construct Only
+ "<a class="link" href="GUPnPContext.html#GUPnPContext--default-language" title='The "default-language" property'>default-language</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct
+ "<a class="link" href="GUPnPContext.html#GUPnPContext--port" title='The "port" property'>port</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only
+ "<a class="link" href="GUPnPContext.html#GUPnPContext--server" title='The "server" property'>server</a>" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="type">SoupServer</span></a>* : Read
+ "<a class="link" href="GUPnPContext.html#GUPnPContext--session" title='The "session" property'>session</a>" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="type">SoupSession</span></a>* : Read
+ "<a class="link" href="GUPnPContext.html#GUPnPContext--subscription-timeout" title='The "subscription-timeout" property'>subscription-timeout</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
</p>
<p>
For debugging, it is possible to see the messages being sent and received by
-exporting <span class="type">GUPNP_DEBUG</span>.
+exporting <code class="literal">GUPNP_DEBUG</code>.
</p>
</div>
<div class="refsect1">
<hr>
<div class="refsect2">
<a name="gupnp-context-new"></a><h3>gupnp_context_new ()</h3>
-<pre class="programlisting"><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * gupnp_context_new (<em class="parameter"><code><span class="type">GMainContext</span> *main_context</code></em>,
- <em class="parameter"><code>const <span class="type">char</span> *interface</code></em>,
- <em class="parameter"><code><span class="type">guint</span> port</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * gupnp_context_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *main_context</code></em>,
+ <em class="parameter"><code>const <span class="type">char</span> *iface</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
-Create a new <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> with the specified <em class="parameter"><code>main_context</code></em>, <em class="parameter"><code>interface</code></em> and
+Create a new <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> with the specified <em class="parameter"><code>main_context</code></em>, <em class="parameter"><code>iface</code></em> and
<em class="parameter"><code>port</code></em>.
</p>
<div class="variablelist"><table border="0">
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>main_context</code></em>Â :</span></p></td>
-<td>Deprecated: 0.17.2: Always set to <code class="literal">NULL</code>. If you
-want to use a different context, use <code class="function">g_main_context_push_thread_default()</code>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<td>Deprecated: 0.17.2: Always set to <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If you
+want to use a different context, use <a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a>. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
-<td><p><span class="term"><em class="parameter"><code>interface</code></em>Â :</span></p></td>
-<td>The network interface to use, or <code class="literal">NULL</code> to
+<td><p><span class="term"><em class="parameter"><code>iface</code></em>Â :</span></p></td>
+<td>The network interface to use, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> to
auto-detect. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>A location to store a <span class="type">GError</span>, or <code class="literal">NULL</code>
+<td>A location to store a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A new <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> object, or <code class="literal">NULL</code> on an error</td>
+<td>A new <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> object, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error</td>
</tr>
</tbody>
</table></div>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">gupnp_context_get_host_ip</code> has been deprecated since version 0.12.7 and should not be used in newly-written code. The "host-ip" property has moved to the base class
-<a href="../gssdp/GSSDPClient.html"><span class="type">GSSDPClient</span></a> so newer applications should use
-<a href="../gssdp/GSSDPClient.html#gssdp-client-get-host-ip"><span class="type">gssdp_client_get_host_ip</span></a> instead.</p>
+<span class="type">GSSDPClient</span> so newer applications should use
+<span class="type">gssdp_client_get_host_ip</span> instead.</p>
</div>
<p>
Get the IP address we advertise ourselves as using.
<hr>
<div class="refsect2">
<a name="gupnp-context-get-port"></a><h3>gupnp_context_get_port ()</h3>
-<pre class="programlisting"><span class="returnvalue">guint</span> gupnp_context_get_port (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gupnp_context_get_port (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
<p>
Get the port that the SOAP server is running on.
</p>
<hr>
<div class="refsect2">
<a name="gupnp-context-get-server"></a><h3>gupnp_context_get_server ()</h3>
-<pre class="programlisting"><span class="returnvalue">SoupServer</span> * gupnp_context_get_server (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="returnvalue">SoupServer</span></a> * gupnp_context_get_server (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
<p>
-Get the <span class="type">SoupServer</span> HTTP server that GUPnP is using.
+Get the <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="type">SoupServer</span></a> HTTP server that GUPnP is using.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>The <span class="type">SoupServer</span> used by GUPnP. Do not unref this when finished. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>The <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="type">SoupServer</span></a> used by GUPnP. Do not unref this when finished. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
<hr>
<div class="refsect2">
<a name="gupnp-context-get-session"></a><h3>gupnp_context_get_session ()</h3>
-<pre class="programlisting"><span class="returnvalue">SoupSession</span> * gupnp_context_get_session (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="returnvalue">SoupSession</span></a> * gupnp_context_get_session (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
<p>
-Get the <span class="type">SoupSession</span> object that GUPnP is using.
+Get the <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="type">SoupSession</span></a> object that GUPnP is using.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>The <span class="type">SoupSession</span> used by GUPnP. Do not unref
+<td>The <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="type">SoupSession</span></a> used by GUPnP. Do not unref
this when finished. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<a name="gupnp-context-set-subscription-timeout"></a><h3>gupnp_context_set_subscription_timeout ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_context_set_subscription_timeout
(<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
- <em class="parameter"><code><span class="type">guint</span> timeout</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> timeout</code></em>);</pre>
<p>
Sets the event subscription timeout to <em class="parameter"><code>timeout</code></em>. Use 0 if you don't
want subscriptions to time out. Note that any client side subscriptions
<hr>
<div class="refsect2">
<a name="gupnp-context-get-subscription-timeout"></a><h3>gupnp_context_get_subscription_timeout ()</h3>
-<pre class="programlisting"><span class="returnvalue">guint</span> gupnp_context_get_subscription_timeout
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gupnp_context_get_subscription_timeout
(<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>);</pre>
<p>
Get the event subscription timeout (in seconds), or 0 meaning there is no
<hr>
<div class="refsect2">
<a name="gupnp-context-host-path-for-agent"></a><h3>gupnp_context_host_path_for_agent ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_context_host_path_for_agent (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_context_host_path_for_agent (<em class="parameter"><code><a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *local_path</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *server_path</code></em>,
- <em class="parameter"><code><span class="type">GRegex</span> *user_agent</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Perl-compatible-regular-expressions.html#GRegex"><span class="type">GRegex</span></a> *user_agent</code></em>);</pre>
<p>
Use this method to serve different local path to specific user-agent(s). The
path <em class="parameter"><code>server_path</code></em> must already be hosted by <em class="parameter"><code>context</code></em>.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_agent</code></em>Â :</span></p></td>
-<td>The user-agent as a <span class="type">GRegex</span>.</td>
+<td>The user-agent as a <a href="http://library.gnome.org/devel/glib/unstable/glib-Perl-compatible-regular-expressions.html#GRegex"><span class="type">GRegex</span></a>.</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> on success, <code class="literal">FALSE</code> otherwise.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
<a name="GUPnPContext.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GUPnPContext--default-language"></a><h3>The <code class="literal">"default-language"</code> property</h3>
-<pre class="programlisting"> "default-language" <span class="type">gchar</span>* : Read / Write / Construct</pre>
+<pre class="programlisting"> "default-language" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct</pre>
<p>
The content of the Content-Language header id the client
sends Accept-Language and no language-specific pages to serve
<hr>
<div class="refsect2">
<a name="GUPnPContext--port"></a><h3>The <code class="literal">"port"</code> property</h3>
-<pre class="programlisting"> "port" <span class="type">guint</span> : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "port" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only</pre>
<p>
The port to run on. Set to 0 if you don't care what port to run on.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPContext--server"></a><h3>The <code class="literal">"server"</code> property</h3>
-<pre class="programlisting"> "server" <span class="type">SoupServer</span>* : Read</pre>
+<pre class="programlisting"> "server" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="type">SoupServer</span></a>* : Read</pre>
<p>
-The <span class="type">SoupServer</span> HTTP server used by GUPnP.
+The <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupServer.html"><span class="type">SoupServer</span></a> HTTP server used by GUPnP.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GUPnPContext--session"></a><h3>The <code class="literal">"session"</code> property</h3>
-<pre class="programlisting"> "session" <span class="type">SoupSession</span>* : Read</pre>
+<pre class="programlisting"> "session" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="type">SoupSession</span></a>* : Read</pre>
<p>
-The <span class="type">SoupSession</span> object used by GUPnP.
+The <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupSession.html"><span class="type">SoupSession</span></a> object used by GUPnP.
</p>
</div>
<hr>
<div class="refsect2">
<a name="GUPnPContext--subscription-timeout"></a><h3>The <code class="literal">"subscription-timeout"</code> property</h3>
-<pre class="programlisting"> "subscription-timeout" <span class="type">guint</span> : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "subscription-timeout" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only</pre>
<p>
The preferred subscription timeout: the number of seconds after
which subscriptions are renewed. Set to '0' if subscriptions
<div class="refsynopsisdiv">
<a name="GUPnPContextManager.synopsis"></a><h2>Synopsis</h2>
<pre class="synopsis">struct <a class="link" href="GUPnPContextManager.html#GUPnPContextManager-struct" title="struct GUPnPContextManager">GUPnPContextManager</a>;
-<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-new" title="gupnp_context_manager_new ()">gupnp_context_manager_new</a> (<em class="parameter"><code><span class="type">GMainContext</span> *main_context</code></em>,
- <em class="parameter"><code><span class="type">guint</span> port</code></em>);
-<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-create" title="gupnp_context_manager_create ()">gupnp_context_manager_create</a> (<em class="parameter"><code><span class="type">guint</span> port</code></em>);
+<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-new" title="gupnp_context_manager_new ()">gupnp_context_manager_new</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *main_context</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);
+<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-create" title="gupnp_context_manager_create ()">gupnp_context_manager_create</a> (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-manage-control-point" title="gupnp_context_manager_manage_control_point ()">gupnp_context_manager_manage_control_point</a>
(<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-manage-root-device" title="gupnp_context_manager_manage_root_device ()">gupnp_context_manager_manage_root_device</a>
(<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-get-port" title="gupnp_context_manager_get_port ()">gupnp_context_manager_get_port</a> (<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPContextManager.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----GUPnPContextManager
</pre>
</div>
<div class="refsect1">
<a name="GUPnPContextManager.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager--main-context" title='The "main-context" property'>main-context</a>" <span class="type">gpointer</span> : Read / Write / Construct Only
- "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager--port" title='The "port" property'>port</a>" <span class="type">guint</span> : Read / Write / Construct Only
+ "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager--main-context" title='The "main-context" property'>main-context</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only
+ "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager--port" title='The "port" property'>port</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<a name="GUPnPContextManager.signals"></a><h2>Signals</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-available" title='The "context-available" signal'>context-available</a>" : <code class="literal">Run Last</code>
- "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-unavailable" title='The "context-unavailable" signal'>context-unavailable</a>" : <code class="literal">Run First</code>
+ "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-available" title='The "context-available" signal'>context-available</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
+ "<a class="link" href="GUPnPContextManager.html#GUPnPContextManager-context-unavailable" title='The "context-unavailable" signal'>context-unavailable</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a>
</pre>
</div>
<div class="refsect1">
<hr>
<div class="refsect2">
<a name="gupnp-context-manager-new"></a><h3>gupnp_context_manager_new ()</h3>
-<pre class="programlisting"><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * gupnp_context_manager_new (<em class="parameter"><code><span class="type">GMainContext</span> *main_context</code></em>,
- <em class="parameter"><code><span class="type">guint</span> port</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * gupnp_context_manager_new (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#GMainContext"><span class="type">GMainContext</span></a> *main_context</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
<div class="warning" style="margin-left: 0.5in; margin-right: 0.5in;">
<h3 class="title">Warning</h3>
<p><code class="literal">gupnp_context_manager_new</code> has been deprecated since version 0.17.2 and should not be used in newly-written code. Use <a class="link" href="GUPnPContextManager.html#gupnp-context-manager-create" title="gupnp_context_manager_create ()"><code class="function">gupnp_context_manager_create()</code></a>.</p>
<tbody>
<tr>
<td><p><span class="term"><em class="parameter"><code>main_context</code></em>Â :</span></p></td>
-<td>Deprecated: 0.17.2: <code class="literal">NULL</code>. If you want to use
+<td>Deprecated: 0.17.2: <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If you want to use
a different main context use
-<code class="function">g_main_context_push_thread_default()</code> instead. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-The-Main-Event-Loop.html#g-main-context-push-thread-default"><code class="function">g_main_context_push_thread_default()</code></a> instead. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<hr>
<div class="refsect2">
<a name="gupnp-context-manager-create"></a><h3>gupnp_context_manager_create ()</h3>
-<pre class="programlisting"><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * gupnp_context_manager_create (<em class="parameter"><code><span class="type">guint</span> port</code></em>);</pre>
+<pre class="programlisting"><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="returnvalue">GUPnPContextManager</span></a> * gupnp_context_manager_create (<em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> port</code></em>);</pre>
<p>
Factory-method to create a new <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a>. The final type of the
<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> depends on the compile-time selection or - in case of
</tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2">
+<a name="gupnp-context-manager-get-port"></a><h3>gupnp_context_manager_get_port ()</h3>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gupnp_context_manager_get_port (<em class="parameter"><code><a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *manager</code></em>);</pre>
+<p>
+Get the network port associated with this context manager.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>manager</code></em>Â :</span></p></td>
+<td>A <a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
+<td>The network port asssociated with this context manager.</td>
+</tr>
+</tbody>
+</table></div>
+</div>
</div>
<div class="refsect1">
<a name="GUPnPContextManager.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GUPnPContextManager--main-context"></a><h3>The <code class="literal">"main-context"</code> property</h3>
-<pre class="programlisting"> "main-context" <span class="type">gpointer</span> : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "main-context" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Read / Write / Construct Only</pre>
<p>GMainContext to pass to created GUPnPContext objects.</p>
</div>
<hr>
<div class="refsect2">
<a name="GUPnPContextManager--port"></a><h3>The <code class="literal">"port"</code> property</h3>
-<pre class="programlisting"> "port" <span class="type">guint</span> : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "port" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> : Read / Write / Construct Only</pre>
<p>
Port the contexts listen on, or 0 if you don't care what
port is used by <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> objects created by this object.
<a name="GUPnPContextManager-context-available"></a><h3>The <code class="literal">"context-available"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *context_manager,
<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
Signals the availability of new <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>.
</p>
<a name="GUPnPContextManager-context-unavailable"></a><h3>The <code class="literal">"context-unavailable"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPContextManager.html" title="GUPnPContextManager"><span class="type">GUPnPContextManager</span></a> *context_manager,
<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a> *context,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run First</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-FIRST:CAPS"><code class="literal">Run First</code></a></pre>
<p>
Signals the unavailability of a <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>.
</p>
<a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="returnvalue">GUPnPResourceFactory</span></a> * <a class="link" href="GUPnPControlPoint.html#gupnp-control-point-get-resource-factory" title="gupnp_control_point_get_resource_factory ()">gupnp_control_point_get_resource_factory</a>
(<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);
<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * <a class="link" href="GUPnPControlPoint.html#gupnp-control-point-get-context" title="gupnp_control_point_get_context ()">gupnp_control_point_get_context</a> (<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);
-const <span class="returnvalue">GList</span> * <a class="link" href="GUPnPControlPoint.html#gupnp-control-point-list-device-proxies" title="gupnp_control_point_list_device_proxies ()">gupnp_control_point_list_device_proxies</a>
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPControlPoint.html#gupnp-control-point-list-device-proxies" title="gupnp_control_point_list_device_proxies ()">gupnp_control_point_list_device_proxies</a>
(<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);
-const <span class="returnvalue">GList</span> * <a class="link" href="GUPnPControlPoint.html#gupnp-control-point-list-service-proxies" title="gupnp_control_point_list_service_proxies ()">gupnp_control_point_list_service_proxies</a>
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPControlPoint.html#gupnp-control-point-list-service-proxies" title="gupnp_control_point_list_service_proxies ()">gupnp_control_point_list_service_proxies</a>
(<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPControlPoint.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
- +----<a href="../gssdp/GSSDPResourceBrowser.html">GSSDPResourceBrowser</a>
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+ +----GSSDPResourceBrowser
+----GUPnPControlPoint
</pre>
</div>
<div class="refsect1">
<a name="GUPnPControlPoint.signals"></a><h2>Signals</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-device-proxy-available" title='The "device-proxy-available" signal'>device-proxy-available</a>" : <code class="literal">Run Last</code>
- "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-device-proxy-unavailable" title='The "device-proxy-unavailable" signal'>device-proxy-unavailable</a>" : <code class="literal">Run Last</code>
- "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-service-proxy-available" title='The "service-proxy-available" signal'>service-proxy-available</a>" : <code class="literal">Run Last</code>
- "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-service-proxy-unavailable" title='The "service-proxy-unavailable" signal'>service-proxy-unavailable</a>" : <code class="literal">Run Last</code>
+ "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-device-proxy-available" title='The "device-proxy-available" signal'>device-proxy-available</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
+ "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-device-proxy-unavailable" title='The "device-proxy-unavailable" signal'>device-proxy-unavailable</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
+ "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-service-proxy-available" title='The "service-proxy-available" signal'>service-proxy-available</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
+ "<a class="link" href="GUPnPControlPoint.html#GUPnPControlPoint-service-proxy-unavailable" title='The "service-proxy-unavailable" signal'>service-proxy-unavailable</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
</pre>
</div>
<div class="refsect1">
<a name="GUPnPControlPoint.description"></a><h2>Description</h2>
<p>
<a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> handles device and service discovery. After creating
-a control point and activating it using <a href="../gssdp/GSSDPResourceBrowser.html#gssdp-resource-browser-set-active"><code class="function">gssdp_resource_browser_set_active()</code></a>,
+a control point and activating it using <code class="function">gssdp_resource_browser_set_active()</code>,
the ::device-proxy-available, ::service-proxy-available,
::device-proxy-unavailable and ::service-proxy-unavailable signals will
be emitted whenever the availability of a device or service matching
<hr>
<div class="refsect2">
<a name="gupnp-control-point-list-device-proxies"></a><h3>gupnp_control_point_list_device_proxies ()</h3>
-<pre class="programlisting">const <span class="returnvalue">GList</span> * gupnp_control_point_list_device_proxies
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_control_point_list_device_proxies
(<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);</pre>
<p>
-Get the <span class="type">GList</span> of discovered <a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a> objects. Do not free the list
+Get the <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of discovered <a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a> objects. Do not free the list
nor its elements.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GList</span> of
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
<a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUPnP.DeviceProxy][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-control-point-list-service-proxies"></a><h3>gupnp_control_point_list_service_proxies ()</h3>
-<pre class="programlisting">const <span class="returnvalue">GList</span> * gupnp_control_point_list_service_proxies
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_control_point_list_service_proxies
(<em class="parameter"><code><a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point</code></em>);</pre>
<p>
-Get the <span class="type">GList</span> of discovered <a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> objects. Do not free the
+Get the <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of discovered <a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> objects. Do not free the
list nor its elements.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GList</span>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>
of <a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUPnP.ServiceProxy][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<a name="GUPnPControlPoint-device-proxy-available"></a><h3>The <code class="literal">"device-proxy-available"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point,
<a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a> *proxy,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::device-proxy-available signal is emitted whenever a new
device has become available.
<a name="GUPnPControlPoint-device-proxy-unavailable"></a><h3>The <code class="literal">"device-proxy-unavailable"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point,
<a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a> *proxy,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::device-proxy-unavailable signal is emitted whenever a
device is not available any more.
<a name="GUPnPControlPoint-service-proxy-available"></a><h3>The <code class="literal">"service-proxy-available"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point,
<a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::service-proxy-available signal is emitted whenever a new
service has become available.
<a name="GUPnPControlPoint-service-proxy-unavailable"></a><h3>The <code class="literal">"service-proxy-unavailable"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a> *control_point,
<a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
The ::service-proxy-unavailable signal is emitted whenever a
service is not available any more.
<div class="refsect1">
<a name="GUPnPDevice.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----<a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo">GUPnPDeviceInfo</a>
+----GUPnPDevice
+----<a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice">GUPnPRootDevice</a>
(<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *device_info</code></em>);
<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-context" title="gupnp_device_info_get_context ()">gupnp_device_info_get_context</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-location" title="gupnp_device_info_get_location ()">gupnp_device_info_get_location</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
-const <span class="returnvalue">SoupURI</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-url-base" title="gupnp_device_info_get_url_base ()">gupnp_device_info_get_url_base</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
+const <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="returnvalue">SoupURI</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-url-base" title="gupnp_device_info_get_url_base ()">gupnp_device_info_get_url_base</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-udn" title="gupnp_device_info_get_udn ()">gupnp_device_info_get_udn</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-device-type" title="gupnp_device_info_get_device_type ()">gupnp_device_info_get_device_type</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
<span class="returnvalue">char</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-friendly-name" title="gupnp_device_info_get_friendly_name ()">gupnp_device_info_get_friendly_name</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
<em class="parameter"><code><span class="type">int</span> requested_depth</code></em>,
<em class="parameter"><code><span class="type">int</span> requested_width</code></em>,
<em class="parameter"><code><span class="type">int</span> requested_height</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> prefer_bigger</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> prefer_bigger</code></em>,
<em class="parameter"><code><span class="type">char</span> **mime_type</code></em>,
<em class="parameter"><code><span class="type">int</span> *depth</code></em>,
<em class="parameter"><code><span class="type">int</span> *width</code></em>,
<em class="parameter"><code><span class="type">int</span> *height</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-dlna-capabilities" title="gupnp_device_info_list_dlna_capabilities ()">gupnp_device_info_list_dlna_capabilities</a>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-dlna-capabilities" title="gupnp_device_info_list_dlna_capabilities ()">gupnp_device_info_list_dlna_capabilities</a>
(<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
<span class="returnvalue">char</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-description-value" title="gupnp_device_info_get_description_value ()">gupnp_device_info_get_description_value</a>
(<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *element</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-devices" title="gupnp_device_info_list_devices ()">gupnp_device_info_list_devices</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-device-types" title="gupnp_device_info_list_device_types ()">gupnp_device_info_list_device_types</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-devices" title="gupnp_device_info_list_devices ()">gupnp_device_info_list_devices</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-device-types" title="gupnp_device_info_list_device_types ()">gupnp_device_info_list_device_types</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
<a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="returnvalue">GUPnPDeviceInfo</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-device" title="gupnp_device_info_get_device ()">gupnp_device_info_get_device</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *type</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-services" title="gupnp_device_info_list_services ()">gupnp_device_info_list_services</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-service-types" title="gupnp_device_info_list_service_types ()">gupnp_device_info_list_service_types</a>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-services" title="gupnp_device_info_list_services ()">gupnp_device_info_list_services</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-list-service-types" title="gupnp_device_info_list_service_types ()">gupnp_device_info_list_service_types</a>
(<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);
<a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="returnvalue">GUPnPServiceInfo</span></a> * <a class="link" href="GUPnPDeviceInfo.html#gupnp-device-info-get-service" title="gupnp_device_info_get_service ()">gupnp_device_info_get_service</a> (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *type</code></em>);
<div class="refsect1">
<a name="GUPnPDeviceInfo.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----GUPnPDeviceInfo
+----<a class="link" href="GUPnPDevice.html" title="GUPnPDevice">GUPnPDevice</a>
+----<a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy">GUPnPDeviceProxy</a>
<a name="GUPnPDeviceInfo.properties"></a><h2>Properties</h2>
<pre class="synopsis">
"<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--context" title='The "context" property'>context</a>" <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>* : Read / Write / Construct Only
- "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--device-type" title='The "device-type" property'>device-type</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--device-type" title='The "device-type" property'>device-type</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
"<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--document" title='The "document" property'>document</a>" <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>* : Write / Construct Only
- "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--element" title='The "element" property'>element</a>" <span class="type">gpointer</span> : Write / Construct Only
- "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--location" title='The "location" property'>location</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--element" title='The "element" property'>element</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Write / Construct Only
+ "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--location" title='The "location" property'>location</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
"<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--resource-factory" title='The "resource-factory" property'>resource-factory</a>" <a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a>* : Read / Write / Construct Only
- "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--udn" title='The "udn" property'>udn</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
- "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--url-base" title='The "url-base" property'>url-base</a>" <span class="type">SoupURI</span>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--udn" title='The "udn" property'>udn</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPDeviceInfo.html#GUPnPDeviceInfo--url-base" title='The "url-base" property'>url-base</a>" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>* : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<hr>
<div class="refsect2">
<a name="gupnp-device-info-get-url-base"></a><h3>gupnp_device_info_get_url_base ()</h3>
-<pre class="programlisting">const <span class="returnvalue">SoupURI</span> * gupnp_device_info_get_url_base (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
+<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="returnvalue">SoupURI</span></a> * gupnp_device_info_get_url_base (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
<p>
Get the URL base of this device.
</p>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A <span class="type">SoupURI</span>.</td>
+<td>A <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A constant string, or <code class="literal">NULL</code>.</td>
+<td>A constant string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use.</td>
+<td>A string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
<em class="parameter"><code><span class="type">int</span> requested_depth</code></em>,
<em class="parameter"><code><span class="type">int</span> requested_width</code></em>,
<em class="parameter"><code><span class="type">int</span> requested_height</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> prefer_bigger</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> prefer_bigger</code></em>,
<em class="parameter"><code><span class="type">char</span> **mime_type</code></em>,
<em class="parameter"><code><span class="type">int</span> *depth</code></em>,
<em class="parameter"><code><span class="type">int</span> *width</code></em>,
<em class="parameter"><code><span class="type">int</span> *height</code></em>);</pre>
<p>
Get a URL pointing to the icon most closely matching the
-given criteria, or <code class="literal">NULL</code>. If <em class="parameter"><code>requested_mime_type</code></em> is set, only icons with
+given criteria, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. If <em class="parameter"><code>requested_mime_type</code></em> is set, only icons with
this mime type will be returned. If <em class="parameter"><code>requested_depth</code></em> is set, only icons with
this or lower depth will be returned. If <em class="parameter"><code>requested_width</code></em> and/or
<em class="parameter"><code>requested_height</code></em> are set, only icons that are this size or smaller are
<tr>
<td><p><span class="term"><em class="parameter"><code>requested_mime_type</code></em>Â :</span></p></td>
<td>The requested file
-format, or <code class="literal">NULL</code> for any. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+format, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> for any. <span class="annotation">[<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>prefer_bigger</code></em>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if a bigger, rather than a smaller icon should be
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if a bigger, rather than a smaller icon should be
returned if no exact match could be found</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>mime_type</code></em>Â :</span></p></td>
<td>The location where to store the the format
-of the returned icon, or <code class="literal">NULL</code>. The returned string should be freed after
+of the returned icon, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. The returned string should be freed after
use. <span class="annotation">[<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>][<acronym title="NULL is ok, both for passing and for returning."><span class="acronym">allow-none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>depth</code></em>Â :</span></p></td>
<td>(out) (allow-none) : The location where to store the depth of the
-returned icon, or <code class="literal">NULL</code>
+returned icon, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>width</code></em>Â :</span></p></td>
<td>(out) (allow-none) : The location where to store the width of the
-returned icon, or <code class="literal">NULL</code>
+returned icon, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>height</code></em>Â :</span></p></td>
<td>(out) (allow-none) : The location where to store the height of the
-returned icon, or <code class="literal">NULL</code>
+returned icon, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a string, or <code class="literal">NULL</code>. <code class="function">g_free()</code> after use. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>a string, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
<hr>
<div class="refsect2">
<a name="gupnp-device-info-list-dlna-capabilities"></a><h3>gupnp_device_info_list_dlna_capabilities ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_device_info_list_dlna_capabilities
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_device_info_list_dlna_capabilities
(<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
<p>
-Get a <span class="type">GList</span> of strings that represent the device capabilities as announced
+Get a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of strings that represent the device capabilities as announced
in the device description file using the <dlna:X_DLNACAP> element.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GList</span> of newly allocated strings or
-<code class="literal">NULL</code> if the device description doesn't contain the <dlna:X_DLNACAP>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of newly allocated strings or
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device description doesn't contain the <dlna:X_DLNACAP>
element. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
</td>
</tr>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a newly allocated string or <code class="literal">NULL</code> if the device
+<td>a newly allocated string or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if the device
description doesn't contain the given <em class="parameter"><code>element</code></em>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-device-info-list-devices"></a><h3>gupnp_device_info_list_devices ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_device_info_list_devices (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_device_info_list_devices (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
<p>
-Get a <span class="type">GList</span> of new objects implementing <a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a>
+Get a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of new objects implementing <a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a>
representing the devices directly contained in <em class="parameter"><code>info</code></em>. The returned list
-should be <code class="function">g_list_free()</code>'d and the elements should be <code class="function">g_object_unref()</code>'d.
+should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>'d and the elements should be <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>'d.
</p>
<p>
Note that devices are not cached internally, so that every time you
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GList</span> of
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
new <a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> objects. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUPnP.DeviceInfo][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-device-info-list-device-types"></a><h3>gupnp_device_info_list_device_types ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_device_info_list_device_types (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_device_info_list_device_types (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
<p>
-Get a <span class="type">GList</span> of strings representing the types of the devices
+Get a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of strings representing the types of the devices
directly contained in <em class="parameter"><code>info</code></em>.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A <span class="type">GList</span> of strings. The
-elements should be <code class="function">g_free()</code>'d and the list should be <code class="function">g_list_free()</code>'d. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of strings. The
+elements should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d and the list should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>'d. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
<em class="parameter"><code>const <span class="type">char</span> *type</code></em>);</pre>
<p>
Get the service with type <em class="parameter"><code>type</code></em> directly contained in <em class="parameter"><code>info</code></em> as
-a new object implementing <a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a>, or <code class="literal">NULL</code> if no such device
+a new object implementing <a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such device
was found. The returned object should be unreffed when done.
</p>
<p>
<hr>
<div class="refsect2">
<a name="gupnp-device-info-list-services"></a><h3>gupnp_device_info_list_services ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_device_info_list_services (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_device_info_list_services (<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
<p>
-Get a <span class="type">GList</span> of new objects implementing <a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> representing the
+Get a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of new objects implementing <a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> representing the
services directly contained in <em class="parameter"><code>info</code></em>. The returned list should be
-<code class="function">g_list_free()</code>'d and the elements should be <code class="function">g_object_unref()</code>'d.
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>'d and the elements should be <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#g-object-unref"><code class="function">g_object_unref()</code></a>'d.
</p>
<p>
Note that services are not cached internally, so that every time you call
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>(element-type GUPnP.ServiceInfo) (transfer full) : A <span class="type">GList</span> of
+<td>(element-type GUPnP.ServiceInfo) (transfer full) : A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
new <a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> objects.</td>
</tr>
</tbody>
<hr>
<div class="refsect2">
<a name="gupnp-device-info-list-service-types"></a><h3>gupnp_device_info_list_service_types ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_device_info_list_service_types
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_device_info_list_service_types
(<em class="parameter"><code><a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo"><span class="type">GUPnPDeviceInfo</span></a> *info</code></em>);</pre>
<p>
-Get a <span class="type">GList</span> of strings representing the types of the services
+Get a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of strings representing the types of the services
directly contained in <em class="parameter"><code>info</code></em>.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A <span class="type">GList</span> of strings. The
-elements should be <code class="function">g_free()</code>'d and the list should be <code class="function">g_list_free()</code>'d. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of strings. The
+elements should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a>'d and the list should be <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><code class="function">g_list_free()</code></a>'d. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
<em class="parameter"><code>const <span class="type">char</span> *type</code></em>);</pre>
<p>
Get the service with type <em class="parameter"><code>type</code></em> directly contained in <em class="parameter"><code>info</code></em> as a new object
-implementing <a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a>, or <code class="literal">NULL</code> if no such device was found. The
+implementing <a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if no such device was found. The
returned object should be unreffed when done.
</p>
<p>
<hr>
<div class="refsect2">
<a name="GUPnPDeviceInfo--device-type"></a><h3>The <code class="literal">"device-type"</code> property</h3>
-<pre class="programlisting"> "device-type" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "device-type" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The device type.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPDeviceInfo--element"></a><h3>The <code class="literal">"element"</code> property</h3>
-<pre class="programlisting"> "element" <span class="type">gpointer</span> : Write / Construct Only</pre>
+<pre class="programlisting"> "element" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Write / Construct Only</pre>
<p>
Private property.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPDeviceInfo--location"></a><h3>The <code class="literal">"location"</code> property</h3>
-<pre class="programlisting"> "location" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "location" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The location of the device description file.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPDeviceInfo--udn"></a><h3>The <code class="literal">"udn"</code> property</h3>
-<pre class="programlisting"> "udn" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "udn" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The UDN of this device.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPDeviceInfo--url-base"></a><h3>The <code class="literal">"url-base"</code> property</h3>
-<pre class="programlisting"> "url-base" <span class="type">SoupURI</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "url-base" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>* : Read / Write / Construct Only</pre>
<p>
-The URL base (<span class="type">SoupURI</span>).
+The URL base (<a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>).
</p>
</div>
</div>
<div class="refsect1">
<a name="GUPnPDeviceProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----<a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo">GUPnPDeviceInfo</a>
+----GUPnPDeviceProxy
</pre>
<span class="returnvalue">void</span> <a class="link" href="GUPnPResourceFactory.html#gupnp-resource-factory-register-resource-type" title="gupnp_resource_factory_register_resource_type ()">gupnp_resource_factory_register_resource_type</a>
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPResourceFactory.html#gupnp-resource-factory-unregister-resource-type" title="gupnp_resource_factory_unregister_resource_type ()">gupnp_resource_factory_unregister_resource_type</a>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPResourceFactory.html#gupnp-resource-factory-unregister-resource-type" title="gupnp_resource_factory_unregister_resource_type ()">gupnp_resource_factory_unregister_resource_type</a>
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPResourceFactory.html#gupnp-resource-factory-register-resource-proxy-type" title="gupnp_resource_factory_register_resource_proxy_type ()">gupnp_resource_factory_register_resource_proxy_type</a>
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPResourceFactory.html#gupnp-resource-factory-unregister-resource-proxy-type" title="gupnp_resource_factory_unregister_resource_proxy_type ()">gupnp_resource_factory_unregister_resource_proxy_type</a>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPResourceFactory.html#gupnp-resource-factory-unregister-resource-proxy-type" title="gupnp_resource_factory_unregister_resource_proxy_type ()">gupnp_resource_factory_unregister_resource_proxy_type</a>
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>);
</pre>
<div class="refsect1">
<a name="GUPnPResourceFactory.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----GUPnPResourceFactory
</pre>
</div>
<p>
<a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> objects are used by <a class="link" href="GUPnPControlPoint.html" title="GUPnPControlPoint"><span class="type">GUPnPControlPoint</span></a>,
<a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a> and <a class="link" href="GUPnPDevice.html" title="GUPnPDevice"><span class="type">GUPnPDevice</span></a> to create resource proxy and resource
-objects. Register UPnP type - <span class="type">GType</span> pairs to have resource or resource proxy
-objects created with the specified <span class="type">GType</span> whenever an object for a resource
-of the specified UPnP type is requested. The <span class="type">GType</span>s need
+objects. Register UPnP type - <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> pairs to have resource or resource proxy
+objects created with the specified <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> whenever an object for a resource
+of the specified UPnP type is requested. The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>s need
to be derived from the relevant resource or resource proxy type (e.g.
a device proxy type needs to be derived from <a class="link" href="GUPnPDeviceProxy.html" title="GUPnPDeviceProxy"><span class="type">GUPnPDeviceProxy</span></a>).
</p>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_resource_factory_register_resource_type
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
<p>
Registers the GType <em class="parameter"><code>type</code></em> for the resource of UPnP type <em class="parameter"><code>upnp_type</code></em>. After
this call, the factory <em class="parameter"><code>factory</code></em> will create object of GType <em class="parameter"><code>type</code></em> each time
<hr>
<div class="refsect2">
<a name="gupnp-resource-factory-unregister-resource-type"></a><h3>gupnp_resource_factory_unregister_resource_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_resource_factory_unregister_resource_type
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_resource_factory_unregister_resource_type
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>);</pre>
<p>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if GType assignment was removed successfully, <code class="literal">FALSE</code>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if GType assignment was removed successfully, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.</td>
</tr>
</tbody>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_resource_factory_register_resource_proxy_type
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
<p>
Registers the GType <em class="parameter"><code>type</code></em> for the proxy of resource of UPnP type <em class="parameter"><code>upnp_type</code></em>.
After this call, the factory <em class="parameter"><code>factory</code></em> will create object of GType <em class="parameter"><code>type</code></em> each
<hr>
<div class="refsect2">
<a name="gupnp-resource-factory-unregister-resource-proxy-type"></a><h3>gupnp_resource_factory_unregister_resource_proxy_type ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_resource_factory_unregister_resource_proxy_type
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_resource_factory_unregister_resource_proxy_type
(<em class="parameter"><code><a class="link" href="GUPnPResourceFactory.html" title="GUPnPResourceFactory"><span class="type">GUPnPResourceFactory</span></a> *factory</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *upnp_type</code></em>);</pre>
<p>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if GType assignment was removed successfully, <code class="literal">FALSE</code>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if GType assignment was removed successfully, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>
otherwise.</td>
</tr>
</tbody>
<em class="parameter"><code>const <span class="type">char</span> *description_path</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *description_dir</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-set-available" title="gupnp_root_device_set_available ()">gupnp_root_device_set_available</a> (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> available</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-get-available" title="gupnp_root_device_get_available ()">gupnp_root_device_get_available</a> (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> available</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-get-available" title="gupnp_root_device_get_available ()">gupnp_root_device_get_available</a> (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-get-relative-location" title="gupnp_root_device_get_relative_location ()">gupnp_root_device_get_relative_location</a>
(<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-get-description-dir" title="gupnp_root_device_get_description_dir ()">gupnp_root_device_get_description_dir</a>
(<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-get-description-path" title="gupnp_root_device_get_description_path ()">gupnp_root_device_get_description_path</a>
(<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
+<span class="returnvalue">GSSDPResourceGroup</span> * <a class="link" href="GUPnPRootDevice.html#gupnp-root-device-get-ssdp-resource-group" title="gupnp_root_device_get_ssdp_resource_group ()">gupnp_root_device_get_ssdp_resource_group</a>
+ (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPRootDevice.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----<a class="link" href="GUPnPDeviceInfo.html" title="GUPnPDeviceInfo">GUPnPDeviceInfo</a>
+----<a class="link" href="GUPnPDevice.html" title="GUPnPDevice">GUPnPDevice</a>
+----GUPnPRootDevice
<div class="refsect1">
<a name="GUPnPRootDevice.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--available" title='The "available" property'>available</a>" <span class="type">gboolean</span> : Read / Write
- "<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--description-dir" title='The "description-dir" property'>description-dir</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--available" title='The "available" property'>available</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
+ "<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--description-dir" title='The "description-dir" property'>description-dir</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
"<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--description-doc" title='The "description-doc" property'>description-doc</a>" <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>* : Write / Construct Only
- "<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--description-path" title='The "description-path" property'>description-path</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPRootDevice.html#GUPnPRootDevice--description-path" title='The "description-path" property'>description-path</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<p>
Create a new <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a>, automatically loading and parsing
device description document from <em class="parameter"><code>description_path</code></em> if <em class="parameter"><code>description_doc</code></em> is
-<code class="literal">NULL</code>.
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>description_doc</code></em>Â :</span></p></td>
-<td>Device description document, or <code class="literal">NULL</code>
+<td>Device description document, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<div class="refsect2">
<a name="gupnp-root-device-set-available"></a><h3>gupnp_root_device_set_available ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_root_device_set_available (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> available</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> available</code></em>);</pre>
<p>
Controls whether or not <em class="parameter"><code>root_device</code></em> is available (announcing
its presence).
<tr>
<td><p><span class="term"><em class="parameter"><code>available</code></em>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if <em class="parameter"><code>root_device</code></em> should be available</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>root_device</code></em> should be available</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-root-device-get-available"></a><h3>gupnp_root_device_get_available ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_root_device_get_available (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_root_device_get_available (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);</pre>
<p>
Get whether or not <em class="parameter"><code>root_device</code></em> is available (announcing its presence).
</p>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if <em class="parameter"><code>root_device</code></em> is available, <code class="literal">FALSE</code> otherwise.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if <em class="parameter"><code>root_device</code></em> is available, <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a> otherwise.</td>
</tr>
</tbody>
</table></div>
</tbody>
</table></div>
</div>
+<hr>
+<div class="refsect2">
+<a name="gupnp-root-device-get-ssdp-resource-group"></a><h3>gupnp_root_device_get_ssdp_resource_group ()</h3>
+<pre class="programlisting"><span class="returnvalue">GSSDPResourceGroup</span> * gupnp_root_device_get_ssdp_resource_group
+ (<em class="parameter"><code><a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a> *root_device</code></em>);</pre>
+<p>
+Get the <span class="type">GSSDPResourceGroup</span> used by <em class="parameter"><code>root_device</code></em>.
+</p>
+<div class="variablelist"><table border="0">
+<col align="left" valign="top">
+<tbody>
+<tr>
+<td><p><span class="term"><em class="parameter"><code>root_device</code></em>Â :</span></p></td>
+<td>A <a class="link" href="GUPnPRootDevice.html" title="GUPnPRootDevice"><span class="type">GUPnPRootDevice</span></a>
+</td>
+</tr>
+<tr>
+<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
+<td>The <span class="type">GSSDPResourceGroup</span> of <em class="parameter"><code>root_device</code></em>. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+</td>
+</tr>
+</tbody>
+</table></div>
+</div>
</div>
<div class="refsect1">
<a name="GUPnPRootDevice.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GUPnPRootDevice--available"></a><h3>The <code class="literal">"available"</code> property</h3>
-<pre class="programlisting"> "available" <span class="type">gboolean</span> : Read / Write</pre>
+<pre class="programlisting"> "available" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
<p>
TRUE if this device is available.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPRootDevice--description-dir"></a><h3>The <code class="literal">"description-dir"</code> property</h3>
-<pre class="programlisting"> "description-dir" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "description-dir" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The path to directory where description documents are provided.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPRootDevice--description-path"></a><h3>The <code class="literal">"description-path"</code> property</h3>
-<pre class="programlisting"> "description-path" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "description-path" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The path to device description document. This could either be an
absolute path or path relative to GUPnPRootDevice:description-dir.
<a name="GUPnPServiceAction"></a><pre class="synopsis">struct <a class="link" href="GUPnPService.html#GUPnPService-struct" title="struct GUPnPService">GUPnPService</a>;
<a class="link" href="GUPnPService.html#GUPnPServiceAction-struct" title="GUPnPServiceAction">GUPnPServiceAction</a>;
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-name" title="gupnp_service_action_get_name ()">gupnp_service_action_get_name</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-locales" title="gupnp_service_action_get_locales ()">gupnp_service_action_get_locales</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-locales" title="gupnp_service_action_get_locales ()">gupnp_service_action_get_locales</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get" title="gupnp_service_action_get ()">gupnp_service_action_get</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get-valist" title="gupnp_service_action_get_valist ()">gupnp_service_action_get_valist</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get-value" title="gupnp_service_action_get_value ()">gupnp_service_action_get_value</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
- <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);
-<span class="returnvalue">GValue</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-gvalue" title="gupnp_service_action_get_gvalue ()">gupnp_service_action_get_gvalue</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-gvalue" title="gupnp_service_action_get_gvalue ()">gupnp_service_action_get_gvalue</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>);
-<span class="returnvalue">GList</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-values" title="gupnp_service_action_get_values ()">gupnp_service_action_get_values</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_types</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-values" title="gupnp_service_action_get_values ()">gupnp_service_action_get_values</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_types</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set" title="gupnp_service_action_set ()">gupnp_service_action_set</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>...</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set-valist" title="gupnp_service_action_set_valist ()">gupnp_service_action_set_valist</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set-value" title="gupnp_service_action_set_value ()">gupnp_service_action_set_value</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
- <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-set-values" title="gupnp_service_action_set_values ()">gupnp_service_action_set_values</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_values</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_values</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-return" title="gupnp_service_action_return ()">gupnp_service_action_return</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-action-return-error" title="gupnp_service_action_return_error ()">gupnp_service_action_return_error</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">guint</span> error_code</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> error_code</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *error_description</code></em>);
-<span class="returnvalue">SoupMessage</span> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-message" title="gupnp_service_action_get_message ()">gupnp_service_action_get_message</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
-<span class="returnvalue">guint</span> <a class="link" href="GUPnPService.html#gupnp-service-action-get-argument-count" title="gupnp_service_action_get_argument_count ()">gupnp_service_action_get_argument_count</a>
+<a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupMessage.html"><span class="returnvalue">SoupMessage</span></a> * <a class="link" href="GUPnPService.html#gupnp-service-action-get-message" title="gupnp_service_action_get_message ()">gupnp_service_action_get_message</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> <a class="link" href="GUPnPService.html#gupnp-service-action-get-argument-count" title="gupnp_service_action_get_argument_count ()">gupnp_service_action_get_argument_count</a>
(<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-notify" title="gupnp_service_notify ()">gupnp_service_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
<em class="parameter"><code>...</code></em>);
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-notify-value" title="gupnp_service_notify_value ()">gupnp_service_notify_value</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
- <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-freeze-notify" title="gupnp_service_freeze_notify ()">gupnp_service_freeze_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-thaw-notify" title="gupnp_service_thaw_notify ()">gupnp_service_thaw_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPService.html#gupnp-service-signals-autoconnect" title="gupnp_service_signals_autoconnect ()">gupnp_service_signals_autoconnect</a> (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPService.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----<a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo">GUPnPServiceInfo</a>
+----GUPnPService
</pre>
<div class="refsect1">
<a name="GUPnPService.signals"></a><h2>Signals</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPService.html#GUPnPService-action-invoked" title='The "action-invoked" signal'>action-invoked</a>" : <code class="literal">Has Details</code>
- "<a class="link" href="GUPnPService.html#GUPnPService-notify-failed" title='The "notify-failed" signal'>notify-failed</a>" : <code class="literal">Run Last</code>
- "<a class="link" href="GUPnPService.html#GUPnPService-query-variable" title='The "query-variable" signal'>query-variable</a>" : <code class="literal">Has Details</code>
+ "<a class="link" href="GUPnPService.html#GUPnPService-action-invoked" title='The "action-invoked" signal'>action-invoked</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">Has Details</code></a>
+ "<a class="link" href="GUPnPService.html#GUPnPService-notify-failed" title='The "notify-failed" signal'>notify-failed</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
+ "<a class="link" href="GUPnPService.html#GUPnPService-query-variable" title='The "query-variable" signal'>query-variable</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">Has Details</code></a>
</pre>
</div>
<div class="refsect1">
<hr>
<div class="refsect2">
<a name="gupnp-service-action-get-locales"></a><h3>gupnp_service_action_get_locales ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_service_action_get_locales (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_service_action_get_locales (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
<p>
-Get an ordered (preferred first) <span class="type">GList</span> of locales preferred by
+Get an ordered (preferred first) <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of locales preferred by
the client. Free list and elements after use.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A <span class="type">GList</span> of <span class="type">char</span>*
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of <span class="type">char</span>*
locale names. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
<a name="gupnp-service-action-get-value"></a><h3>gupnp_service_action_get_value ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_get_value (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
- <em class="parameter"><code><span class="type">GValue</span> *value</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
<p>
Retrieves the value of <em class="parameter"><code>argument</code></em> into <em class="parameter"><code>value</code></em>.
</p>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em>Â :</span></p></td>
-<td>The <span class="type">GValue</span> to store the value of the argument, initialized
+<td>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the value of the argument, initialized
to the correct type. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-service-action-get-gvalue"></a><h3>gupnp_service_action_get_gvalue ()</h3>
-<pre class="programlisting"><span class="returnvalue">GValue</span> * gupnp_service_action_get_gvalue (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="returnvalue">GValue</span></a> * gupnp_service_action_get_gvalue (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>);</pre>
<p>
Retrieves the value of <em class="parameter"><code>argument</code></em> into a GValue of type <em class="parameter"><code>type</code></em> and returns it.
The method exists only and only to satify PyGI, please use
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>Value as <span class="type">GValue</span> associated with <em class="parameter"><code>action</code></em>.
-<span class="type">g_value_unset</span> and <span class="type">g_slice_free</span> it after usage.
+<td>Value as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> associated with <em class="parameter"><code>action</code></em>.
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset"><span class="type">g_value_unset</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Slices.html#g-slice-free"><span class="type">g_slice_free</span></a> it after usage.
Rename To: gupnp_service_action_get_value. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-service-action-get-values"></a><h3>gupnp_service_action_get_values ()</h3>
-<pre class="programlisting"><span class="returnvalue">GList</span> * gupnp_service_action_get_values (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_types</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_service_action_get_values (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_types</code></em>);</pre>
<p>
-A variant of <a class="link" href="GUPnPService.html#gupnp-service-action-get" title="gupnp_service_action_get ()"><span class="type">gupnp_service_action_get</span></a> that uses <span class="type">GList</span> instead of varargs.
+A variant of <a class="link" href="GUPnPService.html#gupnp-service-action-get" title="gupnp_service_action_get ()"><span class="type">gupnp_service_action_get</span></a> that uses <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> instead of varargs.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>arg_names</code></em>Â :</span></p></td>
-<td>(element-type utf8) : A <span class="type">GList</span> of argument names as string</td>
+<td>(element-type utf8) : A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of argument names as string</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>arg_types</code></em>Â :</span></p></td>
-<td>A <span class="type">GList</span> of argument types as <span class="type">GType</span>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GType]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of argument types as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GType]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>The values as <span class="type">GList</span> of
-<span class="type">GValue</span>. <span class="type">g_list_free</span> the returned list and <span class="type">g_value_unset</span> and <span class="type">g_slice_free</span>
+<td>The values as <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>. <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><span class="type">g_list_free</span></a> the returned list and <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset"><span class="type">g_value_unset</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Slices.html#g-slice-free"><span class="type">g_slice_free</span></a>
each element. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
<a name="gupnp-service-action-set-value"></a><h3>gupnp_service_action_set_value ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_set_value (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *argument</code></em>,
- <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
<p>
Sets the value of <em class="parameter"><code>argument</code></em> to <em class="parameter"><code>value</code></em>.
</p>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em>Â :</span></p></td>
-<td>The <span class="type">GValue</span> to store the return value</td>
+<td>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> to store the return value</td>
</tr>
</tbody>
</table></div>
<div class="refsect2">
<a name="gupnp-service-action-set-values"></a><h3>gupnp_service_action_set_values ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_set_values (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *arg_values</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *arg_values</code></em>);</pre>
<p>
Sets the specified action return values.
</p>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>arg_names</code></em>Â :</span></p></td>
-<td>A <span class="type">GList</span> of argument names. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of argument names. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>arg_values</code></em>Â :</span></p></td>
-<td>The <span class="type">GList</span> of values (as
-<span class="type">GValues</span>) that line up with <em class="parameter"><code>arg_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>The <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of values (as
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValues</span></a>) that line up with <em class="parameter"><code>arg_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
<div class="refsect2">
<a name="gupnp-service-action-return-error"></a><h3>gupnp_service_action_return_error ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_action_return_error (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">guint</span> error_code</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="type">guint</span></a> error_code</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *error_description</code></em>);</pre>
<p>
Return <em class="parameter"><code>error_code</code></em>.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error_description</code></em>Â :</span></p></td>
-<td>The error description, or <code class="literal">NULL</code> if <em class="parameter"><code>error_code</code></em> is
+<td>The error description, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if <em class="parameter"><code>error_code</code></em> is
one of <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-INVALID-ACTION:CAPS"><span class="type">GUPNP_CONTROL_ERROR_INVALID_ACTION</span></a>,
<a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-INVALID-ARGS:CAPS"><span class="type">GUPNP_CONTROL_ERROR_INVALID_ARGS</span></a>, <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-OUT-OF-SYNC:CAPS"><span class="type">GUPNP_CONTROL_ERROR_OUT_OF_SYNC</span></a> or
<a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR-ACTION-FAILED:CAPS"><span class="type">GUPNP_CONTROL_ERROR_ACTION_FAILED</span></a>, in which case a description is
<hr>
<div class="refsect2">
<a name="gupnp-service-action-get-message"></a><h3>gupnp_service_action_get_message ()</h3>
-<pre class="programlisting"><span class="returnvalue">SoupMessage</span> * gupnp_service_action_get_message (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
+<pre class="programlisting"><a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupMessage.html"><span class="returnvalue">SoupMessage</span></a> * gupnp_service_action_get_message (<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
<p>
-Get the <span class="type">SoupMessage</span> associated with <em class="parameter"><code>action</code></em>. Mainly intended for
+Get the <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupMessage.html"><span class="type">SoupMessage</span></a> associated with <em class="parameter"><code>action</code></em>. Mainly intended for
applications to be able to read HTTP headers received from clients.
</p>
<div class="variablelist"><table border="0">
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<span class="type">SoupMessage</span> associated with <em class="parameter"><code>action</code></em>. Unref
+<a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupMessage.html"><span class="type">SoupMessage</span></a> associated with <em class="parameter"><code>action</code></em>. Unref
after using it. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-service-action-get-argument-count"></a><h3>gupnp_service_action_get_argument_count ()</h3>
-<pre class="programlisting"><span class="returnvalue">guint</span> gupnp_service_action_get_argument_count
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#guint"><span class="returnvalue">guint</span></a> gupnp_service_action_get_argument_count
(<em class="parameter"><code><a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action</code></em>);</pre>
<p>
Get the number of IN arguments from the <em class="parameter"><code>action</code></em> and return it.
<tr>
<td><p><span class="term"><em class="parameter"><code>var_args</code></em>Â :</span></p></td>
<td>A va_list of tuples of variable name, variable type, and variable
-value, terminated with <code class="literal">NULL</code>.</td>
+value, terminated with <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.</td>
</tr>
</tbody>
</table></div>
<a name="gupnp-service-notify-value"></a><h3>gupnp_service_notify_value ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_notify_value (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
- <em class="parameter"><code>const <span class="type">GValue</span> *value</code></em>);</pre>
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>);</pre>
<p>
Notifies listening clients that <em class="parameter"><code>variable</code></em> has changed to <em class="parameter"><code>value</code></em>.
</p>
<div class="refsect2">
<a name="gupnp-service-signals-autoconnect"></a><h3>gupnp_service_signals_autoconnect ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_signals_autoconnect (<em class="parameter"><code><a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
A convenience function that attempts to connect all possible
<a class="link" href="GUPnPService.html#GUPnPService-action-invoked" title='The "action-invoked" signal'><span class="type">"action-invoked"</span></a> and <a class="link" href="GUPnPService.html#GUPnPService-query-variable" title='The "query-variable" signal'><span class="type">"query-variable"</span></a> signals to
appropriate callbacks for the service <em class="parameter"><code>service</code></em>. It uses service introspection
and GModule's introspective features. It is very simillar to
-<code class="function">glade_xml_signal_autoconnect()</code> except that it attempts to guess the names of
+<a href="http://developer.gnome.org/gtk2/GtkBuilder.html#gtk-builder-connect-signals"><code class="function">gtk_builder_connect_signals()</code></a> except that it attempts to guess the names of
the signal handlers on its own.
</p>
<p>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code>
+<td>return location for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
</tbody>
<a name="GUPnPService-action-invoked"></a><h3>The <code class="literal">"action-invoked"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service,
<a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a> *action,
- <span class="type">gpointer</span> user_data) : <code class="literal">Has Details</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">Has Details</code></a></pre>
<p>
Emitted whenever an action is invoked. Handler should process
<em class="parameter"><code>action</code></em> and must call either <a class="link" href="GUPnPService.html#gupnp-service-action-return" title="gupnp_service_action_return ()"><code class="function">gupnp_service_action_return()</code></a> or
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>action</code></em>Â :</span></p></td>
-<td>The invoked <span class="type">GUPnPAction</span>
+<td>The invoked <a class="link" href="GUPnPService.html#GUPnPServiceAction"><span class="type">GUPnPServiceAction</span></a>
</td>
</tr>
<tr>
<div class="refsect2">
<a name="GUPnPService-notify-failed"></a><h3>The <code class="literal">"notify-failed"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service,
- <span class="type">gpointer</span> callback_url,
- <span class="type">gpointer</span> reason,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> callback_url,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> reason,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
Emitted whenever notification of a client fails.
</p>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>callback_url</code></em>Â :</span></p></td>
-<td>A <span class="type">GList</span> of callback URLs. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GList][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> SoupURI]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of callback URLs. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GList][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> SoupURI]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>reason</code></em>Â :</span></p></td>
-<td>A pointer to a <span class="type">GError</span> describing why the notify failed. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GError]</span>
+<td>A pointer to a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> describing why the notify failed. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GError]</span>
</td>
</tr>
<tr>
<div class="refsect2">
<a name="GUPnPService-query-variable"></a><h3>The <code class="literal">"query-variable"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPService.html" title="GUPnPService"><span class="type">GUPnPService</span></a> *service,
- <span class="type">gchar</span> *variable,
- <span class="type">gpointer</span> value,
- <span class="type">gpointer</span> user_data) : <code class="literal">Has Details</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *variable,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> value,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-DETAILED:CAPS"><code class="literal">Has Details</code></a></pre>
<p>
Emitted whenever <em class="parameter"><code>service</code></em> needs to know the value of <em class="parameter"><code>variable</code></em>.
Handler should fill <em class="parameter"><code>value</code></em> with the value of <em class="parameter"><code>variable</code></em>.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em>Â :</span></p></td>
-<td>The location of the <span class="type">GValue</span> of the variable. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GValue][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
+<td>The location of the <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of the variable. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GValue][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>]</span>
</td>
</tr>
<tr>
<span class="returnvalue">void</span> (<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceIntrospectionCallback" title="GUPnPServiceIntrospectionCallback ()">*GUPnPServiceIntrospectionCallback</a>)
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>,
- <em class="parameter"><code>const <span class="type">GError</span> *error</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="returnvalue">GUPnPContext</span></a> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-context" title="gupnp_service_info_get_context ()">gupnp_service_info_get_context</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-location" title="gupnp_service_info_get_location ()">gupnp_service_info_get_location</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
-const <span class="returnvalue">SoupURI</span> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-url-base" title="gupnp_service_info_get_url_base ()">gupnp_service_info_get_url_base</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
+const <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="returnvalue">SoupURI</span></a> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-url-base" title="gupnp_service_info_get_url_base ()">gupnp_service_info_get_url_base</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-udn" title="gupnp_service_info_get_udn ()">gupnp_service_info_get_udn</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
const <span class="returnvalue">char</span> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-service-type" title="gupnp_service_info_get_service_type ()">gupnp_service_info_get_service_type</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
<span class="returnvalue">char</span> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-id" title="gupnp_service_info_get_id ()">gupnp_service_info_get_id</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);
<a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="returnvalue">GUPnPServiceIntrospection</span></a> * <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-introspection" title="gupnp_service_info_get_introspection ()">gupnp_service_info_get_introspection</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPServiceInfo.html#gupnp-service-info-get-introspection-async" title="gupnp_service_info_get_introspection_async ()">gupnp_service_info_get_introspection_async</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html#GUPnPServiceIntrospectionCallback" title="GUPnPServiceIntrospectionCallback ()"><span class="type">GUPnPServiceIntrospectionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPServiceInfo.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----GUPnPServiceInfo
+----<a class="link" href="GUPnPService.html" title="GUPnPService">GUPnPService</a>
+----<a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy">GUPnPServiceProxy</a>
<pre class="synopsis">
"<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--context" title='The "context" property'>context</a>" <a class="link" href="GUPnPContext.html" title="GUPnPContext"><span class="type">GUPnPContext</span></a>* : Read / Write / Construct Only
"<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--document" title='The "document" property'>document</a>" <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>* : Write / Construct Only
- "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--element" title='The "element" property'>element</a>" <span class="type">gpointer</span> : Write / Construct Only
- "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--location" title='The "location" property'>location</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
- "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--service-type" title='The "service-type" property'>service-type</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
- "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--udn" title='The "udn" property'>udn</a>" <span class="type">gchar</span>* : Read / Write / Construct Only
- "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--url-base" title='The "url-base" property'>url-base</a>" <span class="type">SoupURI</span>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--element" title='The "element" property'>element</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Write / Construct Only
+ "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--location" title='The "location" property'>location</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--service-type" title='The "service-type" property'>service-type</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--udn" title='The "udn" property'>udn</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only
+ "<a class="link" href="GUPnPServiceInfo.html#GUPnPServiceInfo--url-base" title='The "url-base" property'>url-base</a>" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>* : Read / Write / Construct Only
</pre>
</div>
<div class="refsect1">
<pre class="programlisting"><span class="returnvalue">void</span> (*GUPnPServiceIntrospectionCallback)
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>,
- <em class="parameter"><code>const <span class="type">GError</span> *error</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> *error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Callback notifying that <em class="parameter"><code>introspection</code></em> for <em class="parameter"><code>info</code></em> has been obtained.
</p>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The <span class="type">GError</span> that occurred, or NULL</td>
+<td>The <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> that occurred, or NULL</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em>Â :</span></p></td>
<hr>
<div class="refsect2">
<a name="gupnp-service-info-get-url-base"></a><h3>gupnp_service_info_get_url_base ()</h3>
-<pre class="programlisting">const <span class="returnvalue">SoupURI</span> * gupnp_service_info_get_url_base (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
+<pre class="programlisting">const <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="returnvalue">SoupURI</span></a> * gupnp_service_info_get_url_base (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
<p>
Get the URL base of this service.
</p>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A constant <span class="type">SoupURI</span>.</td>
+<td>A constant <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>.</td>
</tr>
</tbody>
</table></div>
<a name="gupnp-service-info-get-service-type"></a><h3>gupnp_service_info_get_service_type ()</h3>
<pre class="programlisting">const <span class="returnvalue">char</span> * gupnp_service_info_get_service_type (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
<p>
-Get the UPnP service type, or <code class="literal">NULL</code>.
+Get the UPnP service type, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<a name="gupnp-service-info-get-id"></a><h3>gupnp_service_info_get_id ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> * gupnp_service_info_get_id (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
<p>
-Get the ID of this service, or <code class="literal">NULL</code> if there is no ID.
+Get the ID of this service, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no ID.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string. This string should be freed with <code class="function">g_free()</code> after use.</td>
+<td>A string. This string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
<a name="gupnp-service-info-get-scpd-url"></a><h3>gupnp_service_info_get_scpd_url ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> * gupnp_service_info_get_scpd_url (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
<p>
-Get the SCPD URL for this service, or <code class="literal">NULL</code> if there is no SCPD.
+Get the SCPD URL for this service, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> if there is no SCPD.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string. This string should be freed with <code class="function">g_free()</code> after use.</td>
+<td>A string. This string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
<a name="gupnp-service-info-get-control-url"></a><h3>gupnp_service_info_get_control_url ()</h3>
<pre class="programlisting"><span class="returnvalue">char</span> * gupnp_service_info_get_control_url (<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
<p>
-Get the control URL for this service, or <code class="literal">NULL</code>..
+Get the control URL for this service, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>..
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string. This string should be freed with <code class="function">g_free()</code> after use.</td>
+<td>A string. This string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
<pre class="programlisting"><span class="returnvalue">char</span> * gupnp_service_info_get_event_subscription_url
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>);</pre>
<p>
-Get the event subscription URL for this service, or <code class="literal">NULL</code>.
+Get the event subscription URL for this service, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A string. This string should be freed with <code class="function">g_free()</code> after use.</td>
+<td>A string. This string should be freed with <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Allocation.html#g-free"><code class="function">g_free()</code></a> after use.</td>
</tr>
</tbody>
</table></div>
<a name="gupnp-service-info-get-introspection"></a><h3>gupnp_service_info_get_introspection ()</h3>
<pre class="programlisting"><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="returnvalue">GUPnPServiceIntrospection</span></a> * gupnp_service_info_get_introspection
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Note that introspection object is created from the information in service
description document (SCPD) provided by the service so it can not be created
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>return location for a <span class="type">GError</span>, or <code class="literal">NULL</code>
+<td>return location for a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>A new <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> for this
-service or <code class="literal">NULL</code>. Unref after use. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+service or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Unref after use. <span class="annotation">[<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
</tbody>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_info_get_introspection_async
(<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo"><span class="type">GUPnPServiceInfo</span></a> *info</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceInfo.html#GUPnPServiceIntrospectionCallback" title="GUPnPServiceIntrospectionCallback ()"><span class="type">GUPnPServiceIntrospectionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Note that introspection object is created from the information in service
description document (SCPD) provided by the service so it can not be created
<hr>
<div class="refsect2">
<a name="GUPnPServiceInfo--element"></a><h3>The <code class="literal">"element"</code> property</h3>
-<pre class="programlisting"> "element" <span class="type">gpointer</span> : Write / Construct Only</pre>
+<pre class="programlisting"> "element" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Write / Construct Only</pre>
<p>
Private property.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPServiceInfo--location"></a><h3>The <code class="literal">"location"</code> property</h3>
-<pre class="programlisting"> "location" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "location" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The location of the device description file.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPServiceInfo--service-type"></a><h3>The <code class="literal">"service-type"</code> property</h3>
-<pre class="programlisting"> "service-type" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "service-type" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The service type.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPServiceInfo--udn"></a><h3>The <code class="literal">"udn"</code> property</h3>
-<pre class="programlisting"> "udn" <span class="type">gchar</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "udn" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a>* : Read / Write / Construct Only</pre>
<p>
The UDN of the containing device.
</p>
<hr>
<div class="refsect2">
<a name="GUPnPServiceInfo--url-base"></a><h3>The <code class="literal">"url-base"</code> property</h3>
-<pre class="programlisting"> "url-base" <span class="type">SoupURI</span>* : Read / Write / Construct Only</pre>
+<pre class="programlisting"> "url-base" <a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>* : Read / Write / Construct Only</pre>
<p>
-The URL base (<span class="type">SoupURI</span>).
+The URL base (<a href="/usr/share/gtk-doc/html/libsoup-2.4/SoupURI.html"><span class="type">SoupURI</span></a>).
</p>
</div>
</div>
<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction">GUPnPServiceProxyAction</a>;
<span class="returnvalue">void</span> (<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()">*GUPnPServiceProxyActionCallback</a>) (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span> (<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyNotifyCallback" title="GUPnPServiceProxyNotifyCallback ()">*GUPnPServiceProxyNotifyCallback</a>) (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
- <em class="parameter"><code><span class="type">GValue</span> *value</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action" title="gupnp_service_proxy_send_action ()">gupnp_service_proxy_send_action</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action" title="gupnp_service_proxy_send_action ()">gupnp_service_proxy_send_action</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code>...</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action-valist" title="gupnp_service_proxy_send_action_valist ()">gupnp_service_proxy_send_action_valist</a>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action-valist" title="gupnp_service_proxy_send_action_valist ()">gupnp_service_proxy_send_action_valist</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action-hash" title="gupnp_service_proxy_send_action_hash ()">gupnp_service_proxy_send_action_hash</a>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action-hash" title="gupnp_service_proxy_send_action_hash ()">gupnp_service_proxy_send_action_hash</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *in_hash</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *out_hash</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action-list" title="gupnp_service_proxy_send_action_list ()">gupnp_service_proxy_send_action_list</a>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *in_hash</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *out_hash</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action-list" title="gupnp_service_proxy_send_action_list ()">gupnp_service_proxy_send_action_list</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_values</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_types</code></em>,
- <em class="parameter"><code><span class="type">GList</span> **out_values</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_values</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_types</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **out_values</code></em>);
<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="returnvalue">GUPnPServiceProxyAction</span></a> * <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action" title="gupnp_service_proxy_begin_action ()">gupnp_service_proxy_begin_action</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code>...</code></em>);
<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="returnvalue">GUPnPServiceProxyAction</span></a> * <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action-valist" title="gupnp_service_proxy_begin_action_valist ()">gupnp_service_proxy_begin_action_valist</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="returnvalue">GUPnPServiceProxyAction</span></a> * <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action-hash" title="gupnp_service_proxy_begin_action_hash ()">gupnp_service_proxy_begin_action_hash</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *hash</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *hash</code></em>);
<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="returnvalue">GUPnPServiceProxyAction</span></a> * <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action-list" title="gupnp_service_proxy_begin_action_list ()">gupnp_service_proxy_begin_action_list</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_values</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_values</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()">gupnp_service_proxy_end_action</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()">gupnp_service_proxy_end_action</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code>...</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-valist" title="gupnp_service_proxy_end_action_valist ()">gupnp_service_proxy_end_action_valist</a>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-valist" title="gupnp_service_proxy_end_action_valist ()">gupnp_service_proxy_end_action_valist</a>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-hash" title="gupnp_service_proxy_end_action_hash ()">gupnp_service_proxy_end_action_hash</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-hash" title="gupnp_service_proxy_end_action_hash ()">gupnp_service_proxy_end_action_hash</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *hash</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-list" title="gupnp_service_proxy_end_action_list ()">gupnp_service_proxy_end_action_list</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *hash</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-list" title="gupnp_service_proxy_end_action_list ()">gupnp_service_proxy_end_action_list</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_types</code></em>,
- <em class="parameter"><code><span class="type">GList</span> **out_values</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_types</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **out_values</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-cancel-action" title="gupnp_service_proxy_cancel_action ()">gupnp_service_proxy_cancel_action</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-add-notify" title="gupnp_service_proxy_add_notify ()">gupnp_service_proxy_add_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-add-notify" title="gupnp_service_proxy_add_notify ()">gupnp_service_proxy_add_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyNotifyCallback" title="GUPnPServiceProxyNotifyCallback ()"><span class="type">GUPnPServiceProxyNotifyCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-remove-notify" title="gupnp_service_proxy_remove_notify ()">gupnp_service_proxy_remove_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-remove-notify" title="gupnp_service_proxy_remove_notify ()">gupnp_service_proxy_remove_notify</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyNotifyCallback" title="GUPnPServiceProxyNotifyCallback ()"><span class="type">GUPnPServiceProxyNotifyCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);
<span class="returnvalue">void</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-set-subscribed" title="gupnp_service_proxy_set_subscribed ()">gupnp_service_proxy_set_subscribed</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> subscribed</code></em>);
-<span class="returnvalue">gboolean</span> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-get-subscribed" title="gupnp_service_proxy_get_subscribed ()">gupnp_service_proxy_get_subscribed</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> subscribed</code></em>);
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-get-subscribed" title="gupnp_service_proxy_get_subscribed ()">gupnp_service_proxy_get_subscribed</a> (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPServiceProxy.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----<a class="link" href="GUPnPServiceInfo.html" title="GUPnPServiceInfo">GUPnPServiceInfo</a>
+----GUPnPServiceProxy
</pre>
<div class="refsect1">
<a name="GUPnPServiceProxy.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxy--subscribed" title='The "subscribed" property'>subscribed</a>" <span class="type">gboolean</span> : Read / Write
+ "<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxy--subscribed" title='The "subscribed" property'>subscribed</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write
</pre>
</div>
<div class="refsect1">
<a name="GUPnPServiceProxy.signals"></a><h2>Signals</h2>
<pre class="synopsis">
- "<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxy-subscription-lost" title='The "subscription-lost" signal'>subscription-lost</a>" : <code class="literal">Run Last</code>
+ "<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxy-subscription-lost" title='The "subscription-lost" signal'>subscription-lost</a>" : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a>
</pre>
</div>
<div class="refsect1">
<a name="GUPnPServiceProxyActionCallback"></a><h3>GUPnPServiceProxyActionCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> (*GUPnPServiceProxyActionCallback) (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Callback notifying that <em class="parameter"><code>action</code></em> on <em class="parameter"><code>proxy</code></em> has returned and
<a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()"><code class="function">gupnp_service_proxy_end_action()</code></a> etc can be called.
<a name="GUPnPServiceProxyNotifyCallback"></a><h3>GUPnPServiceProxyNotifyCallback ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> (*GUPnPServiceProxyNotifyCallback) (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
- <em class="parameter"><code><span class="type">GValue</span> *value</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> *value</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Callback notifying that the state variable <em class="parameter"><code>variable</code></em> on <em class="parameter"><code>proxy</code></em> has changed to
<em class="parameter"><code>value</code></em>.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>value</code></em>Â :</span></p></td>
-<td>The <span class="type">GValue</span> of the variable being notified</td>
+<td>The <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> of the variable being notified</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>user_data</code></em>Â :</span></p></td>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-send-action"></a><h3>gupnp_service_proxy_send_action ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_send_action (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_send_action (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>
Sends action <em class="parameter"><code>action</code></em> with parameters <em class="parameter"><code>Varargs</code></em> to the service exposed by
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if sending the action was succesful.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if sending the action was succesful.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-send-action-valist"></a><h3>gupnp_service_proxy_send_action_valist ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_send_action_valist
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_send_action_valist
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
<p>
-See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action" title="gupnp_service_proxy_send_action ()"><code class="function">gupnp_service_proxy_send_action()</code></a>; this version takes a va_list for
-use by language bindings.
+See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action" title="gupnp_service_proxy_send_action ()"><code class="function">gupnp_service_proxy_send_action()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>var_args</code></em>Â :</span></p></td>
<td>va_list of tuples of in parameter name, in parameter type, and in
-parameter value, followed by <code class="literal">NULL</code>, and then tuples of out parameter name,
+parameter value, followed by <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>, and then tuples of out parameter name,
out parameter type, and out parameter value location</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if sending the action was succesful.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if sending the action was succesful.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-send-action-hash"></a><h3>gupnp_service_proxy_send_action_hash ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_send_action_hash
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_send_action_hash
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *in_hash</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *out_hash</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *in_hash</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *out_hash</code></em>);</pre>
<p>
See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-send-action" title="gupnp_service_proxy_send_action ()"><code class="function">gupnp_service_proxy_send_action()</code></a>; this version takes a pair of
-<span class="type">GHashTable</span>s for runtime determined parameter lists.
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>s for runtime determined parameter lists.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>in_hash</code></em>Â :</span></p></td>
-<td>A <span class="type">GHashTable</span> of in
-parameter name and <span class="type">GValue</span> pairs. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> of in
+parameter name and <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> pairs. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_hash</code></em>Â :</span></p></td>
-<td>A <span class="type">GHashTable</span>
-of out parameter name and initialized <span class="type">GValue</span> pairs. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>
+of out parameter name and initialized <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> pairs. <span class="annotation">[<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if sending the action was succesful.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if sending the action was succesful.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-send-action-list"></a><h3>gupnp_service_proxy_send_action_list ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_send_action_list
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_send_action_list
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_values</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_types</code></em>,
- <em class="parameter"><code><span class="type">GList</span> **out_values</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_values</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_types</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **out_values</code></em>);</pre>
<p>
The synchronous variant of <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action-list" title="gupnp_service_proxy_begin_action_list ()"><span class="type">gupnp_service_proxy_begin_action_list</span></a> and
<a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action-list" title="gupnp_service_proxy_end_action_list ()"><span class="type">gupnp_service_proxy_end_action_list</span></a>.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>in_names</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of 'in' parameter
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of 'in' parameter
names (as strings). <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>in_values</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of values (as
-<span class="type">GValue</span>) that line up with <em class="parameter"><code>in_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of values (as
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>) that line up with <em class="parameter"><code>in_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_names</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of 'out' parameter
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of 'out' parameter
names (as strings). <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_types</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of types (as <span class="type">GType</span>)
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of types (as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>)
that line up with <em class="parameter"><code>out_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GType][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_values</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of values
-(as <span class="type">GValue</span>) that line up with <em class="parameter"><code>out_names</code></em> and <em class="parameter"><code>out_types</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of values
+(as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>) that line up with <em class="parameter"><code>out_names</code></em> and <em class="parameter"><code>out_types</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if sending the action was succesful.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if sending the action was succesful.</td>
</tr>
</tbody>
</table></div>
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>
Sends action <em class="parameter"><code>action</code></em> with parameters <em class="parameter"><code>Varargs</code></em> to the service exposed by
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
<p>
-See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action" title="gupnp_service_proxy_begin_action ()"><code class="function">gupnp_service_proxy_begin_action()</code></a>; this version takes a va_list for
-use by language bindings.
+See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action" title="gupnp_service_proxy_begin_action ()"><code class="function">gupnp_service_proxy_begin_action()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *hash</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *hash</code></em>);</pre>
<p>
-See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action" title="gupnp_service_proxy_begin_action ()"><code class="function">gupnp_service_proxy_begin_action()</code></a>; this version takes a <span class="type">GHashTable</span>
+See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action" title="gupnp_service_proxy_begin_action ()"><code class="function">gupnp_service_proxy_begin_action()</code></a>; this version takes a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a>
for runtime generated parameter lists.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>hash</code></em>Â :</span></p></td>
-<td>A <span class="type">GHashTable</span> of in parameter name and <span class="type">GValue</span> pairs. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> of in parameter name and <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> pairs. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue]</span>
</td>
</tr>
<tr>
<pre class="programlisting"><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="returnvalue">GUPnPServiceProxyAction</span></a> * gupnp_service_proxy_begin_action_list
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *action</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *in_values</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *in_values</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyActionCallback" title="GUPnPServiceProxyActionCallback ()"><span class="type">GUPnPServiceProxyActionCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
A variant of <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-begin-action" title="gupnp_service_proxy_begin_action ()"><span class="type">gupnp_service_proxy_begin_action</span></a> that takes lists of
in-parameter names, types and values.
<tr>
<td><p><span class="term"><em class="parameter"><code>in_names</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of 'in' parameter
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of 'in' parameter
names (as strings). <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>in_values</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of values (as
-<span class="type">GValue</span>) that line up with <em class="parameter"><code>in_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of values (as
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>) that line up with <em class="parameter"><code>in_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-end-action"></a><h3>gupnp_service_proxy_end_action ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_end_action (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_end_action (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code>...</code></em>);</pre>
<p>
Retrieves the result of <em class="parameter"><code>action</code></em>. The out parameters in <em class="parameter"><code>Varargs</code></em> will be
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> on success.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-end-action-valist"></a><h3>gupnp_service_proxy_end_action_valist ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_end_action_valist
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_end_action_valist
(<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
<em class="parameter"><code><span class="type">va_list</span> var_args</code></em>);</pre>
<p>
-See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()"><code class="function">gupnp_service_proxy_end_action()</code></a>; this version takes a va_list for
-use by language bindings.
+See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()"><code class="function">gupnp_service_proxy_end_action()</code></a>.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> on success.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-end-action-hash"></a><h3>gupnp_service_proxy_end_action_hash ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_end_action_hash (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_end_action_hash (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GHashTable</span> *hash</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> *hash</code></em>);</pre>
<p>
-See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()"><code class="function">gupnp_service_proxy_end_action()</code></a>; this version takes a <span class="type">GHashTable</span> for
+See <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()"><code class="function">gupnp_service_proxy_end_action()</code></a>; this version takes a <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> for
runtime generated parameter lists.
</p>
<div class="variablelist"><table border="0">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>hash</code></em>Â :</span></p></td>
-<td>A <span class="type">GHashTable</span> of
-out parameter name and initialised <span class="type">GValue</span> pairs. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Hash-Tables.html#GHashTable"><span class="type">GHashTable</span></a> of
+out parameter name and initialised <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a> pairs. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8 GValue][<acronym title="Parameter for input and for returning results. Default is transfer full."><span class="acronym">inout</span></acronym>][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> on success.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-end-action-list"></a><h3>gupnp_service_proxy_end_action_list ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_end_action_list (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_end_action_list (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyAction" title="GUPnPServiceProxyAction"><span class="type">GUPnPServiceProxyAction</span></a> *action</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_names</code></em>,
- <em class="parameter"><code><span class="type">GList</span> *out_types</code></em>,
- <em class="parameter"><code><span class="type">GList</span> **out_values</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_names</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> *out_types</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> **out_values</code></em>);</pre>
<p>
A variant of <a class="link" href="GUPnPServiceProxy.html#gupnp-service-proxy-end-action" title="gupnp_service_proxy_end_action ()"><span class="type">gupnp_service_proxy_end_action</span></a> that takes lists of
out-parameter names, types and place-holders for values. The returned list
-in <em class="parameter"><code>out_values</code></em> must be freed using <span class="type">g_list_free</span> and each element in it using
-<span class="type">g_value_unset</span> and <span class="type">g_slice_free</span>.
+in <em class="parameter"><code>out_values</code></em> must be freed using <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#g-list-free"><span class="type">g_list_free</span></a> and each element in it using
+<a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#g-value-unset"><span class="type">g_value_unset</span></a> and <a href="http://library.gnome.org/devel/glib/unstable/glib-Memory-Slices.html#g-slice-free"><span class="type">g_slice_free</span></a>.
</p>
<p>
-Return value : <code class="literal">TRUE</code> on success.
+Return value : <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>The location where to store any error, or <code class="literal">NULL</code>
+<td>The location where to store any error, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_names</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of 'out' parameter
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of 'out' parameter
names (as strings). <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_types</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of types (as <span class="type">GType</span>)
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of types (as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>)
that line up with <em class="parameter"><code>out_names</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GType][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>out_values</code></em>Â :</span></p></td>
<td>
-<span class="type">GList</span> of values
-(as <span class="type">GValue</span>) that line up with <em class="parameter"><code>out_names</code></em> and <em class="parameter"><code>out_types</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of values
+(as <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>) that line up with <em class="parameter"><code>out_names</code></em> and <em class="parameter"><code>out_types</code></em>. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GValue][<acronym title="Free data after the code is done."><span class="acronym">transfer full</span></acronym>][<acronym title="Parameter for returning results. Default is transfer full."><span class="acronym">out</span></acronym>]</span>
</td>
</tr>
</tbody>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-add-notify"></a><h3>gupnp_service_proxy_add_notify ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_add_notify (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_add_notify (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
- <em class="parameter"><code><span class="type">GType</span> type</code></em>,
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a> type</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyNotifyCallback" title="GUPnPServiceProxyNotifyCallback ()"><span class="type">GUPnPServiceProxyNotifyCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Sets up <em class="parameter"><code>callback</code></em> to be called whenever a change notification for
<em class="parameter"><code>variable</code></em> is recieved.
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> on success.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-remove-notify"></a><h3>gupnp_service_proxy_remove_notify ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_remove_notify (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_remove_notify (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
<em class="parameter"><code>const <span class="type">char</span> *variable</code></em>,
<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyNotifyCallback" title="GUPnPServiceProxyNotifyCallback ()"><span class="type">GUPnPServiceProxyNotifyCallback</span></a> callback</code></em>,
- <em class="parameter"><code><span class="type">gpointer</span> user_data</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data</code></em>);</pre>
<p>
Cancels the variable change notification for <em class="parameter"><code>callback</code></em> and <em class="parameter"><code>user_data</code></em>.
</p>
+<p>
+This function must not be called directly or indirectly from a
+<a class="link" href="GUPnPServiceProxy.html#GUPnPServiceProxyNotifyCallback" title="GUPnPServiceProxyNotifyCallback ()"><span class="type">GUPnPServiceProxyNotifyCallback</span></a> associated with this service proxy, even
+if it is for another variable.
+</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> on success.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> on success.</td>
</tr>
</tbody>
</table></div>
<div class="refsect2">
<a name="gupnp-service-proxy-set-subscribed"></a><h3>gupnp_service_proxy_set_subscribed ()</h3>
<pre class="programlisting"><span class="returnvalue">void</span> gupnp_service_proxy_set_subscribed (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>,
- <em class="parameter"><code><span class="type">gboolean</span> subscribed</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> subscribed</code></em>);</pre>
<p>
(Un)subscribes to this service.
</p>
<tr>
<td><p><span class="term"><em class="parameter"><code>subscribed</code></em>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> to subscribe to this service</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> to subscribe to this service</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-proxy-get-subscribed"></a><h3>gupnp_service_proxy_get_subscribed ()</h3>
-<pre class="programlisting"><span class="returnvalue">gboolean</span> gupnp_service_proxy_get_subscribed (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>);</pre>
+<pre class="programlisting"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="returnvalue">gboolean</span></a> gupnp_service_proxy_get_subscribed (<em class="parameter"><code><a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy</code></em>);</pre>
<p>
Returns if we are subscribed to this service.
</p>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>
-<code class="literal">TRUE</code> if we are subscribed to this service, otherwise <code class="literal">FALSE</code>.</td>
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#TRUE:CAPS"><code class="literal">TRUE</code></a> if we are subscribed to this service, otherwise <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#FALSE:CAPS"><code class="literal">FALSE</code></a>.</td>
</tr>
</tbody>
</table></div>
<a name="GUPnPServiceProxy.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GUPnPServiceProxy--subscribed"></a><h3>The <code class="literal">"subscribed"</code> property</h3>
-<pre class="programlisting"> "subscribed" <span class="type">gboolean</span> : Read / Write</pre>
+<pre class="programlisting"> "subscribed" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a> : Read / Write</pre>
<p>
Whether we are subscribed to this service.
</p>
<div class="refsect2">
<a name="GUPnPServiceProxy-subscription-lost"></a><h3>The <code class="literal">"subscription-lost"</code> signal</h3>
<pre class="programlisting"><span class="returnvalue">void</span> user_function (<a class="link" href="GUPnPServiceProxy.html" title="GUPnPServiceProxy"><span class="type">GUPnPServiceProxy</span></a> *proxy,
- <span class="type">gpointer</span> error,
- <span class="type">gpointer</span> user_data) : <code class="literal">Run Last</code></pre>
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> error,
+ <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> user_data) : <a href="http://library.gnome.org/devel/gobject/unstable/gobject-Signals.html#G-SIGNAL-RUN-LAST:CAPS"><code class="literal">Run Last</code></a></pre>
<p>
Emitted whenever the subscription to this service has been lost due
to an error condition.
</tr>
<tr>
<td><p><span class="term"><em class="parameter"><code>error</code></em>Â :</span></p></td>
-<td>A pointer to a <span class="type">GError</span> describing why the subscription has
+<td>A pointer to a <a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> describing why the subscription has
been lost. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GError]</span>
</td>
</tr>
<pre class="synopsis">struct <a class="link" href="GUPnPXMLDoc.html#GUPnPXMLDoc-struct" title="struct GUPnPXMLDoc">GUPnPXMLDoc</a>;
<a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="returnvalue">GUPnPXMLDoc</span></a> * <a class="link" href="GUPnPXMLDoc.html#gupnp-xml-doc-new" title="gupnp_xml_doc_new ()">gupnp_xml_doc_new</a> (<em class="parameter"><code><span class="type">xmlDoc</span> *xml_doc</code></em>);
<a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="returnvalue">GUPnPXMLDoc</span></a> * <a class="link" href="GUPnPXMLDoc.html#gupnp-xml-doc-new-from-path" title="gupnp_xml_doc_new_from_path ()">gupnp_xml_doc_new_from_path</a> (<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="GUPnPXMLDoc.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----GUPnPXMLDoc
</pre>
</div>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A new <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>, or <code class="literal">NULL</code> on an error</td>
+<td>A new <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error</td>
</tr>
</tbody>
</table></div>
<div class="refsect2">
<a name="gupnp-xml-doc-new-from-path"></a><h3>gupnp_xml_doc_new_from_path ()</h3>
<pre class="programlisting"><a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="returnvalue">GUPnPXMLDoc</span></a> * gupnp_xml_doc_new_from_path (<em class="parameter"><code>const <span class="type">char</span> *path</code></em>,
- <em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
+ <em class="parameter"><code><a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> **error</code></em>);</pre>
<p>
Create a new <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a> for the XML document at <em class="parameter"><code>path</code></em>.
</p>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A new <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>, or <code class="literal">NULL</code> on an error</td>
+<td>A new <a class="link" href="GUPnPXMLDoc.html" title="GUPnPXMLDoc"><span class="type">GUPnPXMLDoc</span></a>, or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a> on an error</td>
</tr>
</tbody>
</table></div>
<a name="client-tutorial"></a>Writing a UPnP Client</h2></div></div></div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp5138104"></a>Introduction</h2></div></div></div>
+<a name="idp6279840"></a>Introduction</h2></div></div></div>
<p>
This chapter explains how to write an application which fetches the
external IP address from an UPnP-compliant modem. To do this a
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp20464"></a>Finding Services</h2></div></div></div>
+<a name="idp10254480"></a>Finding Services</h2></div></div></div>
<p>
First, we initialize GUPnP and create a control point targeting the
service type. Then we connect a signal handler so that we are notified
GUPnPControlPoint *cp;
/* Required initialisation */
- g_type_init ();
+ #if !GLIB_CHECK_VERSION(2,35,0)
+ g_type_init ();
+ #endif
/* Create a new GUPnP Context. By here we are using the default GLib main
context, and connecting to the current machine's default IP on an
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp3648600"></a>Invoking Actions</h2></div></div></div>
+<a name="idp10033856"></a>Invoking Actions</h2></div></div></div>
<p>
Now we have an application which searches for the service we specified and
calls <code class="function">service_proxy_available_cb</code> for each one it
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp3748360"></a>Subscribing to state variable change notifications</h2></div></div></div>
+<a name="idp5300528"></a>Subscribing to state variable change notifications</h2></div></div></div>
<p>
It is possible to get change notifications for the service state variables
that have attribute <code class="literal">sendEvents="yes"</code>. We'll demonstrate
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp4623768"></a>Generating Wrappers</h2></div></div></div>
+<a name="idp8448896"></a>Generating Wrappers</h2></div></div></div>
<p>
Using gupnp_service_proxy_send_action() and gupnp_service_proxy_add_notify ()
can become tedious, because of the requirement to specify the types and deal
<pre class="programlisting">#define GUPNP_SERVER_ERROR (gupnp_server_error_quark ())
</pre>
<p>
-The <span class="type">GQuark</span> uniquely used by GUPnP's server errors.
+The <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP's server errors.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GQuark</span> uniquely used by GUPnP's server errors.</td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP's server errors.</td>
</tr></tbody>
</table></div>
</div>
} GUPnPServerError;
</pre>
<p>
-<span class="type">GError</span> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-SERVER-ERROR:CAPS" title="GUPNP_SERVER_ERROR"><span class="type">GUPNP_SERVER_ERROR</span></a> domain, when there
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-SERVER-ERROR:CAPS" title="GUPNP_SERVER_ERROR"><span class="type">GUPNP_SERVER_ERROR</span></a> domain, when there
is communication with another server.
</p>
<div class="variablelist"><table border="0">
<pre class="programlisting">#define GUPNP_EVENTING_ERROR (gupnp_eventing_error_quark ())
</pre>
<p>
-The <span class="type">GQuark</span> uniquely used by GUPnP's eventing errors.
+The <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP's eventing errors.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GQuark</span> uniquely used by GUPnP's eventing errors.</td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP's eventing errors.</td>
</tr></tbody>
</table></div>
</div>
} GUPnPEventingError;
</pre>
<p>
-<span class="type">GError</span> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-EVENTING-ERROR:CAPS" title="GUPNP_EVENTING_ERROR"><span class="type">GUPNP_EVENTING_ERROR</span></a> domain, during
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-EVENTING-ERROR:CAPS" title="GUPNP_EVENTING_ERROR"><span class="type">GUPNP_EVENTING_ERROR</span></a> domain, during
eventing of state variables.
</p>
<div class="variablelist"><table border="0">
<pre class="programlisting">#define GUPNP_CONTROL_ERROR (gupnp_control_error_quark ())
</pre>
<p>
-The <span class="type">GQuark</span> uniquely used by GUPnP's control errors.
+The <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP's control errors.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GQuark</span> uniquely used by GUPnP's control errors.</td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP's control errors.</td>
</tr></tbody>
</table></div>
</div>
} GUPnPControlError;
</pre>
<p>
-<span class="type">GError</span> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR:CAPS" title="GUPNP_CONTROL_ERROR"><span class="type">GUPNP_CONTROL_ERROR</span></a> domain, during
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-CONTROL-ERROR:CAPS" title="GUPNP_CONTROL_ERROR"><span class="type">GUPNP_CONTROL_ERROR</span></a> domain, during
invocation of service actions.
</p>
<div class="variablelist"><table border="0">
<pre class="programlisting">#define GUPNP_XML_ERROR (gupnp_xml_error_quark ())
</pre>
<p>
-The <span class="type">GQuark</span> uniquely used by GUPnP XML processing errors.
+The <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP XML processing errors.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
<tbody><tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>a <span class="type">GQuark</span> uniquely used by GUPnP XML processing errors.</td>
+<td>a <a href="http://library.gnome.org/devel/glib/unstable/glib-Quarks.html#GQuark"><span class="type">GQuark</span></a> uniquely used by GUPnP XML processing errors.</td>
</tr></tbody>
</table></div>
</div>
} GUPnPXMLError;
</pre>
<p>
-<span class="type">GError</span> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-XML-ERROR:CAPS" title="GUPNP_XML_ERROR"><span class="type">GUPNP_XML_ERROR</span></a> domain, during
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Error-Reporting.html#GError"><span class="type">GError</span></a> codes used for errors in the <a class="link" href="gupnp-Error-codes.html#GUPNP-XML-ERROR:CAPS" title="GUPNP_XML_ERROR"><span class="type">GUPNP_XML_ERROR</span></a> domain, during
processing of XML data.
</p>
<div class="variablelist"><table border="0">
<div class="cmdsynopsis"><p><code class="command">gupnp-binding-tool</code> [--prefix {PREFIX}] [--mode {client|server}] {SCPD file}</p></div>
</div>
<div class="refsect1">
-<a name="idp4988904"></a><h2>Description</h2>
+<a name="idp6141728"></a><h2>Description</h2>
<p>
<span class="command"><strong>gupnp-binding-tool</strong></span> takes a <a class="glossterm" href="glossary.html#scpd"><em class="glossterm">SCPD file</em></a> and generates convenience C functions
which call the actual GUPnP functions. The client-side bindings can be seen
</p>
</div>
<div class="refsect1">
-<a name="idp7625360"></a><h2>Client side bindings</h2>
+<a name="idp13239776"></a><h2>Client side bindings</h2>
<p>
As an example, this action:
</p>
</p>
</div>
<div class="refsect1">
-<a name="idp6157096"></a><h2>Server side bindings</h2>
+<a name="idp13194080"></a><h2>Server side bindings</h2>
<p>
The corresponding server bindings for the same UPnP action
(DeletePortMapping) look like this:
<a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceActionInfo" title="GUPnPServiceActionInfo">GUPnPServiceActionInfo</a>;
<a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceStateVariableInfo" title="GUPnPServiceStateVariableInfo">GUPnPServiceStateVariableInfo</a>;
struct <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection-struct" title="struct GUPnPServiceIntrospection">GUPnPServiceIntrospection</a>;
-const <span class="returnvalue">GList</span> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-action-names" title="gupnp_service_introspection_list_action_names ()">gupnp_service_introspection_list_action_names</a>
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-action-names" title="gupnp_service_introspection_list_action_names ()">gupnp_service_introspection_list_action_names</a>
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);
-const <span class="returnvalue">GList</span> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-actions" title="gupnp_service_introspection_list_actions ()">gupnp_service_introspection_list_actions</a>
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-actions" title="gupnp_service_introspection_list_actions ()">gupnp_service_introspection_list_actions</a>
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);
const <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceActionInfo" title="GUPnPServiceActionInfo"><span class="returnvalue">GUPnPServiceActionInfo</span></a> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-get-action" title="gupnp_service_introspection_get_action ()">gupnp_service_introspection_get_action</a>
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>);
-const <span class="returnvalue">GList</span> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-state-variable-names" title="gupnp_service_introspection_list_state_variable_names ()">gupnp_service_introspection_list_state_variable_names</a>
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-state-variable-names" title="gupnp_service_introspection_list_state_variable_names ()">gupnp_service_introspection_list_state_variable_names</a>
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);
-const <span class="returnvalue">GList</span> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-state-variables" title="gupnp_service_introspection_list_state_variables ()">gupnp_service_introspection_list_state_variables</a>
+const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-list-state-variables" title="gupnp_service_introspection_list_state_variables ()">gupnp_service_introspection_list_state_variables</a>
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);
const <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceStateVariableInfo" title="GUPnPServiceStateVariableInfo"><span class="returnvalue">GUPnPServiceStateVariableInfo</span></a> * <a class="link" href="gupnp-gupnp-service-introspection.html#gupnp-service-introspection-get-state-variable" title="gupnp_service_introspection_get_state_variable ()">gupnp_service_introspection_get_state_variable</a>
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *variable_name</code></em>);
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *variable_name</code></em>);
</pre>
</div>
<div class="refsect1">
<a name="gupnp-gupnp-service-introspection.object-hierarchy"></a><h2>Object Hierarchy</h2>
<pre class="synopsis">
- GObject
+ <a href="http://library.gnome.org/devel/gobject/unstable/gobject-The-Base-Object-Type.html#GObject">GObject</a>
+----GUPnPServiceIntrospection
</pre>
</div>
<div class="refsect1">
<a name="gupnp-gupnp-service-introspection.properties"></a><h2>Properties</h2>
<pre class="synopsis">
- "<a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection--scpd" title='The "scpd" property'>scpd</a>" <span class="type">gpointer</span> : Write / Construct Only
+ "<a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection--scpd" title='The "scpd" property'>scpd</a>" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Write / Construct Only
</pre>
</div>
<div class="refsect1">
argument.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gboolean</span>Â <em class="structfield"><code><a name="GUPnPServiceActionArgInfo.retval"></a>retval</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>Â <em class="structfield"><code><a name="GUPnPServiceActionArgInfo.retval"></a>retval</code></em>;</span></p></td>
<td>Whether this argument is the return value of the action.</td>
</tr>
</tbody>
<td>The name of the action argument.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GList</span>Â *<em class="structfield"><code><a name="GUPnPServiceActionInfo.arguments"></a>arguments</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>Â *<em class="structfield"><code><a name="GUPnPServiceActionInfo.arguments"></a>arguments</code></em>;</span></p></td>
<td>A GList of all the arguments
(of type <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceActionArgInfo" title="GUPnPServiceActionArgInfo"><span class="type">GUPnPServiceActionArgInfo</span></a>) of this action. <span class="annotation">[<acronym title="Override the parsed C type with given type"><span class="acronym">type</span></acronym> GList][<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUPnP.ServiceActionArgInfo]</span>
</td>
<td>The name of the state variable.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gboolean</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.send-events"></a>send_events</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.send-events"></a>send_events</code></em>;</span></p></td>
<td>Whether this state variable can source events.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">gboolean</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.is-numeric"></a>is_numeric</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gboolean"><span class="type">gboolean</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.is-numeric"></a>is_numeric</code></em>;</span></p></td>
<td>Wether this state variable is a numeric type (integer and
float).</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GType</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.type"></a>type</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Type-Information.html#GType"><span class="type">GType</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.type"></a>type</code></em>;</span></p></td>
<td>The GType of this state variable.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GValue</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.default-value"></a>default_value</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.default-value"></a>default_value</code></em>;</span></p></td>
<td>The default value of this state variable.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GValue</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.minimum"></a>minimum</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.minimum"></a>minimum</code></em>;</span></p></td>
<td>The minimum value of this state variable. Only applies to numeric
data types.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GValue</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.maximum"></a>maximum</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.maximum"></a>maximum</code></em>;</span></p></td>
<td>The maximum value of this state variable. Only applies to numeric
data types.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GValue</span>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.step"></a>step</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/gobject/unstable/gobject-Generic-values.html#GValue"><span class="type">GValue</span></a>Â <em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.step"></a>step</code></em>;</span></p></td>
<td>The step value of this state variable. Only applies to numeric
data types.</td>
</tr>
<tr>
-<td><p><span class="term"><span class="type">GList</span>Â *<em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.allowed-values"></a>allowed_values</code></em>;</span></p></td>
+<td><p><span class="term"><a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a>Â *<em class="structfield"><code><a name="GUPnPServiceStateVariableInfo.allowed-values"></a>allowed_values</code></em>;</span></p></td>
<td>The allowed values of this state variable. Only applies to
string data types. Unlike the other fields in this structure, this field
contains a list of (char *) strings rather than GValues. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8]</span>
<hr>
<div class="refsect2">
<a name="gupnp-service-introspection-list-action-names"></a><h3>gupnp_service_introspection_list_action_names ()</h3>
-<pre class="programlisting">const <span class="returnvalue">GList</span> * gupnp_service_introspection_list_action_names
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_service_introspection_list_action_names
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);</pre>
<p>
Returns a GList of names of all the actions in this service.
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>(transfer none) (element-type utf8) : A GList of names of all
-the actions or <code class="literal">NULL</code>. Do not modify or free it or its contents.</td>
+the actions or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not modify or free it or its contents.</td>
</tr>
</tbody>
</table></div>
<hr>
<div class="refsect2">
<a name="gupnp-service-introspection-list-actions"></a><h3>gupnp_service_introspection_list_actions ()</h3>
-<pre class="programlisting">const <span class="returnvalue">GList</span> * gupnp_service_introspection_list_actions
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_service_introspection_list_actions
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);</pre>
<p>
-Returns a <span class="type">GList</span> of all the actions (of type <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceActionInfo" title="GUPnPServiceActionInfo"><span class="type">GUPnPServiceActionInfo</span></a>) in
+Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of all the actions (of type <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceActionInfo" title="GUPnPServiceActionInfo"><span class="type">GUPnPServiceActionInfo</span></a>) in
this service.
</p>
<div class="variablelist"><table border="0">
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
<td>A
-<span class="type">GList</span> of all the actions or <code class="literal">NULL</code>. Do not modify or free it or its
+<a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of all the actions or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not modify or free it or its
contents. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUPnP.ServiceActionInfo][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<a name="gupnp-service-introspection-get-action"></a><h3>gupnp_service_introspection_get_action ()</h3>
<pre class="programlisting">const <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceActionInfo" title="GUPnPServiceActionInfo"><span class="returnvalue">GUPnPServiceActionInfo</span></a> * gupnp_service_introspection_get_action
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *action_name</code></em>);</pre>
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *action_name</code></em>);</pre>
<p>
Returns the action by the name <em class="parameter"><code>action_name</code></em> in this service.
</p>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>the action or <code class="literal">NULL</code>. Do not modify or free
+<td>the action or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not modify or free
it. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<hr>
<div class="refsect2">
<a name="gupnp-service-introspection-list-state-variable-names"></a><h3>gupnp_service_introspection_list_state_variable_names ()</h3>
-<pre class="programlisting">const <span class="returnvalue">GList</span> * gupnp_service_introspection_list_state_variable_names
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_service_introspection_list_state_variable_names
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);</pre>
<p>
-Returns a <span class="type">GList</span> of names of all the state variables in this service.
+Returns a <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of names of all the state variables in this service.
</p>
<div class="variablelist"><table border="0">
<col align="left" valign="top">
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A <span class="type">GList</span> of names of all
-the state variables or <code class="literal">NULL</code>. Do not modify or free it or its contents. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of names of all
+the state variables or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not modify or free it or its contents. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> utf8][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
</tbody>
<hr>
<div class="refsect2">
<a name="gupnp-service-introspection-list-state-variables"></a><h3>gupnp_service_introspection_list_state_variables ()</h3>
-<pre class="programlisting">const <span class="returnvalue">GList</span> * gupnp_service_introspection_list_state_variables
+<pre class="programlisting">const <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="returnvalue">GList</span></a> * gupnp_service_introspection_list_state_variables
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>);</pre>
<p>
Returns a GList of all the state variables (of type
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>A <span class="type">GList</span> of all the state variables or <code class="literal">NULL</code>. Do not modify or free it or
+<td>A <a href="http://library.gnome.org/devel/glib/unstable/glib-Doubly-Linked-Lists.html#GList"><span class="type">GList</span></a> of all the state variables or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not modify or free it or
its contents. <span class="annotation">[<acronym title="Generics and defining elements of containers and arrays."><span class="acronym">element-type</span></acronym> GUPnP.ServiceStateVariableInfo][<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<a name="gupnp-service-introspection-get-state-variable"></a><h3>gupnp_service_introspection_get_state_variable ()</h3>
<pre class="programlisting">const <a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceStateVariableInfo" title="GUPnPServiceStateVariableInfo"><span class="returnvalue">GUPnPServiceStateVariableInfo</span></a> * gupnp_service_introspection_get_state_variable
(<em class="parameter"><code><a class="link" href="gupnp-gupnp-service-introspection.html#GUPnPServiceIntrospection"><span class="type">GUPnPServiceIntrospection</span></a> *introspection</code></em>,
- <em class="parameter"><code>const <span class="type">gchar</span> *variable_name</code></em>);</pre>
+ <em class="parameter"><code>const <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gchar"><span class="type">gchar</span></a> *variable_name</code></em>);</pre>
<p>
Returns the state variable by the name <em class="parameter"><code>variable_name</code></em> in this service.
</p>
</tr>
<tr>
<td><p><span class="term"><span class="emphasis"><em>Returns</em></span>Â :</span></p></td>
-<td>the state variable or <code class="literal">NULL</code>. Do not modify or
+<td>the state variable or <a href="http://library.gnome.org/devel/glib/unstable/glib-Standard-Macros.html#NULL:CAPS"><code class="literal">NULL</code></a>. Do not modify or
free it. <span class="annotation">[<acronym title="Don't free data after the code is done."><span class="acronym">transfer none</span></acronym>]</span>
</td>
</tr>
<a name="gupnp-gupnp-service-introspection.property-details"></a><h2>Property Details</h2>
<div class="refsect2">
<a name="GUPnPServiceIntrospection--scpd"></a><h3>The <code class="literal">"scpd"</code> property</h3>
-<pre class="programlisting"> "scpd" <span class="type">gpointer</span> : Write / Construct Only</pre>
+<pre class="programlisting"> "scpd" <a href="http://library.gnome.org/devel/glib/unstable/glib-Basic-Types.html#gpointer"><span class="type">gpointer</span></a> : Write / Construct Only</pre>
<p>
The scpd of the device description file.
</p>
<keyword type="function" name="gupnp_root_device_get_relative_location ()" link="GUPnPRootDevice.html#gupnp-root-device-get-relative-location"/>
<keyword type="function" name="gupnp_root_device_get_description_dir ()" link="GUPnPRootDevice.html#gupnp-root-device-get-description-dir"/>
<keyword type="function" name="gupnp_root_device_get_description_path ()" link="GUPnPRootDevice.html#gupnp-root-device-get-description-path"/>
+ <keyword type="function" name="gupnp_root_device_get_ssdp_resource_group ()" link="GUPnPRootDevice.html#gupnp-root-device-get-ssdp-resource-group"/>
<keyword type="property" name="The "available" property" link="GUPnPRootDevice.html#GUPnPRootDevice--available"/>
<keyword type="property" name="The "description-dir" property" link="GUPnPRootDevice.html#GUPnPRootDevice--description-dir"/>
<keyword type="property" name="The "description-doc" property" link="GUPnPRootDevice.html#GUPnPRootDevice--description-doc"/>
<keyword type="function" name="gupnp_context_manager_create ()" link="GUPnPContextManager.html#gupnp-context-manager-create"/>
<keyword type="function" name="gupnp_context_manager_manage_control_point ()" link="GUPnPContextManager.html#gupnp-context-manager-manage-control-point"/>
<keyword type="function" name="gupnp_context_manager_manage_root_device ()" link="GUPnPContextManager.html#gupnp-context-manager-manage-root-device"/>
+ <keyword type="function" name="gupnp_context_manager_get_port ()" link="GUPnPContextManager.html#gupnp-context-manager-get-port"/>
<keyword type="property" name="The "main-context" property" link="GUPnPContextManager.html#GUPnPContextManager--main-context"/>
<keyword type="property" name="The "port" property" link="GUPnPContextManager.html#GUPnPContextManager--port"/>
<keyword type="signal" name="The "context-available" signal" link="GUPnPContextManager.html#GUPnPContextManager-context-available"/>
<div class="titlepage">
<div>
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">GUPnP Reference Manual</p></th></tr></table></div>
-<div><p class="releaseinfo">Version 0.19.1
+<div><p class="releaseinfo">Version 0.20.1
</p></div>
<div><p class="copyright">Copyright © 2007, 2008, 2009 OpenedHand Ltd, Nokia Corporation</p></div>
<div><div class="legalnotice">
-<a name="idp672240"></a><p>
+<a name="idp937392"></a><p>
Permission is granted to copy, distribute and/or modify this
document under the terms of the <em class="citetitle">GNU Free
Documentation License</em>, Version 1.1 or any later
<ANCHOR id="gupnp-root-device-get-relative-location" href="gupnp/GUPnPRootDevice.html#gupnp-root-device-get-relative-location">
<ANCHOR id="gupnp-root-device-get-description-dir" href="gupnp/GUPnPRootDevice.html#gupnp-root-device-get-description-dir">
<ANCHOR id="gupnp-root-device-get-description-path" href="gupnp/GUPnPRootDevice.html#gupnp-root-device-get-description-path">
+<ANCHOR id="gupnp-root-device-get-ssdp-resource-group" href="gupnp/GUPnPRootDevice.html#gupnp-root-device-get-ssdp-resource-group">
<ANCHOR id="GUPnPRootDevice.property-details" href="gupnp/GUPnPRootDevice.html#GUPnPRootDevice.property-details">
<ANCHOR id="GUPnPRootDevice--available" href="gupnp/GUPnPRootDevice.html#GUPnPRootDevice--available">
<ANCHOR id="GUPnPRootDevice--description-dir" href="gupnp/GUPnPRootDevice.html#GUPnPRootDevice--description-dir">
<ANCHOR id="gupnp-context-manager-create" href="gupnp/GUPnPContextManager.html#gupnp-context-manager-create">
<ANCHOR id="gupnp-context-manager-manage-control-point" href="gupnp/GUPnPContextManager.html#gupnp-context-manager-manage-control-point">
<ANCHOR id="gupnp-context-manager-manage-root-device" href="gupnp/GUPnPContextManager.html#gupnp-context-manager-manage-root-device">
+<ANCHOR id="gupnp-context-manager-get-port" href="gupnp/GUPnPContextManager.html#gupnp-context-manager-get-port">
<ANCHOR id="GUPnPContextManager.property-details" href="gupnp/GUPnPContextManager.html#GUPnPContextManager.property-details">
<ANCHOR id="GUPnPContextManager--main-context" href="gupnp/GUPnPContextManager.html#GUPnPContextManager--main-context">
<ANCHOR id="GUPnPContextManager--port" href="gupnp/GUPnPContextManager.html#GUPnPContextManager--port">
</tr></table>
<div class="index">
<div class="titlepage"><div><div><h2 class="title">
-<a name="idp2480648"></a>Index</h2></div></div></div>
+<a name="idp80176"></a>Index</h2></div></div></div>
<div class="index"><div class="indexdiv">
<h3>G</h3>
<dl>
</dt>
<dt>gupnp_context_manager_create, <a class="indexterm" href="GUPnPContextManager.html#gupnp-context-manager-create">gupnp_context_manager_create ()</a>
</dt>
+<dt>gupnp_context_manager_get_port, <a class="indexterm" href="GUPnPContextManager.html#gupnp-context-manager-get-port">gupnp_context_manager_get_port ()</a>
+</dt>
<dt>gupnp_context_manager_manage_control_point, <a class="indexterm" href="GUPnPContextManager.html#gupnp-context-manager-manage-control-point">gupnp_context_manager_manage_control_point ()</a>
</dt>
<dt>gupnp_context_manager_manage_root_device, <a class="indexterm" href="GUPnPContextManager.html#gupnp-context-manager-manage-root-device">gupnp_context_manager_manage_root_device ()</a>
</dt>
<dt>gupnp_root_device_get_relative_location, <a class="indexterm" href="GUPnPRootDevice.html#gupnp-root-device-get-relative-location">gupnp_root_device_get_relative_location ()</a>
</dt>
+<dt>gupnp_root_device_get_ssdp_resource_group, <a class="indexterm" href="GUPnPRootDevice.html#gupnp-root-device-get-ssdp-resource-group">gupnp_root_device_get_ssdp_resource_group ()</a>
+</dt>
<dt>gupnp_root_device_new, <a class="indexterm" href="GUPnPRootDevice.html#gupnp-root-device-new">gupnp_root_device_new ()</a>
</dt>
<dt>gupnp_root_device_new_full, <a class="indexterm" href="GUPnPRootDevice.html#gupnp-root-device-new-full">gupnp_root_device_new_full ()</a>
<a name="server-tutorial"></a>Writing a UPnP Service</h2></div></div></div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp1731880"></a>Introduction</h2></div></div></div>
+<a name="idp11357888"></a>Introduction</h2></div></div></div>
<p>
This chapter explains how to implement a UPnP service using GUPnP. For
this example we will create a virtual UPnP-enabled light bulb.
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp4384496"></a>Defining the Device</h2></div></div></div>
+<a name="idp10321552"></a>Defining the Device</h2></div></div></div>
<p>
The first step is to write the <em class="firstterm">device description</em>
file. This is a short XML document which describes the device and what
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp5817112"></a>Defining Services</h2></div></div></div>
+<a name="idp8569632"></a>Defining Services</h2></div></div></div>
<p>
Because we are using a standard service we can use the service description
from the specification. This is the <code class="literal">SwitchPower1</code>
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp5031944"></a>Implementing the Device</h2></div></div></div>
+<a name="idp6847024"></a>Implementing the Device</h2></div></div></div>
<p>
Before starting to implement the device, some boilerplate code is needed
to initialise GUPnP. GLib types and threading needs to be initialised,
</p>
<pre class="programlisting">GUPnPContext *context;
/* Initialize required subsystems */
-g_type_init ();
+#if !GLIB_CHECK_VERSION(2,35,0)
+ g_type_init ();
+#endif
/* Create the GUPnP context with default host and port */
context = gupnp_context_new (NULL, NULL, 0, NULL);</pre>
<p>
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp5537304"></a>Implementing a Service</h2></div></div></div>
+<a name="idp6853120"></a>Implementing a Service</h2></div></div></div>
<p>
To implement a service we first fetch the #GUPnPService from the root
device using gupnp_device_info_get_service() (#GUPnPRootDevice is a
</div>
<div class="simplesect">
<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="idp4641208"></a>Generating Service-specific Wrappers</h2></div></div></div>
+<a name="idp5505312"></a>Generating Service-specific Wrappers</h2></div></div></div>
<p>
Using service-specific wrappers can simplify the implementation of a service.
Wrappers can be generated with <a class="xref" href="gupnp-binding-tool.html" title="gupnp-binding-tool"><span class="refentrytitle">gupnp-binding-tool</span>(1)</a>
</para>
<programlisting>GUPnPContext *context;
/* Initialize required subsystems */
-g_type_init ();
+#if !GLIB_CHECK_VERSION(2,35,0)
+ g_type_init ();
+#endif
/* Create the GUPnP context with default host and port */
context = gupnp_context_new (NULL, NULL, 0, NULL);</programlisting>
<para>
@root_device:
+<!-- ##### FUNCTION gupnp_context_manager_get_port ##### -->
+<para>
+
+</para>
+
+@manager:
+@Returns:
+
+
</para>
@main_context:
-@interface:
+@iface:
@port:
@error:
@Returns:
@Returns:
+<!-- ##### FUNCTION gupnp_root_device_get_ssdp_resource_group ##### -->
+<para>
+
+</para>
+
+@root_device:
+@Returns:
+
+
GUPnPContext *context;
GUPnPControlPoint *cp;
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
+
/* Check and parse command line arguments */
if (argc != 2) {
GUPnPRootDevice *dev;
GUPnPServiceInfo *service;
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
/* By default the light is off */
status = FALSE;
LTVERSION = 4:0:0
+if OS_WIN32
+CONTEXT_MANAGER_IMPL = gupnp-windows-context-manager.c \
+ gupnp-windows-context-manager.h
+CONTEXT_MANAGER_CFLAGS =
+CONTEXT_MANAGER_LIBS = -lws2_32 -liphlpapi
+WIN32_LDFLAGS = -no-undefined
+else
CONTEXT_MANAGER_IMPL = gupnp-unix-context-manager.c \
- gupnp-unix-context-manager.h
+ gupnp-unix-context-manager.h
if USE_NETWORK_MANAGER
CONTEXT_MANAGER_IMPL += gupnp-network-manager.c \
gupnp-network-manager.h
CONTEXT_MANAGER_CFLAGS = -DUSE_CONNMAN
endif
endif
+endif
if HAVE_NETLINK
CONTEXT_MANAGER_IMPL += \
BUILT_SOURCES = gupnp-marshal.c gupnp-marshal.h
-libgupnp_1_0_la_LDFLAGS = -version-info $(LTVERSION)
+libgupnp_1_0_la_LDFLAGS = -version-info $(LTVERSION) $(WIN32_LDFLAGS)
libgupnp_1_0_la_SOURCES = $(introspection_sources) \
http-headers.c \
gena-protocol.h \
$(BUILT_SOURCES)
-libgupnp_1_0_la_LIBADD = $(LIBGUPNP_LIBS) $(DBUS_GLIB_LIBS) $(LIBCONIC_LIBS)
+libgupnp_1_0_la_LIBADD = $(LIBGUPNP_LIBS) $(DBUS_GLIB_LIBS) $(CONTEXT_MANAGER_LIBS)
EXTRA_DIST = gupnp-marshal.list \
gupnp-network-manager.c \
gupnp-linux-context-manager.c \
gupnp-linux-context-manager.h \
gupnp-unix-context-manager.c \
- gupnp-unix-context-manager.h
+ gupnp-unix-context-manager.h \
+ gupnp-windows-context-manager.c \
+ gupnp-windows-context-manager.h
-include $(INTROSPECTION_MAKEFILE)
INTROSPECTION_GIRS =
build_triplet = @build@
host_triplet = @host@
target_triplet = @target@
-@USE_NETWORK_MANAGER_TRUE@am__append_1 = gupnp-network-manager.c \
-@USE_NETWORK_MANAGER_TRUE@ gupnp-network-manager.h
+@OS_WIN32_FALSE@@USE_NETWORK_MANAGER_TRUE@am__append_1 = gupnp-network-manager.c \
+@OS_WIN32_FALSE@@USE_NETWORK_MANAGER_TRUE@ gupnp-network-manager.h
-@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@am__append_2 = gupnp-connman-manager.c \
-@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@ gupnp-connman-manager.h
+@OS_WIN32_FALSE@@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@am__append_2 = gupnp-connman-manager.c \
+@OS_WIN32_FALSE@@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@ gupnp-connman-manager.h
@HAVE_NETLINK_TRUE@am__append_3 = \
@HAVE_NETLINK_TRUE@ gupnp-linux-context-manager.c \
"$(DESTDIR)$(typelibdir)" "$(DESTDIR)$(libgupnpincdir)"
LTLIBRARIES = $(lib_LTLIBRARIES)
am__DEPENDENCIES_1 =
-libgupnp_1_0_la_DEPENDENCIES = $(am__DEPENDENCIES_1)
+libgupnp_1_0_la_DEPENDENCIES = $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
am__libgupnp_1_0_la_SOURCES_DIST = gupnp-context.h \
gupnp-context-manager.h gupnp-control-point.h gupnp-device.h \
gupnp-device-info.h gupnp-device-proxy.h gupnp-error.h \
gupnp-unix-context-manager.h gupnp-network-manager.c \
gupnp-network-manager.h gupnp-connman-manager.c \
gupnp-connman-manager.h gupnp-linux-context-manager.c \
- gupnp-linux-context-manager.h gupnp-simple-context-manager.h \
+ gupnp-linux-context-manager.h gupnp-windows-context-manager.c \
+ gupnp-windows-context-manager.h gupnp-simple-context-manager.h \
gupnp-simple-context-manager.c gupnp-device-info-private.h \
gupnp-error-private.h gupnp-resource-factory-private.h \
gupnp-service-introspection-private.h gupnp-types-private.h \
gupnp-error.lo gupnp-resource-factory.lo gupnp-root-device.lo \
gupnp-service.lo gupnp-service-info.lo gupnp-service-proxy.lo \
gupnp-service-introspection.lo gupnp-xml-doc.lo gupnp-types.lo
-@USE_NETWORK_MANAGER_TRUE@am__objects_3 = gupnp-network-manager.lo
-@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@am__objects_4 = gupnp-connman-manager.lo
+@OS_WIN32_FALSE@@USE_NETWORK_MANAGER_TRUE@am__objects_3 = gupnp-network-manager.lo
+@OS_WIN32_FALSE@@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@am__objects_4 = gupnp-connman-manager.lo
@HAVE_NETLINK_TRUE@am__objects_5 = gupnp-linux-context-manager.lo
-am__objects_6 = gupnp-unix-context-manager.lo $(am__objects_3) \
- $(am__objects_4) $(am__objects_5)
+@OS_WIN32_FALSE@am__objects_6 = gupnp-unix-context-manager.lo \
+@OS_WIN32_FALSE@ $(am__objects_3) $(am__objects_4) \
+@OS_WIN32_FALSE@ $(am__objects_5)
+@OS_WIN32_TRUE@am__objects_6 = gupnp-windows-context-manager.lo \
+@OS_WIN32_TRUE@ $(am__objects_3) $(am__objects_4) \
+@OS_WIN32_TRUE@ $(am__objects_5)
am__objects_7 = gupnp-marshal.lo
am_libgupnp_1_0_la_OBJECTS = $(am__objects_2) http-headers.lo \
$(am__objects_6) gupnp-simple-context-manager.lo \
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
LTVERSION = 4:0:0
-CONTEXT_MANAGER_IMPL = gupnp-unix-context-manager.c \
- gupnp-unix-context-manager.h $(am__append_1) $(am__append_2) \
- $(am__append_3)
-@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@CONTEXT_MANAGER_CFLAGS = -DUSE_CONNMAN
-@USE_NETWORK_MANAGER_TRUE@CONTEXT_MANAGER_CFLAGS = -DUSE_NETWORK_MANAGER
+@OS_WIN32_FALSE@CONTEXT_MANAGER_IMPL = gupnp-unix-context-manager.c \
+@OS_WIN32_FALSE@ gupnp-unix-context-manager.h $(am__append_1) \
+@OS_WIN32_FALSE@ $(am__append_2) $(am__append_3)
+@OS_WIN32_TRUE@CONTEXT_MANAGER_IMPL = gupnp-windows-context-manager.c \
+@OS_WIN32_TRUE@ gupnp-windows-context-manager.h $(am__append_1) \
+@OS_WIN32_TRUE@ $(am__append_2) $(am__append_3)
+@OS_WIN32_FALSE@@USE_CONNMAN_TRUE@@USE_NETWORK_MANAGER_FALSE@CONTEXT_MANAGER_CFLAGS = -DUSE_CONNMAN
+@OS_WIN32_FALSE@@USE_NETWORK_MANAGER_TRUE@CONTEXT_MANAGER_CFLAGS = -DUSE_NETWORK_MANAGER
+@OS_WIN32_TRUE@CONTEXT_MANAGER_CFLAGS =
+@OS_WIN32_TRUE@CONTEXT_MANAGER_LIBS = -lws2_32 -liphlpapi
+@OS_WIN32_TRUE@WIN32_LDFLAGS = -no-undefined
@USE_NETLINK_FALSE@NETLINK_CFLAGS =
@USE_NETLINK_TRUE@NETLINK_CFLAGS = -DUSE_NETLINK
AM_CFLAGS = $(LIBGUPNP_CFLAGS) \
gupnp-types.c
BUILT_SOURCES = gupnp-marshal.c gupnp-marshal.h
-libgupnp_1_0_la_LDFLAGS = -version-info $(LTVERSION)
+libgupnp_1_0_la_LDFLAGS = -version-info $(LTVERSION) $(WIN32_LDFLAGS)
libgupnp_1_0_la_SOURCES = $(introspection_sources) \
http-headers.c \
http-headers.h \
gena-protocol.h \
$(BUILT_SOURCES)
-libgupnp_1_0_la_LIBADD = $(LIBGUPNP_LIBS) $(DBUS_GLIB_LIBS) $(LIBCONIC_LIBS)
+libgupnp_1_0_la_LIBADD = $(LIBGUPNP_LIBS) $(DBUS_GLIB_LIBS) $(CONTEXT_MANAGER_LIBS)
EXTRA_DIST = gupnp-marshal.list \
gupnp-network-manager.c \
gupnp-network-manager.h \
gupnp-linux-context-manager.c \
gupnp-linux-context-manager.h \
gupnp-unix-context-manager.c \
- gupnp-unix-context-manager.h
+ gupnp-unix-context-manager.h \
+ gupnp-windows-context-manager.c \
+ gupnp-windows-context-manager.h
INTROSPECTION_GIRS = $(am__append_4)
INTROSPECTION_SCANNER_ARGS = --warn-all \
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gupnp-simple-context-manager.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gupnp-types.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gupnp-unix-context-manager.Plo@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gupnp-windows-context-manager.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gupnp-xml-doc.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/gvalue-util.Plo@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/http-headers.Plo@am__quote@
#include <stdlib.h>
#include <stdio.h>
#include <libsoup/soup-address.h>
+#include <glib.h>
#include <glib/gstdio.h>
#include "gupnp.h"
#endif
GUPnPContextManager *impl;
GType impl_type = G_TYPE_INVALID;
+#ifdef G_OS_WIN32
+#include "gupnp-windows-context-manager.h"
+ impl_type = GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER;
+#else
#ifdef USE_NETWORK_MANAGER
#include "gupnp-network-manager.h"
system_bus = g_bus_get_sync (G_BUS_TYPE_SYSTEM, NULL, NULL);
#else
impl_type = GUPNP_TYPE_UNIX_CONTEXT_MANAGER;
#endif
-
+#endif /* G_OS_WIN32 */
impl = g_object_new (impl_type,
"port", port,
NULL);
guint
gupnp_context_manager_get_port (GUPnPContextManager *manager)
{
- g_return_if_fail (GUPNP_IS_CONTEXT_MANAGER (manager));
+ g_return_val_if_fail (GUPNP_IS_CONTEXT_MANAGER (manager), 0);
return manager->priv->port;
}
* GUPnP classes. It automatically starts a web server on demand.
*
* For debugging, it is possible to see the messages being sent and received by
- * exporting #GUPNP_DEBUG.
+ * exporting %GUPNP_DEBUG.
*/
#include <config.h>
#include <fcntl.h>
#include <stdlib.h>
#include <stdio.h>
+#include <glib.h>
+#ifndef G_OS_WIN32
#include <sys/utsname.h>
-#include <sys/ioctl.h>
-#include <sys/socket.h>
+#endif
#include <sys/types.h>
#include <sys/stat.h>
#include <libsoup/soup-address.h>
static char *
make_server_id (void)
{
+#ifdef G_OS_WIN32
+ OSVERSIONINFO versioninfo;
+ versioninfo.dwOSVersionInfoSize = sizeof (OSVERSIONINFO);
+ if (GetVersionEx (&versioninfo)) {
+ return g_strdup_printf ("Microsoft Windows/%ld.%ld"
+ " UPnP/1.0 GUPnP/%s",
+ versioninfo.dwMajorVersion,
+ versioninfo.dwMinorVersion,
+ VERSION);
+ } else {
+ return g_strdup_printf ("Microsoft Windows UPnP/1.0 GUPnP/%s",
+ VERSION);
+ }
+#else
struct utsname sysinfo;
uname (&sysinfo);
sysinfo.sysname,
sysinfo.release,
VERSION);
+#endif
}
static void
* gupnp_context_new:
* @main_context: (allow-none): Deprecated: 0.17.2: Always set to %NULL. If you
* want to use a different context, use g_main_context_push_thread_default().
- * @interface: (allow-none): The network interface to use, or %NULL to
+ * @iface: (allow-none): The network interface to use, or %NULL to
* auto-detect.
* @port: Port to run on, or 0 if you don't care what port is used.
* @error: A location to store a #GError, or %NULL
*
- * Create a new #GUPnPContext with the specified @main_context, @interface and
+ * Create a new #GUPnPContext with the specified @main_context, @iface and
* @port.
*
* Return value: A new #GUPnPContext object, or %NULL on an error
**/
GUPnPContext *
gupnp_context_new (GMainContext *main_context,
- const char *interface,
+ const char *iface,
guint port,
GError **error)
{
return g_initable_new (GUPNP_TYPE_CONTEXT,
NULL,
error,
- "interface", interface,
+ "interface", iface,
"port", port,
NULL);
}
GUPnPContext *
gupnp_context_new (GMainContext *main_context,
- const char *interface,
+ const char *iface,
guint port,
GError **error);
proxy);
}
+static gboolean
+compare_service_types_versioned (const char *searched_service,
+ const char *current_service)
+{
+ const char *searched_version_ptr, *current_version_ptr;
+ guint searched_version, current_version, searched_length;
+ guint current_length;
+
+ searched_version_ptr = strrchr (searched_service, ':');
+ if (searched_version_ptr == NULL)
+ return FALSE;
+
+ current_version_ptr = strrchr (current_service, ':');
+ if (current_version_ptr == NULL)
+ return FALSE;
+
+ searched_length = (searched_version_ptr - searched_service);
+ current_length = (current_version_ptr - current_service);
+
+ if (searched_length != current_length)
+ return FALSE;
+
+ searched_version = (guint) atol (searched_version_ptr + 1);
+ if (searched_version == 0)
+ return FALSE;
+
+ current_version = (guint) atol (current_version_ptr + 1);
+ if (current_version == 0)
+ return FALSE;
+
+ if (current_version < searched_version)
+ return FALSE;
+
+ return strncmp (searched_service,
+ current_service,
+ searched_length) == 0;
+}
+
/* Search @element for matching services */
static void
process_service_list (xmlNode *element,
if (!prop)
continue;
- match = (strcmp ((char *) prop, service_type) == 0);
-
+ match = compare_service_types_versioned (service_type,
+ (char *) prop);
xmlFree (prop);
if (!match)
do {
receive_netlink_message (self, &error);
} while (error == NULL);
+
+ g_error_free (error);
}
static void
return root_device->priv->description_dir;
}
+
+/**
+ * gupnp_root_device_get_ssdp_resource_group:
+ * @root_device: A #GUPnPRootDevice
+ *
+ * Get the #GSSDPResourceGroup used by @root_device.
+ *
+ * Returns: (transfer none): The #GSSDPResourceGroup of @root_device.
+ **/
+GSSDPResourceGroup *
+gupnp_root_device_get_ssdp_resource_group (GUPnPRootDevice *root_device)
+{
+ g_return_val_if_fail (GUPNP_IS_ROOT_DEVICE (root_device), NULL);
+
+ return root_device->priv->group;
+}
#include <libxml/tree.h>
+#include <libgssdp/gssdp-resource-group.h>
+
#include "gupnp-context.h"
#include "gupnp-device.h"
#include "gupnp-resource-factory.h"
gupnp_root_device_get_description_dir
(GUPnPRootDevice *root_device);
+GSSDPResourceGroup *
+gupnp_root_device_get_ssdp_resource_group
+ (GUPnPRootDevice *root_device);
+
G_END_DECLS
#endif /* __GUPNP_ROOT_DEVICE_H__ */
GError *error; /* If non-NULL, description of error that
occurred when preparing message */
-
- va_list var_args; /* The va_list after begin_action_valist has
- gone through it. Used by send_action_valist(). */
};
typedef struct {
g_main_loop_quit ((GMainLoop *) user_data);
}
+/* This is a skip variant of G_VALUE_LCOPY, same as there is
+ * G_VALUE_COLLECT_SKIP for G_VALUE_COLLECT.
+ */
+#define VALUE_LCOPY_SKIP(value_type, var_args) \
+ G_STMT_START { \
+ GTypeValueTable *_vtable = g_type_value_table_peek (value_type); \
+ const gchar *_lcopy_format = _vtable->lcopy_format; \
+ \
+ while (*_lcopy_format) { \
+ switch (*_lcopy_format++) { \
+ case G_VALUE_COLLECT_INT: \
+ va_arg ((var_args), gint); \
+ break; \
+ case G_VALUE_COLLECT_LONG: \
+ va_arg ((var_args), glong); \
+ break; \
+ case G_VALUE_COLLECT_INT64: \
+ va_arg ((var_args), gint64); \
+ break; \
+ case G_VALUE_COLLECT_DOUBLE: \
+ va_arg ((var_args), gdouble); \
+ break; \
+ case G_VALUE_COLLECT_POINTER: \
+ va_arg ((var_args), gpointer); \
+ break; \
+ default: \
+ g_assert_not_reached (); \
+ } \
+ } \
+ } G_STMT_END
+
+/* Initializes hash table to hold arg names as keys and GValues of
+ * given type, but without any specific value. Note that if you are
+ * going to use OUT_HASH_TABLE_TO_VAR_ARGS then you have to store a
+ * copy of var_args with G_VA_COPY before using this macro.
+ */
+#define VAR_ARGS_TO_OUT_HASH_TABLE(var_args, hash) \
+ G_STMT_START { \
+ const gchar *arg_name = va_arg (var_args, const gchar *); \
+ \
+ while (arg_name != NULL) { \
+ GValue *value = g_new0 (GValue, 1); \
+ GType type = va_arg (var_args, GType); \
+ \
+ VALUE_LCOPY_SKIP (type, var_args); \
+ g_value_init (value, type); \
+ g_hash_table_insert (hash, g_strdup (arg_name), value); \
+ arg_name = va_arg (var_args, const gchar *); \
+ } \
+ } G_STMT_END
+
+/* Initializes hash table to hold arg names as keys and GValues of
+ * given type and value.
+ */
+#define VAR_ARGS_TO_IN_HASH_TABLE(var_args, hash) \
+ G_STMT_START { \
+ const gchar *arg_name = va_arg (var_args, const gchar *); \
+ \
+ while (arg_name != NULL) { \
+ GValue *value = g_new0 (GValue, 1); \
+ gchar *error = NULL; \
+ GType type = va_arg (var_args, GType); \
+ \
+ G_VALUE_COLLECT_INIT (value, \
+ type, \
+ var_args, \
+ G_VALUE_NOCOPY_CONTENTS, \
+ &error); \
+ if (error == NULL) { \
+ g_hash_table_insert (hash, g_strdup (arg_name), value); \
+ } else { \
+ g_warning ("Failed to collect value of type %s for %s: %s", \
+ g_type_name (type), \
+ arg_name, \
+ error); \
+ g_free (error); \
+ } \
+ arg_name = va_arg (var_args, const gchar *); \
+ } \
+ } G_STMT_END
+
+/* Puts values stored in hash table with GValues into var args.
+ */
+#define OUT_HASH_TABLE_TO_VAR_ARGS(hash, var_args) \
+ G_STMT_START { \
+ const gchar *arg_name = va_arg (var_args, const gchar *); \
+ \
+ while (arg_name != NULL) { \
+ GValue *value = g_hash_table_lookup (hash, arg_name); \
+ GType type = va_arg (var_args, GType); \
+ \
+ if (value == NULL) { \
+ g_warning ("No value for %s", arg_name); \
+ G_VALUE_COLLECT_SKIP (type, var_args); \
+ } else if (G_VALUE_TYPE (value) != type) { \
+ g_warning ("Different GType in value (%s) and in var args (%s) for %s.", \
+ G_VALUE_TYPE_NAME (value), \
+ g_type_name (type), \
+ arg_name); \
+ } else { \
+ gchar *error = NULL; \
+ \
+ G_VALUE_LCOPY (value, var_args, 0, &error); \
+ if (error != NULL) { \
+ g_warning ("Failed to lcopy the value of type %s for %s: %s", \
+ g_type_name (type), \
+ arg_name, \
+ error); \
+ g_free (error); \
+ } \
+ } \
+ arg_name = va_arg (var_args, const gchar *); \
+ } \
+ } G_STMT_END
+
+/* GDestroyNotify for GHashTable holding GValues.
+ */
+static void
+value_free (gpointer data)
+{
+ GValue *value = (GValue *) data;
+
+ g_value_unset (value);
+ g_free (value);
+}
+
/**
* gupnp_service_proxy_send_action_valist:
* @proxy: A #GUPnPServiceProxy
* parameter value, followed by %NULL, and then tuples of out parameter name,
* out parameter type, and out parameter value location
*
- * See gupnp_service_proxy_send_action(); this version takes a va_list for
- * use by language bindings.
+ * See gupnp_service_proxy_send_action().
*
* Return value: %TRUE if sending the action was succesful.
**/
GError **error,
va_list var_args)
{
- GMainLoop *main_loop;
- GUPnPServiceProxyAction *handle;
+ GHashTable *in_hash;
+ GHashTable *out_hash;
+ va_list var_args_copy;
+ gboolean result;
+ GError *local_error;
g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), FALSE);
g_return_val_if_fail (action, FALSE);
- main_loop = g_main_loop_new (g_main_context_get_thread_default (),
- TRUE);
-
- handle = gupnp_service_proxy_begin_action_valist (proxy,
- action,
- stop_main_loop,
- main_loop,
- var_args);
-
- /* Loop till we get a reply (or time out) */
- if (g_main_loop_is_running (main_loop))
- g_main_loop_run (main_loop);
-
- g_main_loop_unref (main_loop);
+ in_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ value_free);
+ VAR_ARGS_TO_IN_HASH_TABLE (var_args, in_hash);
+ G_VA_COPY (var_args_copy, var_args);
+ out_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ value_free);
+ VAR_ARGS_TO_OUT_HASH_TABLE (var_args, out_hash);
+
+ local_error = NULL;
+ result = gupnp_service_proxy_send_action_hash (proxy,
+ action,
+ &local_error,
+ in_hash,
+ out_hash);
- if (!gupnp_service_proxy_end_action_valist (proxy,
- handle,
- error,
- handle->var_args))
- return FALSE;
+ if (local_error == NULL) {
+ OUT_HASH_TABLE_TO_VAR_ARGS (out_hash, var_args_copy);
+ } else {
+ g_propagate_error (error, local_error);
+ }
+ va_end (var_args_copy);
+ g_hash_table_unref (in_hash);
+ g_hash_table_unref (out_hash);
- return TRUE;
+ return result;
}
/**
* @var_args: A va_list of tuples of in parameter name, in parameter type, and
* in parameter value
*
- * See gupnp_service_proxy_begin_action(); this version takes a va_list for
- * use by language bindings.
+ * See gupnp_service_proxy_begin_action().
*
* Returns: (transfer none): A #GUPnPServiceProxyAction handle. This will
* be freed when calling gupnp_service_proxy_cancel_action() or
gpointer user_data,
va_list var_args)
{
- const char *arg_name;
GUPnPServiceProxyAction *ret;
+ GHashTable *in_hash;
g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), NULL);
g_return_val_if_fail (action, NULL);
g_return_val_if_fail (callback, NULL);
- /* Create message */
- ret = begin_action_msg (proxy, action, callback, user_data);
-
- if (ret->error) {
- callback (proxy, ret, user_data);
-
- return ret;
- }
-
- /* Arguments */
- arg_name = va_arg (var_args, const char *);
- while (arg_name) {
- GType arg_type;
- GValue value = { 0, };
- char *collect_error = NULL;
-
- arg_type = va_arg (var_args, GType);
- g_value_init (&value, arg_type);
-
- G_VALUE_COLLECT (&value, var_args, G_VALUE_NOCOPY_CONTENTS,
- &collect_error);
- if (!collect_error) {
- write_in_parameter (arg_name, &value, ret->msg_str);
-
- g_value_unset (&value);
-
- } else {
- g_warning ("Error collecting value: %s\n",
- collect_error);
-
- g_free (collect_error);
-
- /* we purposely leak the value here, it might not be
- * in a sane state if an error condition occoured
- */
- }
-
- arg_name = va_arg (var_args, const char *);
- }
-
- /* Finish and send off */
- finish_action_msg (ret, action);
- /* Save the current position in the va_list for send_action_valist() */
- G_VA_COPY (ret->var_args, var_args);
+ in_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ value_free);
+ VAR_ARGS_TO_IN_HASH_TABLE (var_args, in_hash);
+ ret = gupnp_service_proxy_begin_action_hash (proxy,
+ action,
+ callback,
+ user_data,
+ in_hash);
+ g_hash_table_unref (in_hash);
return ret;
}
* and out parameter value location. The out parameter values should be
* freed after use
*
- * See gupnp_service_proxy_end_action(); this version takes a va_list for
- * use by language bindings.
+ * See gupnp_service_proxy_end_action().
*
* Return value: %TRUE on success.
**/
GError **error,
va_list var_args)
{
- xmlDoc *response;
- xmlNode *params;
- const char *arg_name;
+ GHashTable *out_hash;
+ va_list var_args_copy;
+ gboolean result;
+ GError *local_error;
g_return_val_if_fail (GUPNP_IS_SERVICE_PROXY (proxy), FALSE);
g_return_val_if_fail (action, FALSE);
g_return_val_if_fail (proxy == action->proxy, FALSE);
- /* Check for saved error from begin_action() */
- if (action->error) {
- if (error)
- *error = action->error;
- else
- g_error_free (action->error);
-
- gupnp_service_proxy_action_free (action);
-
- return FALSE;
- }
-
- /* Check response for errors and do initial parsing */
- response = check_action_response (proxy, action, ¶ms, error);
- if (response == NULL) {
- gupnp_service_proxy_action_free (action);
-
- return FALSE;
- }
-
- /* Arguments */
- arg_name = va_arg (var_args, const char *);
- while (arg_name) {
- GType arg_type;
- GValue value = { 0, };
- char *copy_error = NULL;
-
- arg_type = va_arg (var_args, GType);
-
- g_value_init (&value, arg_type);
-
- read_out_parameter (arg_name, &value, params);
-
- G_VALUE_LCOPY (&value, var_args, 0, ©_error);
-
- g_value_unset (&value);
-
- if (copy_error) {
- g_warning ("Error copying value: %s", copy_error);
-
- g_free (copy_error);
- }
+ out_hash = g_hash_table_new_full (g_str_hash,
+ g_str_equal,
+ g_free,
+ value_free);
+ G_VA_COPY (var_args_copy, var_args);
+ VAR_ARGS_TO_OUT_HASH_TABLE (var_args, out_hash);
+ local_error = NULL;
+ result = gupnp_service_proxy_end_action_hash (proxy,
+ action,
+ &local_error,
+ out_hash);
- arg_name = va_arg (var_args, const char *);
+ if (local_error == NULL) {
+ OUT_HASH_TABLE_TO_VAR_ARGS (out_hash, var_args_copy);
+ } else {
+ g_propagate_error (error, local_error);
}
+ va_end (var_args_copy);
+ g_hash_table_unref (out_hash);
- /* Cleanup */
- gupnp_service_proxy_action_free (action);
-
- xmlFreeDoc (response);
-
- return TRUE;
+ return result;
}
/**
*
* Cancels the variable change notification for @callback and @user_data.
*
+ * This function must not be called directly or indirectly from a
+ * #GUPnPServiceProxyNotifyCallback associated with this service proxy, even
+ * if it is for another variable.
+ *
* Return value: %TRUE on success.
**/
gboolean
if (data->callbacks == NULL) {
/* No callbacks left: Remove from hash */
g_hash_table_remove (proxy->priv->notify_hash,
- data);
+ variable);
}
found = TRUE;
#include <gobject/gvaluecollector.h>
#include <gmodule.h>
#include <libsoup/soup-date.h>
-#include <uuid/uuid.h>
#include <string.h>
#include "gupnp-service.h"
#include "gupnp-root-device.h"
#include "xml-util.h"
#include "gvalue-util.h"
+#ifdef G_OS_WIN32
+#include <rpc.h>
+#else
+#include <uuid/uuid.h>
+#endif
+
#define SUBSCRIPTION_TIMEOUT 300 /* DLNA (7.2.22.1) enforced */
G_DEFINE_TYPE (GUPnPService,
static char *
generate_sid (void)
{
+#ifdef G_OS_WIN32
+ char *ret = NULL;
+ UUID uuid;
+ RPC_STATUS stat;
+ stat = UuidCreate (&uuid);
+ if (stat == RPC_S_OK) {
+ unsigned char* uuidStr = NULL;
+ stat = UuidToString (&uuid, &uuidStr);
+ if (stat == RPC_S_OK) {
+ ret = g_strdup_printf ("uuid:%s", uuidStr);
+ RpcStringFree (&uuidStr);
+ }
+ }
+
+ return ret;
+#else
uuid_t id;
char out[39];
uuid_unparse (id, out);
return g_strdup_printf ("uuid:%s", out);
+#endif
}
/* Subscription expired */
/**
* GUPnPService::action-invoked:
* @service: The #GUPnPService that received the signal
- * @action: The invoked #GUPnPAction
+ * @action: The invoked #GUPnPServiceAction
*
* Emitted whenever an action is invoked. Handler should process
* @action and must call either gupnp_service_action_return() or
/* Queue */
data->pending_messages = g_list_prepend (data->pending_messages, msg);
+ soup_message_headers_append (msg->request_headers,
+ "Connection", "close");
session = gupnp_service_get_session (data->service);
* #GUPnPService::action-invoked and #GUPnPService::query-variable signals to
* appropriate callbacks for the service @service. It uses service introspection
* and GModule's introspective features. It is very simillar to
- * glade_xml_signal_autoconnect() except that it attempts to guess the names of
+ * gtk_builder_connect_signals() except that it attempts to guess the names of
* the signal handlers on its own.
*
* For this function to do its magic, the application must name the callback
--- /dev/null
+/*
+ * Copyright (C) 2009, 2010 Jens Georg
+ * Copyright (C) 2009 Nokia Corporation.
+ * Copyright (C) 2006, 2007, 2008 OpenedHand Ltd.
+ *
+ * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
+ * Jorn Baayen <jorn@openedhand.com>
+ * Jens Georg <mail@jensge.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/**
+ * SECTION:gupnp-windows-context-manager
+ * @short_description: Windows-specific implementation of #GUPnPContextManager.
+ */
+
+#include <config.h>
+#include <string.h>
+#ifndef _WIN32_WINNT
+#define _WIN32_WINNT 0x0502
+#endif
+#include <winsock2.h>
+#include <ws2tcpip.h>
+#include <iphlpapi.h>
+
+#include "gupnp-windows-context-manager.h"
+#include "gupnp-context.h"
+
+G_DEFINE_TYPE (GUPnPWindowsContextManager,
+ gupnp_windows_context_manager,
+ GUPNP_TYPE_SIMPLE_CONTEXT_MANAGER);
+
+/*
+ * Create a context for all network interfaces that are up.
+ */
+static GList *
+gupnp_windows_context_manager_get_interfaces
+ (GUPnPSimpleContextManager *manager)
+{
+ GList *interfaces = NULL;
+ ULONG flags = GAA_FLAG_INCLUDE_PREFIX |
+ GAA_FLAG_SKIP_DNS_SERVER |
+ GAA_FLAG_SKIP_MULTICAST;
+ /* use 15k buffer initially as documented in MSDN */
+ DWORD size = 0x3C00;
+ DWORD ret;
+ PIP_ADAPTER_ADDRESSES adapters_addresses;
+ PIP_ADAPTER_ADDRESSES adapter;
+
+ do {
+ adapters_addresses = (PIP_ADAPTER_ADDRESSES) g_malloc0 (size);
+ ret = GetAdaptersAddresses (AF_UNSPEC,
+ flags,
+ NULL,
+ adapters_addresses,
+ &size);
+ if (ret == ERROR_BUFFER_OVERFLOW) {
+ g_free (adapters_addresses);
+ }
+ } while (ret == ERROR_BUFFER_OVERFLOW);
+
+ if (ret != ERROR_SUCCESS)
+ return NULL;
+
+ for (adapter = adapters_addresses;
+ adapter != NULL;
+ adapter = adapter->Next) {
+ if (adapter->FirstUnicastAddress == NULL)
+ continue;
+ if (adapter->OperStatus != IfOperStatusUp)
+ continue;
+ interfaces = g_list_append (interfaces,
+ g_strdup (adapter->AdapterName));
+ }
+
+ return interfaces;
+}
+
+static void
+gupnp_windows_context_manager_init (GUPnPWindowsContextManager *manager)
+{
+}
+
+static void
+gupnp_windows_context_manager_class_init (GUPnPWindowsContextManagerClass *klass)
+{
+ GUPnPSimpleContextManagerClass *parent_class;
+
+ parent_class = GUPNP_SIMPLE_CONTEXT_MANAGER_CLASS (klass);
+ parent_class->get_interfaces =
+ gupnp_windows_context_manager_get_interfaces;
+}
--- /dev/null
+/*
+ * Copyright (C) 2009, 2010 Jens Georg
+ * Copyright (C) 2009 Nokia Corporation.
+ * Copyright (C) 2006, 2007, 2008 OpenedHand Ltd.
+ *
+ * Author: Zeeshan Ali (Khattak) <zeeshanak@gnome.org>
+ * Jorn Baayen <jorn@openedhand.com>
+ * Jens Georg <mail@jensge.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+#ifndef __GUPNP_WINDOWS_CONTEXT_MANAGER_H__
+#define __GUPNP_WINDOWS_CONTEXT_MANAGER_H__
+
+#include "gupnp-simple-context-manager.h"
+
+G_BEGIN_DECLS
+
+GType
+gupnp_windows_context_manager_get_type (void) G_GNUC_CONST;
+
+#define GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER \
+ (gupnp_windows_context_manager_get_type ())
+#define GUPNP_WINDOWS_CONTEXT_MANAGER(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST ((obj), \
+ GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER, \
+ GUPnPWindowsContextManager))
+#define GUPNP_WINDOWS_CONTEXT_MANAGER_CLASS(obj) \
+ (G_TYPE_CHECK_CLASS_CAST ((obj), \
+ GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER, \
+ GUPnPWindowsContextManagerClass))
+#define GUPNP_IS_WINDOWS_CONTEXT_MANAGER(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE ((obj), \
+ GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER))
+#define GUPNP_IS_WINDOWS_CONTEXT_MANAGER_CLASS(obj) \
+ (G_TYPE_CHECK_CLASS_TYPE ((obj), \
+ GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER))
+#define GUPNP_WINDOWS_CONTEXT_MANAGER_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), \
+ GUPNP_TYPE_WINDOWS_CONTEXT_MANAGER, \
+ GUPnPWindowsContextManagerClass))
+
+typedef struct {
+ GUPnPSimpleContextManager parent;
+} GUPnPWindowsContextManager;
+
+typedef struct {
+ GUPnPSimpleContextManagerClass parent_class;
+
+ /* future padding */
+ void (* _gupnp_reserved1) (void);
+ void (* _gupnp_reserved2) (void);
+ void (* _gupnp_reserved3) (void);
+ void (* _gupnp_reserved4) (void);
+} GUPnPWindowsContextManagerClass;
+
+G_END_DECLS
+
+#endif /* __GUPNP_WINDOWS_CONTEXT_MANAGER_H__ */
int dash_index;
GString *tmp;
- locale = setlocale (LC_ALL, NULL);
+#ifdef G_OS_WIN32
+ /* TODO: Use GetSystemDefaultLangID or similar */
+ return;
+#else
+
+ locale = setlocale (LC_MESSAGES, NULL);
+
if (locale == NULL)
return;
tmp->str);
g_string_free (tmp, TRUE);
+#endif
}
static double
+* Thu Mar 07 2013 Regis Merlino <regis.merlino@intel.com>
+- Submit version 0.20.1 of GUPnP (4186015)
+
* Tue Nov 27 10:22:57 CET 2012 - Mark Ryan <mark.d.ryan@intel.com>
- Submit version 0.19.1 (24bd15c) of GUPnP
Name: gupnp
Summary: GUPnP is an framework for creating UPnP devices & control points
-Version: 0.19.1
+Version: 0.20.1
Release: 1
Group: System/Libraries
License: LGPLv2+
URL: http://www.gupnp.org/
-Source0: http://download.gnome.org/sources/%{name}/0.19/%{name}-%{version}.tar.bz2
+Source0: http://download.gnome.org/sources/%{name}/0.20/%{name}-%{version}.tar.bz2
Requires(post): /sbin/ldconfig
Requires(postun): /sbin/ldconfig
BuildRequires: pkgconfig(glib-2.0)
if HAVE_GTEST
TESTS_ENVIRONMENT = G_SLICE=debug-blocks \
- LD_LIBRARY_PATH=$(top_builddir)/libgupnp/.libs
+ LD_LIBRARY_PATH=$(top_builddir)/libgupnp/.libs:$(LD_LIBRARY_PATH)
TESTS=$(check_PROGRAMS)
AM_CFLAGS = \
$(LIBGUPNP_CFLAGS) \
-I $(top_srcdir) \
- -DDATA_PATH="\"$(srcdir)\""
+ -DDATA_PATH="\"$(srcdir)/data\""
-EXTRA_DIST=random4k.bin
+EXTRA_DIST=data/random4k.bin
top_builddir = @top_builddir@
top_srcdir = @top_srcdir@
@HAVE_GTEST_TRUE@TESTS_ENVIRONMENT = G_SLICE=debug-blocks \
-@HAVE_GTEST_TRUE@ LD_LIBRARY_PATH=$(top_builddir)/libgupnp/.libs
+@HAVE_GTEST_TRUE@ LD_LIBRARY_PATH=$(top_builddir)/libgupnp/.libs:$(LD_LIBRARY_PATH)
@HAVE_GTEST_TRUE@TESTS = $(check_PROGRAMS)
@HAVE_GTEST_TRUE@test_context_SOURCES = test-context.c
AM_CFLAGS = \
$(LIBGUPNP_CFLAGS) \
-I $(top_srcdir) \
- -DDATA_PATH="\"$(srcdir)\""
+ -DDATA_PATH="\"$(srcdir)/data\""
-EXTRA_DIST = random4k.bin
+EXTRA_DIST = data/random4k.bin
all: all-am
.SUFFIXES:
DATA_PATH "/random4k.bin",
"/random4k.bin");
- uri = g_strdup_printf ("http://localhost:%u/random4k.bin", port);
+ uri = g_strdup_printf ("http://127.0.0.1:%u/random4k.bin", port);
g_assert (uri != NULL);
session = soup_session_async_new ();
}
int main (int argc, char *argv[]) {
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
g_test_init (&argc, &argv, NULL);
g_test_add_func ("/context/http/ranged-requests",
test_gupnp_context_http_ranged_requests);
#include <string.h>
#include <locale.h>
#include <signal.h>
+#include <glib.h>
GMainLoop *main_loop;
GError *error;
GUPnPContext *context;
GUPnPControlPoint *cp;
+#ifndef G_OS_WIN32
struct sigaction sig_action;
+#endif /* G_OS_WIN32 */
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
setlocale (LC_ALL, "");
error = NULL;
main_loop = g_main_loop_new (NULL, FALSE);
+#ifndef G_OS_WIN32
/* Hook the handler for SIGTERM */
memset (&sig_action, 0, sizeof (sig_action));
sig_action.sa_handler = interrupt_signal_handler;
sigaction (SIGINT, &sig_action, NULL);
+#else
+ signal(SIGINT, interrupt_signal_handler);
+#endif /* G_OS_WIN32 */
g_main_loop_run (main_loop);
g_main_loop_unref (main_loop);
#include <stdlib.h>
#include <string.h>
#include <signal.h>
+#include <glib.h>
GMainLoop *main_loop;
GUPnPContext *context;
GUPnPControlPoint *cp;
GOptionContext *option_context;
+#ifndef G_OS_WIN32
struct sigaction sig_action;
+#endif /* G_OS_WIN32 */
option_context = g_option_context_new ("- test GUPnP introspection");
g_option_context_add_main_entries (option_context,
return EXIT_FAILURE;
}
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
error = NULL;
context = g_initable_new (GUPNP_TYPE_CONTEXT, NULL, &error, NULL);
main_loop = g_main_loop_new (NULL, FALSE);
/* Hook the handler for SIGTERM */
+#ifndef G_OS_WIN32
memset (&sig_action, 0, sizeof (sig_action));
sig_action.sa_handler = interrupt_signal_handler;
sigaction (SIGINT, &sig_action, NULL);
+#else
+ signal(SIGINT,interrupt_signal_handler);
+#endif /* G_OS_WIN32 */
g_main_loop_run (main_loop);
g_main_loop_unref (main_loop);
#include <string.h>
#include <locale.h>
#include <signal.h>
+#include <glib.h>
GMainLoop *main_loop;
GError *error;
GUPnPContext *context;
GUPnPControlPoint *cp;
+#ifndef G_OS_WIN32
struct sigaction sig_action;
+#endif /* G_OS_WIN32 */
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
setlocale (LC_ALL, "");
error = NULL;
main_loop = g_main_loop_new (NULL, FALSE);
/* Hook the handler for SIGTERM */
+#ifndef G_OS_WIN32
memset (&sig_action, 0, sizeof (sig_action));
sig_action.sa_handler = interrupt_signal_handler;
sigaction (SIGINT, &sig_action, NULL);
+#else
+ signal(SIGINT,interrupt_signal_handler);
+#endif /* G_OS_WIN32 */
g_main_loop_run (main_loop);
g_main_loop_unref (main_loop);
GUPnPContext *context;
GUPnPRootDevice *dev;
GUPnPServiceInfo *content_dir;
+#ifndef G_OS_WIN32
struct sigaction sig_action;
+#endif /* G_OS_WIN32 */
if (argc < 2) {
g_printerr ("Usage: %s DESCRIPTION_FILE\n", argv[0]);
return EXIT_FAILURE;
}
+#if !GLIB_CHECK_VERSION(2,35,0)
g_type_init ();
+#endif
setlocale (LC_ALL, "");
error = NULL;
main_loop = g_main_loop_new (NULL, FALSE);
/* Hook the handler for SIGTERM */
+#ifndef G_OS_WIN32
memset (&sig_action, 0, sizeof (sig_action));
sig_action.sa_handler = interrupt_signal_handler;
sigaction (SIGINT, &sig_action, NULL);
+#else
+ signal(SIGINT, interrupt_signal_handler);
+#endif /* G_OS_WIN32 */
g_main_loop_run (main_loop);
g_main_loop_unref (main_loop);