### Class

# GUPnP ContextManager

#### Description [src]

    abstract class GUPnP.ContextManager : GObject.Object {
      parent_instance: GObject
    }

A manager for `GUPnPContext` instances.

This utility class that takes care of dynamic creation and destruction of `GUPnPContext` objects for all available network interfaces as they go up (connect) and down (disconnect), respectively.

The final implementation depends either on the underlying operating system or can configured during compile time.

It also provides a simple filtering facility if required. See `gupnp_context_manager_get_context_filter()` and `GUPnPContextFilter` for details.

Available since: | 0.14.0

#### Ancestors

- GObject

#### Functions

###### gupnp_context_manager_create

Factory-method to create a new `GUPnPContextManager`. The final type of the `GUPnPContextManager` depends on the compile-time selection or - in case of NetworkManager - on its availability during run-time. If it is not available, the implementation falls back to the basic Unix context manager instead.

Available since: 0.18.0

###### gupnp_context_manager_create_full

Factory-method to create a new `GUPnPContextManager`. The final type of the `GUPnPContextManager` depends on the compile-time selection or - in case of NetworkManager - on its availability during run-time. If it is not available, the implementation falls back to the basic Unix context manager instead.

Available since: 1.2.0

#### Instance methods

###### gupnp_context_manager_get_context_filter

Get the `GUPnPContextFilter` associated with `manager`.

Available since: 1.4.0

###### gupnp_context_manager_get_port

Get the network port associated with this context manager.

Available since: 0.20.0

###### gupnp_context_manager_get_socket_family

Get the `GSocketFamily` the contexts are created for. Can be `G_SOCKET_FAMILY_IPV6`, `G_SOCKET_FAMILY_IPV4` or `G_SOCKET_FAMILY_INVALID` for both.

Available since: 1.2.0

###### gupnp_context_manager_get_uda_version

Get the UDA protocol version the contexts are implementing.

Available since: 1.2.0

###### gupnp_context_manager_manage_control_point

By calling this function, you are asking `manager` to keep a reference to `control_point` until its associated `GUPnPContext` is no longer available. You usually want to call this function from your `GUPnPContextManager::context-available` handler after you create a `GUPnPControlPoint` object for the newly available context. You usually then give up your own reference to the control point so it will be automatically destroyed if its context is no longer available.

Available since: 0.14.0

###### gupnp_context_manager_manage_root_device

By calling this function, you are asking `manager` to keep a reference to `root_device` when its associated `GUPnPContext` is no longer available. You usually want to call this function from `GUPnPContextManager::context-available` handler after you create a `GUPnPRootDevice` object for the newly available context.

Available since: 0.14.0

###### gupnp_context_manager_rescan_control_points

This function starts a rescan on every control point managed by `manager`. Only the active control points send discovery messages. This function should be called when servers are suspected to have disappeared.

Available since: 0.20.3

##### Methods inherited from GObject (43)

Please see GObject for a full list of methods.

#### Properties

###### GUPnP.ContextManager:context-filter

The context filter to use.

###### GUPnP.ContextManager:family

The socket family to create contexts for. Use `G_SOCKET_FAMILY_INVALID` for any or `G_SOCKET_FAMILY_IPV4` for IPv4 contexts or `G_SOCKET_FAMILY_IPV6` for IPv6 contexts.

Available since: 1.2.0

###### GUPnP.ContextManager:port

Port the contexts listen on, or 0 if you don’t care what port is used by `GUPnPContext` objects created by this object.

###### GUPnP.ContextManager:uda-version

The UDA version the contexts will support. Use `GSSDP_UDA_VERSION_UNSPECIFIED` for using the default UDA version.

Available since: 1.2.0

#### Signals

###### GUPnP.ContextManager::context-available

Signals the availability of new `GUPnPContext`.

###### GUPnP.ContextManager::context-unavailable

Signals the unavailability of a `GUPnPContext`.

##### Signals inherited from GObject (1)

###### GObject.Object::notify

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

#### Class structure

    struct GUPnPContextManagerClass {
      GObjectClass parent_class;
      void (* _gupnp_reserved1) (
    void
      );
      void (* _gupnp_reserved2) (
    void
      );
      void (* _gupnp_reserved3) (
    void
      );
      void (* _gupnp_reserved4) (
    void
      );

    }

###### Class members

`parent_class` |
    GObjectClass
| No description available.
`_gupnp_reserved1` |
    void (* _gupnp_reserved1) (
    void
      )
| No description available.
`_gupnp_reserved2` |
    void (* _gupnp_reserved2) (
    void
      )
| No description available.
`_gupnp_reserved3` |
    void (* _gupnp_reserved3) (
    void
      )
| No description available.
`_gupnp_reserved4` |
    void (* _gupnp_reserved4) (
    void
      )
| No description available.