## GUPnPControlPoint

GUPnPControlPoint — Class for resource discovery.

## Functions

GUPnPControlPoint * | gupnp_control_point_new ()
GUPnPControlPoint * | gupnp_control_point_new_full ()
GUPnPResourceFactory * | gupnp_control_point_get_resource_factory ()
GUPnPContext * | gupnp_control_point_get_context ()
const GList * | gupnp_control_point_list_device_proxies ()
const GList * | gupnp_control_point_list_service_proxies ()

## Properties

GUPnPResourceFactory * | resource-factory | Read / Write / Construct Only

## Signals

void | device-proxy-available | Run Last
void | device-proxy-unavailable | Run Last
void | service-proxy-available | Run Last
void | service-proxy-unavailable | Run Last

## Types and Values

struct | GUPnPControlPoint

## Object Hierarchy

        GObject
        ╰── GSSDPResourceBrowser
            ╰── GUPnPControlPoint

## Description

GUPnPControlPoint handles device and service discovery. After creating a control point and activating it using `gssdp_resource_browser_set_active()`, the ::device-proxy-available, ::service-proxy-available, ::device-proxy-unavailable and ::service-proxy-unavailable signals will be emitted whenever the availability of a device or service matching the specified discovery target changes.

## Functions

### gupnp_control_point_new ()

    GUPnPControlPoint *
    gupnp_control_point_new (GUPnPContext *context,
                             const char *target);

Create a new GUPnPControlPoint with the specified `context` and `target` .

`target` should be a service or device name, such as `urn:schemas-upnp-org:service:WANIPConnection:1` or `urn:schemas-upnp-org:device:MediaRenderer:1`.

#### Parameters

context | A GUPnPContext |
target | The search target |

#### Returns

A new GUPnPControlPoint object.

### gupnp_control_point_new_full ()

    GUPnPControlPoint *
    gupnp_control_point_new_full (GUPnPContext *context,
                                  GUPnPResourceFactory *factory,
                                  const char *target);

Create a new GUPnPControlPoint with the specified `context` , `factory` and `target` .

`target` should be a service or device name, such as `urn:schemas-upnp-org:service:WANIPConnection:1` or `urn:schemas-upnp-org:device:MediaRenderer:1`.

#### Parameters

context | A GUPnPContext |
factory | A GUPnPResourceFactory |
target | The search target |

#### Returns

A new GUPnPControlPoint object.

### gupnp_control_point_get_resource_factory ()

    GUPnPResourceFactory *
    gupnp_control_point_get_resource_factory
                                   (GUPnPControlPoint *control_point);

Get the GUPnPResourceFactory used by the `control_point` .

#### Parameters

control_point | A GUPnPControlPoint |

#### Returns

A GUPnPResourceFactory.

[transfer none]

### gupnp_control_point_get_context ()

    GUPnPContext *
    gupnp_control_point_get_context (GUPnPControlPoint *control_point);

Get the GUPnPControlPoint associated with `control_point` .

#### Parameters

control_point | A GUPnPControlPoint |

#### Returns

The GUPnPContext.

[transfer none]

### gupnp_control_point_list_device_proxies ()

    const GList *
    gupnp_control_point_list_device_proxies
                                   (GUPnPControlPoint *control_point);

Get the GList of discovered GUPnPDeviceProxy objects. Do not free the list nor its elements.

#### Parameters

control_point | A GUPnPControlPoint |

#### Returns

a GList of GUPnPDeviceProxy objects.

[element-type GUPnP.DeviceProxy][transfer none]

### gupnp_control_point_list_service_proxies ()

    const GList *
    gupnp_control_point_list_service_proxies
                                   (GUPnPControlPoint *control_point);

Get the GList of discovered GUPnPServiceProxy objects. Do not free the list nor its elements.

#### Parameters

control_point | A GUPnPControlPoint |

#### Returns

a GList of GUPnPServiceProxy objects.

[element-type GUPnP.ServiceProxy][transfer none]

## Types and Values

### struct GUPnPControlPoint

    struct GUPnPControlPoint;

This struct contains private data only, and should be accessed using the functions below.

## Property Details

### The `“resource-factory”` property

      “resource-factory”         GUPnPResourceFactory *

The resource factory to use. Set to NULL for default factory.

Flags: Read / Write / Construct Only

## Signal Details

### The `“device-proxy-available”` signal

    void
    user_function (GUPnPControlPoint *control_point,
                   GUPnPDeviceProxy  *proxy,
                   gpointer           user_data)

The ::device-proxy-available signal is emitted whenever a new device has become available.

#### Parameters

control_point | The GUPnPControlPoint that received the signal |
proxy | The now available GUPnPDeviceProxy |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“device-proxy-unavailable”` signal

    void
    user_function (GUPnPControlPoint *control_point,
                   GUPnPDeviceProxy  *proxy,
                   gpointer           user_data)

The ::device-proxy-unavailable signal is emitted whenever a device is not available any more.

#### Parameters

control_point | The GUPnPControlPoint that received the signal |
proxy | The now unavailable GUPnPDeviceProxy |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“service-proxy-available”` signal

    void
    user_function (GUPnPControlPoint *control_point,
                   GUPnPServiceProxy *proxy,
                   gpointer           user_data)

The ::service-proxy-available signal is emitted whenever a new service has become available.

#### Parameters

control_point | The GUPnPControlPoint that received the signal |
proxy | The now available GUPnPServiceProxy |
user_data | user data set when the signal handler was connected. |

Flags: Run Last

### The `“service-proxy-unavailable”` signal

    void
    user_function (GUPnPControlPoint *control_point,
                   GUPnPServiceProxy *proxy,
                   gpointer           user_data)

The ::service-proxy-unavailable signal is emitted whenever a service is not available any more.

#### Parameters

control_point | The GUPnPControlPoint that received the signal |
proxy | The now unavailable GUPnPServiceProxy |
user_data | user data set when the signal handler was connected. |

Flags: Run Last