<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" type="topic" id="gupnp" xml:lang="gl">
<info>
  <link type="guide" xref="index" group="gstreamer"/>
  <desc>Un marco de traballo UPnP doado de usar, eficiente e flexíbel</desc>
  <revision pkgversion="1.0" date="2011-05-17" status="candidate"/>
</info>

<title>GUPnP</title>

<p>GUPnP é un marco de traballo de fontes abertas orientado a obxectos para crear dispositivos UPnP e puntos de control, escrito en C empregando GObject e libsoup. A API de GUPnP pretende ser doado de usar, eficiente e flexíbel.</p>

<p>O marco de traballo GUPnP consiste  nos seguintes paquetes/compoñentes:</p>

<list>

<item><p>GSSDP: unha biblioteca de baixo nivel que implementa o descubrimento e anuncio de recursos en redes mediante o protocolo SSDP.</p></item>

<item><p>GUPnP: a biblioteca principal que implementa a especificación UPnP: anuncio e descubrimento de recursos, descrición, control, notificación de eventos e presentación (GUPnP inclúe a funcionalidade dun servidor web básico mediante libsoup). GUPnP non inclúe axudantes para a construción ou control dos recursos estándarizados específicos (p.ex. MediaServer); isto é para bibliotecas de nivel máis alto empregando o marco de traballo GUPnP.</p></item>

<item><p>GUPnP A/V: Unha pequena biblioteca de utilidades que lle permite de forma doada a xestión e implementación de perfiles UPnP A/V.</p></item>

<item><p>GUPnP DLNA: Unha pequena biblioteca de utilidades que lle permite de forma doada levar a cabo tarefas relacionadas con DLNA como descubrir perfiles multimedia, transcoficación dado un perfíl, etc.</p></item>

<item><p>GUPnP IGD: Unha biblioteca para xestionar mapeados de portos de UPnP Internet Gateway Device.</p></item>

<item><p>GUPnP para Vala: «bindings» Vala para as bibliotecas de GUPnP.</p></item>

<item><p>Ferramentas de GUPnP: substitucións libres para as ferramentas UPnP de Intel. Fornécenlle as ferramentas do lado do cliente e do servidor que lle permiten probar e depurar de forma doada dispositivos e puntos de control UPnP:</p>

<list>

<item><p>Universal Control Point: unha ferramenta que lle permite descubrir dispositivos e servizos, obter información sobre eles, e subscribirse ás eventos e accións invocadas</p></item>

<item><p>Iluminación de rede: unha bombilla de iluminación virtual que controla os puntos de acendido e apagado, cambiar o seu nivel de intensidade e consultar o seu estado actual. Tamén fornece unha IU simple para controlar as luces de rede dispoñíbeis na rede.</p></item>

<item><p>Punto de Control AV: unha IU simple de reprodutor multimedia que lle permite descubrir e reproducir contidos multimedia dispoñíbeis nunha rede. É estritamente un punto de control e polo tanto non ten capacidades de reprodución por si mesmo e baséase nos dispositivos UPnP MediaRenderer para a reprodución en si.</p></item>

<item><p>Upload: unha ferramenta de liña de ordes sinxela para subir ficheiros a MediaServers coñecidos. Use Universal Control Point para descubrir os MediaServers.</p></item>

</list>

</item>

</list>

<p>O marco de traballo GUPnP naceu da frustración con libupnp e os seus lio cos fíos. GUPnP é completamente de fío único (mediante asícrono), intégrase co búcle principal de GLib e fornece o mesmo conxunto de características que libupnp mentres agocha a maoiría das partes internas de UPnP mediante un deseño orientado a obxectos elegante.</p>

<p>GUPnP é software libre. Todas as bibliotecas son publicadas baixo a GNU LGPL, mentres que as ferramentas GUPnP son publicadas baixo a GNU GPL.</p>

<p>Debería usar GUPnP onde o seu código precise comunicarse con calquera dispositivo UPnP ou DLNA. Algúns exemplos de ditos dispositivos son Sony Playstation 3 e televisores do modelo Bravia, televisores e teléfonos de Samsung, Microsoft XBox e todos os enrutadores modernos, etc. A lista dos dispositivos é inmensa e segue medrando.</p>

<p>Ademais do manexo cos dispositivos UPnP existentes, GUPnP pode ser efectivamente usado para crear solucións en redes persoais  onde dispositivos/servizos poidan ser descubertas e interactuar con outras sen ningunha configuración por parte do usuario.</p>

<p>Para obter información de GUPnP visite a <link href="http://www.gupnp.org">páxina principal do proxecto</link>.</p>
</page>
