Un marco de traballo UPnP doado de usar, eficiente e flexíbel

# GUPnP

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.

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

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

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.

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.

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.

GUPnP IGD: Unha biblioteca para xestionar mapeados de portos de UPnP Internet Gateway Device.

GUPnP para Vala: «bindings» Vala para as bibliotecas de GUPnP.

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:

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

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.

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.

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

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.

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

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.

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.

Para obter información de GUPnP visite a páxina principal do proxecto.