<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="content-type" content="text/html; charset=UTF-8"> <title>Set control point callback</title> </head> <body><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.gupnp-control-point-browse-stop.html">gupnp_control_point_browse_stop</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.gupnp-control-point-new.html">gupnp_control_point_new</a></div> <div class="up"><a href="ref.gupnp.html">Gupnp Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div><hr /><div id="function.gupnp-control-point-callback-set" class="refentry"> <div class="refnamediv"> <h1 class="refname">gupnp_control_point_callback_set</h1> <p class="verinfo">(PECL gupnp >= 0.1.0)</p><p class="refpurpose"><span class="refname">gupnp_control_point_callback_set</span> — <span class="dc-title">Set control point callback</span></p> </div> <div class="refsect1 description" id="refsect1-function.gupnp-control-point-callback-set-description"> <h3 class="title">Description</h3> <div class="methodsynopsis dc-description"> <span class="type">bool</span> <span class="methodname"><strong>gupnp_control_point_callback_set</strong></span> ( <span class="methodparam"><span class="type">resource</span> <code class="parameter">$cpoint</code></span> , <span class="methodparam"><span class="type">int</span> <code class="parameter">$signal</code></span> , <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$callback</code></span> [, <span class="methodparam"><span class="type"><a href="language.pseudo-types.html#language.types.mixed" class="type mixed">mixed</a></span> <code class="parameter">$arg</code></span> ] )</div> <p class="para rdfs-comment"> Set control point callback function for signal. </p> </div> <div class="refsect1 parameters" id="refsect1-function.gupnp-control-point-callback-set-parameters"> <h3 class="title">Parameters</h3> <p class="para"> <dl> <dt> <span class="term"><em><code class="parameter">cpoint</code></em></span> <dd> <p class="para"> A control point identifier, returned by <span class="function"><a href="function.gupnp-control-point-new.html" class="function">gupnp_control_point_new()</a></span>. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">signal</code></em></span> <dd> <p class="para"> The value of signal. Signal can be one of the following values: <dl> <dt> <span class="term"><strong><code>GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE</code></strong></span> <dd> <span class="simpara"> Emitted whenever a new device has become available. </span> </dd> </dt> <dt> <span class="term"><strong><code>GUPNP_SIGNAL_DEVICE_PROXY_UNAVAILABLE</code></strong></span> <dd> <span class="simpara"> Emitted whenever a device is not available any more. </span> </dd> </dt> <dt> <span class="term"><strong><code>GUPNP_SIGNAL_SERVICE_PROXY_AVAILABLE</code></strong></span> <dd> <span class="simpara"> Emitted whenever a new service has become available. </span> </dd> </dt> <dt> <span class="term"><strong><code>GUPNP_SIGNAL_SERVICE_PROXY_UNAVAILABLE</code></strong></span> <dd> <span class="simpara"> Emitted whenever a service is not available any more. </span> </dd> </dt> </dl> </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">callback</code></em></span> <dd> <p class="para"> The callback function for the certain signal. Typically, callback function takes on two parameters. The <em><code class="parameter">proxy</code></em> parameter's identifier being the first, and the <em><code class="parameter">arg</code></em> second. </p> </dd> </dt> <dt> <span class="term"><em><code class="parameter">arg</code></em></span> <dd> <p class="para"> User data for <em><code class="parameter">callback</code></em>. </p> </dd> </dt> </dl> </p> </div> <div class="refsect1 returnvalues" id="refsect1-function.gupnp-control-point-callback-set-returnvalues"> <h3 class="title">Return Values</h3> <p class="para"> Returns <strong><code>TRUE</code></strong> on success or <strong><code>FALSE</code></strong> on failure. </p> </div> <div class="refsect1 examples" id="refsect1-function.gupnp-control-point-callback-set-examples"> <h3 class="title">Examples</h3> <p class="para"> <div class="example" id="example-4346"> <p><strong>Example #1 Create new UPnP context and start browsing</strong></p> <div class="example-contents"> <div class="phpcode"><code><span style="color: #000000"> <span style="color: #0000BB"><?php<br /><br /></span><span style="color: #007700">function </span><span style="color: #0000BB">device_proxy_available_cb</span><span style="color: #007700">(</span><span style="color: #0000BB">$proxy</span><span style="color: #007700">, </span><span style="color: #0000BB">$arg</span><span style="color: #007700">)<br />{<br /> </span><span style="color: #0000BB">$info </span><span style="color: #007700">= </span><span style="color: #0000BB">gupnp_device_info_get</span><span style="color: #007700">(</span><span style="color: #0000BB">$proxy</span><span style="color: #007700">);<br /><br /> </span><span style="color: #0000BB">$type </span><span style="color: #007700">= </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'device_type'</span><span style="color: #007700">];<br /> </span><span style="color: #0000BB">$location </span><span style="color: #007700">= </span><span style="color: #0000BB">$info</span><span style="color: #007700">[</span><span style="color: #DD0000">'location'</span><span style="color: #007700">];<br /><br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"Device available:\n"</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"type: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$type</span><span style="color: #007700">);<br /> </span><span style="color: #0000BB">printf</span><span style="color: #007700">(</span><span style="color: #DD0000">"location: %s\n"</span><span style="color: #007700">, </span><span style="color: #0000BB">$location</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">/* Create the UPnP context */<br /></span><span style="color: #0000BB">$context </span><span style="color: #007700">= </span><span style="color: #0000BB">gupnp_context_new</span><span style="color: #007700">();<br /><br />if (!</span><span style="color: #0000BB">$context</span><span style="color: #007700">) {<br /> die(</span><span style="color: #DD0000">"Error creating the GUPnP context\n"</span><span style="color: #007700">);<br />}<br /><br /></span><span style="color: #FF8000">/* We're interested in everything */<br /></span><span style="color: #0000BB">$cp </span><span style="color: #007700">= </span><span style="color: #0000BB">gupnp_control_point_new</span><span style="color: #007700">(</span><span style="color: #0000BB">$context</span><span style="color: #007700">, </span><span style="color: #DD0000">"ssdp:all"</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">gupnp_control_point_callback_set</span><span style="color: #007700">(</span><span style="color: #0000BB">$cp</span><span style="color: #007700">, <br /> </span><span style="color: #0000BB">GUPNP_SIGNAL_DEVICE_PROXY_AVAILABLE</span><span style="color: #007700">, </span><span style="color: #DD0000">'device_proxy_available_cb'</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">/* Start for browsing */<br /></span><span style="color: #0000BB">gupnp_control_point_browse_start</span><span style="color: #007700">(</span><span style="color: #0000BB">$cp</span><span style="color: #007700">);<br /><br /></span><span style="color: #0000BB">?></span> </span> </code></div> </div> </div> </p> </div> <div class="refsect1 errors" id="refsect1-function.gupnp-control-point-callback-set-errors"> <h3 class="title">Errors/Exceptions</h3> <p class="para"> Issues E_WARNING with not valid callback function. </p> </div> <div class="refsect1 seealso" id="refsect1-function.gupnp-control-point-callback-set-seealso"> <h3 class="title">See Also</h3> <p class="para"> <ul class="simplelist"> <li class="member"> <span class="function"><a href="function.gupnp-control-point-new.html" class="function" rel="rdfs-seeAlso">gupnp_control_point_new()</a> - Create a new control point</span></li> <li class="member"> <span class="function"><a href="function.gupnp-control-point-browse-start.html" class="function" rel="rdfs-seeAlso">gupnp_control_point_browse_start()</a> - Start browsing</span></li> </ul> </p> </div> </div><hr /><div class="manualnavbar" style="text-align: center;"> <div class="prev" style="text-align: left; float: left;"><a href="function.gupnp-control-point-browse-stop.html">gupnp_control_point_browse_stop</a></div> <div class="next" style="text-align: right; float: right;"><a href="function.gupnp-control-point-new.html">gupnp_control_point_new</a></div> <div class="up"><a href="ref.gupnp.html">Gupnp Functions</a></div> <div class="home"><a href="index.html">PHP Manual</a></div> </div></body></html>