1 <?xml version="1.0" encoding="utf-8"?>
2 <!DOCTYPE chapter PUBLIC "-//OASIS//DTD DocBook XML V4.2//EN" "http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd">
4 <chapter id="overview">
5 <title>Overview</title>
7 <ulink url="http://www.gupnp.org">GUPnP</ulink> is a library for
8 implementing both <ulink url="http://www.upnp.org">UPnP</ulink> clients and
9 services in C, using <ulink url="http://www.gtk.org/">GObject</ulink> and
10 <ulink url="http://live.gnome.org/LibSoup">LibSoup</ulink>. It allows for
11 fully asynchronous use without using threads and so cleanly integrates
12 naturally into main-loop based applications, and supports all of the UPnP
16 This documentation assumes some familiarity with the UPnP model and
17 concepts. If the reader doesn't have any prior understanding of UPnP, then
18 we can recommend <ulink
19 url="http://www.intel.com/intelpress/sum_upnp.htm"><citetitle>UPnP Design By
20 Example</citetitle></ulink> by Intel Press. For a very basic overview of
21 UPnP, see <glossterm linkend="device">Device</glossterm>, <glossterm
22 linkend="service">Service</glossterm>, and <glossterm
23 linkend="controlpoint">Control Point</glossterm> in the glossary.
26 The canonical reference for UPnP is <citetitle>UPnP Device
27 Architecture</citetitle> by
28 <ulink url="http://www.upnp.org">UPnP Forum</ulink>. GUPnP also
29 follows the <citetitle>DLNA Networked Device Interoperability
30 Guidelines</citetitle> by <ulink url="">Digital Living Network alliance</ulink>
31 (to the extent that the guidelines are applicable to a UPnP protocol