#lang scribble/manual @(require (for-label racket/base racket/contract (file "../main.rkt") (file "../services/connection-manager.rkt"))) @title{ConnectionManager} @defmodule[@racketmodname[racket-upnp/services/connection-manager] #:module-paths ((file "../services/connection-manager.rkt"))] ConnectionManager reports supported transfer protocols and active connection identifiers. For a MediaRenderer, the sink protocol list indicates which media formats the renderer advertises as acceptable. @defproc[(device-connection-manager [device upnp-device?]) (or/c #f upnp-service?)]{Returns the device's ConnectionManager service.} @defproc[(connection-manager? [value any/c]) boolean?]{Recognises a ConnectionManager service.} @defproc[(connection-manager-protocols [manager connection-manager?]) any]{Returns two values: source protocol-info strings and sink protocol-info strings.} @defproc[(connection-manager-source-protocols [manager connection-manager?]) (listof string?)]{Returns source protocol-info strings.} @defproc[(connection-manager-sink-protocols [manager connection-manager?]) (listof string?)]{Returns sink protocol-info strings.} @defproc[(connection-manager-connection-ids [manager connection-manager?]) (listof exact-integer?)]{Returns currently advertised connection identifiers.}