### Namespace

# GUPnP – 1.6

UPnP implementation using GObject

Version | 1.5.1
Authors | The GUPnP developers
License | LGPL-2.1-or-later
Website | https://gupnp.org
Source | https://gitlab.gnome.org/GNOME/gupnp/

#### Build

C headers | `libgupnp/gupnp.h`
pkg-config files | `gupnp-1.6`

#### Dependencies

GObject—2.0 | The base type system library
| Browse documentation
Soup—3.0 | A HTTP handling library
| Browse documentation
GSSDP—1.6 | SSDP implementation using GObject
| Browse documentation

#### Additional documentation

- Interacting with remote UPnP devices
- Implementing UPnP devices
- Choosing a Context Manager Implementation
- UPnP Glossary
- Classes Hierarchy

#### Classes

Context | Context object wrapping shared networking bits.
ContextFilter | Network context filter, used by `GUPnPContextManager`
ContextManager | A manager for `GUPnPContext` instances.
ControlPoint | Network resource discovery.
Device | Base class for UPnP device implementations.
DeviceInfo | Device information shared by local and remote devices.
DeviceProxy | Interaction with remote UPnP devices.
ResourceFactory | Associating custom Services, Devices, ServiceProxies and DeviceProxies with UPnP types.
RootDevice | Implementation of an UPnP root device.
Service | Implementation of an UPnP service.
ServiceInfo | Service information shared by local and remote services.
ServiceIntrospection | Introspection of local and remote services..
ServiceProxy | Proxy class for remote services.
XMLDoc | Reference-counting wrapper for libxml’s #xmlDoc.

#### Interfaces

Acl | Access control provider for `GUPnPContext`

#### Structs

ServiceAction | Opaque structure for holding in-progress action data.
ServiceActionArgInfo | This structure contains information about the argument of service action.
ServiceActionInfo | This structure contains information about a service action.
ServiceProxyAction | Opaque structure for holding in-progress action data.
ServiceStateVariableInfo | This structure contains information about service state variable.

#### Enumerations

ServiceActionArgDirection | Represents the direction of a service state variable.

#### Error Domains

ControlError | Error codes used during invocation of service actions.
EventingError | Error codes during eventing of state variables.
RootdeviceError | Errors during `GUPnPRootDevice` creation.
ServerError | Error codes during communication with another server.
ServiceError | Errors during service handling.
ServiceIntrospectionError | Errors during service introspection.
XMLError | Errors during occuring during processing of XML data.

#### Callbacks

ServiceIntrospectionCallback | Callback notifying that `introspection` for `info` has been obtained.
ServiceProxyActionCallback | Callback notifying that `action` on `proxy` has returned and `gupnp_service_proxy_end_action()` etc can be called.
ServiceProxyNotifyCallback | Callback notifying that the state variable `variable` on `proxy` has changed to `value`.

#### Functions

get_uuid | Generate and return a new UUID.

#### Function Macros

value_get_string | Helper macro to get a char* from a `GValue`
value_get_xml_node | Helper macro to get the xmlNode* from a `GValue`