34 lines
1.5 KiB
Racket
34 lines
1.5 KiB
Racket
#lang scribble/manual
|
|
|
|
@(require (for-label racket/base
|
|
(file "../main.rkt")
|
|
(file "../media-renderer.rkt")
|
|
(file "../media-server.rkt")
|
|
(file "../services/av-transport.rkt")
|
|
(file "../services/rendering-control.rkt")
|
|
(file "../services/connection-manager.rkt")
|
|
(file "../services/content-directory.rkt")))
|
|
|
|
@title{Introduction}
|
|
|
|
The @racketmodname[racket-upnp] collection implements a small UPnP control
|
|
point. It discovers devices with SSDP, downloads their device descriptions,
|
|
and represents devices and services as ordinary Racket values. Unknown
|
|
vendor-specific device and service types are retained instead of discarded.
|
|
|
|
The public interface is divided into layers:
|
|
|
|
@itemlist[
|
|
@item{The @racketmodname[racket-upnp] module provides discovery, device
|
|
information, generic service inspection, and generic SOAP calls.}
|
|
@item{Modules in the @tt{racket-upnp/services} subcollection provide
|
|
typed interfaces for standard UPnP services.}
|
|
@item{The @racketmodname[racket-upnp/media-renderer] and
|
|
@racketmodname[racket-upnp/media-server] modules provide convenient
|
|
device-oriented interfaces.}
|
|
]
|
|
|
|
A normal application can use the device-oriented modules without dealing with
|
|
SSDP, SOAP, service control URLs, or DIDL-Lite XML directly. The generic layer
|
|
remains available for inspection and vendor-specific extensions.
|