blob: c54f3b3cad9def20d2d8e3a496886f211d89a6ba [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<head>
<title>Apache Felix - UPnP Testing Devices</title>
<link rel="icon" href="/res/favicon.ico">
<link rel="stylesheet" href="/res/site.css" type="text/css" media="all">
<link rel="stylesheet" href="/res/codehilite.css" type="text/css" media="all">
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
</head>
<body>
<div class="title">
<div class="logo">
<a href="https://felix.apache.org/">
<img border="0" alt="Apache Felix" src="/res/logo.png">
</a>
</div>
<div class="header">
<a href="https://www.apache.org/">
<img border="0" alt="Apache" src="/res/apache.png">
</a>
</div>
</div>
<div class="menu">
<style type="text/css">
/* The following code is added by mdx_elementid.py
It was originally lifted from http://subversion.apache.org/style/site.css */
/*
* Hide class="elementid-permalink", except when an enclosing heading
* has the :hover property.
*/
.headerlink, .elementid-permalink {
visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<p><a href="/news.html">News</a> <br />
<a href="/license.html">License</a> <br />
<a href="/downloads.cgi">Downloads</a> <br />
<a href="/documentation.html">Documentation</a> <br />
<a href="/documentation/community/project-info.html">Project Info</a> <br />
<a href="/documentation/community/contributing.html">Contributing</a> <br />
<a href="/sitemap.html">Site Map</a> <br />
<a href="https://www.apache.org/">ASF</a> <br />
<a href="https://www.apache.org/security/">Security</a> <br />
<a href="https://www.apache.org/foundation/sponsorship.html">Sponsorship</a> <br />
<a href="https://www.apache.org/foundation/thanks.html">Sponsors</a> </p>
<iframe
src="https://www.apache.org/ads/button.html"
style="border-width:0; float: left"
frameborder="0"
scrolling="no"
width="135"
height="135">
</iframe>
</div>
<div class="main">
<div class="breadcrump" style="font-size: 80%;">
<a href="/">Home</a>&nbsp;&raquo&nbsp;<a href="/documentation.html">Documentation</a>&nbsp;&raquo&nbsp;<a href="/documentation/subprojects/apache-felix-upnp.html">Apache Felix UPnP</a>
</div>
<h1>UPnP Testing Devices</h1>
<style type="text/css">
/* The following code is added by mdx_elementid.py
It was originally lifted from http://subversion.apache.org/style/site.css */
/*
* Hide class="elementid-permalink", except when an enclosing heading
* has the :hover property.
*/
.headerlink, .elementid-permalink {
visibility: hidden;
}
h2:hover > .headerlink, h3:hover > .headerlink, h1:hover > .headerlink, h6:hover > .headerlink, h4:hover > .headerlink, h5:hover > .headerlink, dt:hover > .elementid-permalink { visibility: visible }</style>
<h1 id="testing-upnp-devices">Testing UPnP devices&nbsp;<a class="headerlink" href="#testing-upnp-devices" title="Permanent link">&para;</a></h1>
<p>The <em>org.apache.felix.upnp.tester</em> bundle installs a component that shows the UPnP devices registered with the OSGi framework. It provides a GUI shown in the Figure 6 that can be used for controlling the discovered devices: by invoking actions and by subscribing for the state variable changes occurring on them.</p>
<p>!TesterGUI.jpg!
Figure6 The UPnP Tester GUI</p>
<p>In the left panel you can browse the devices discovered on the OSGi platform. Remember that they may be registered by the base driver as well as by other bundles installed on the platform. Therefore stopping the base driver you will continue to see the local devices, but they will be no more exported. The devices with their hierarchy of the embedded devices and services are represented as nodes of a tree with the following icons:
<em> !RootDevice.gif! Root Device
</em> !EmbeddedDevice.gif! Embedded Device
<em> !Service.gif! Service
</em> !Action.gif! Action
<em> !StateVariable.gif! State Variable
</em> !EventedSteateVariable.gif! Evented State Variable
* !SubscribedStateVariable.gif! Subscribed State Variable</p>
<p>By clicking on the Root Device icon, the register properties defined by the device are shown on the right panel. You can distinguish between exported and imported devices by looking for the property key "UPnP.export" and "UPnP.device.imported" respectively.</p>
<p>By right-clicking on the Root Device, Embedded device, or Service icon a context menu is displayed to open the XML description of devices and services (see Figure 6)</p>
<p>By clicking on the Service icon, the Service Id and Type are shown in the right panel together with buttons for subscribing all the state variables of the service. The received notify message is displayed on the bottom panel.</p>
<p>By clicking on the Action icons, the right panel displays a form where the input parameters of the action can be inserted. Use the "do Action" button to execute it; the results, if any, will be displayed in the table below the input parameters.</p>
<p>Finally, by clicking on the state variables shows the associated property keys as the default value and minimum and maximum value, if any.</p>
<p><em>Menus</em>
<em> The "Search" menu forces the UPnP Base Driver to execute a UPnP M-Search for UPnP Root Devices or for all types of devices. This search is usually automatically executed during the start up of the base driver.
</em> The "Felix Logger" and "Cyber Debugger" menus enable displaying of the messages received and sent by the base driver (i.e. the content of the UDP communication).
<em> The "Print Pending Devices" is a utility menu to verify whether incomplete hierarchy of embedded devices have been registered with the framework.
</em> The "Check Errata UPnPDevices" menu may help the user verify that all the local UPnP Devices have been registered with the mandatory properties, otherwise they would not be exported.</p>
<h5 id="overview-of-the-base-driver-architecture-the-felix-upnp-examples-upnp-examples"><a href="/documentation/subprojects/apache-felix-upnp/upnp-driver-architecture.html">Overview of the Base Driver Architecture</a> &lt;&lt; \| &gt;&gt; [The Felix UPnP Examples| UPnP Examples]<a class="headerlink" href="#overview-of-the-base-driver-architecture-the-felix-upnp-examples-upnp-examples" title="Permanent link">&para;</a></h5>
<div class="timestamp" style="margin-top: 30px; font-size: 80%; text-align: right;">
Rev. 1700393 by cziegeler on Tue, 1 Sep 2015 06:04:06 +0000
</div>
<div class="trademarkFooter">
Apache Felix, Felix, Apache, the Apache feather logo, and the Apache Felix project
logo are trademarks of The Apache Software Foundation. All other marks mentioned
may be trademarks or registered trademarks of their respective owners.
</div>
</div>
</body>
</html>