gupnp_control_point_callback_set

Set control point callback

&reftitle.description; `bool` `gupnp_control_point_callback_set` `resource` `cpoint` `int` `signal` `mixed` `callback` `mixed` `arg`

Set control point callback function for signal.

&reftitle.parameters;

`cpoint`

- A control point identifier, returned by `gupnp_control_point_new`.

`signal`

- The value of signal. Signal can be one of the following values:

  `GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE`

- Emitted whenever a new device has become available.

`GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE`

- Emitted whenever a device is not available any more.

`GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE`

- Emitted whenever a new service has become available.

`GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE`

- Emitted whenever a service is not available any more.

`callback`

- The callback function for the certain signal. Typically, callback function takes on two parameters. The `proxy` parameter's identifier being the first, and the `arg` second.

`arg`

- User data for `callback`.

&reftitle.returnvalues;

&return.success;

&reftitle.examples;

### Create new UPnP context and start browsing

    <?php

    function device_proxy_available_cb($proxy, $arg)
    {
        $info = gupnp_device_info_get($proxy);

        $type = $info['device_type'];
        $location = $info['location'];

        printf("Device available:\n");
        printf("type:     %s\n", $type);
        printf("location: %s\n", $location);
    }

    /* Create the UPnP context */
    $context = gupnp_context_new();

    if (!$context) {
     die("Error creating the GUPnP context\n");
    }

    /* We're interested in everything */
    $cp = gupnp_control_point_new($context, "ssdp:all");

    gupnp_control_point_callback_set($cp,
        GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE, 'device_proxy_available_cb');

    /* Start for browsing */
    gupnp_control_point_browse_start($cp);

    ?>

&reftitle.errors;

Issues E_WARNING with not valid callback function.

&reftitle.seealso;

- `gupnp_control_point_new`
- `gupnp_control_point_browse_start`