### Class

# GUPnP ContextManager

since: 0.14.0

#### Description [src]

    abstract class GUPnP.ContextManager : GObject.Object
    {
      /* No available fields */
    }

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.

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.

since: 1.2.0

#### Instance methods

###### gupnp_context_manager_get_context_filter

Get the `GUPnPContextFilter` associated with `manager`.

since: 1.4.0

###### gupnp_context_manager_get_port

Get the network port associated with this context manager.

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.

since: 1.2.0

###### gupnp_context_manager_get_uda_version

Get the UDA protocol version the contexts are implementing.

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.

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.

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.

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.

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.

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::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
      );

    }

No description available.

###### 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.