<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>DNSSD.ServiceBase</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <meta http-equiv="Content-Style-Type" content="text/css" /> <link rel="stylesheet" type="text/css" href="../common/doxygen.css" /> <link rel="stylesheet" media="screen" type="text/css" title="KDE Colors" href="../common/kde.css" /> </head> <body> <div id="container"> <div id="header"> <div id="header_top"> <div> <div> <img alt ="" src="../common/top-kde.jpg"/> KDE 4.9 PyKDE API Reference </div> </div> </div> <div id="header_bottom"> <div id="location"> <ul> <li>KDE's Python API</li> </ul> </div> <div id="menu"> <ul> <li><a href="../modules.html">Overview</a></li> <li><a href="http://techbase.kde.org/Development/Languages/Python">PyKDE Home</a></li> <li><a href="http://kde.org/family/">Sitemap</a></li> <li><a href="http://kde.org/contact/">Contact Us</a></li> </ul> </div> </div> </div> <div id="body_wrapper"> <div id="body"> <div id="right"> <div class="content"> <div id="main"> <div class="clearer"> </div> <h1>ServiceBase Class Reference</h1> <code>from PyKDE4.dnssd import *</code> <p> Inherits: <br /> Subclasses: <a href="../dnssd/DNSSD.PublicService.html">DNSSD.PublicService</a>, <a href="../dnssd/DNSSD.RemoteService.html">DNSSD.RemoteService</a><br /> Namespace: <a href="../dnssd/DNSSD.html">DNSSD</a><br /> <h2>Detailed Description</h2> <p>ServiceBase servicebase.h DNSSD/ServiceBase Describes a service </p> <p> This class is used to describe a service. The service can be published by the current application (in which case it is probably a PublicService) or by another application, either on the current machine or a remote machine, in which case it is probably a RemoteService returned by ServiceBrowser. </p> <p> You should not normally need to create a ServiceBase object yourself. </p> <p> <dl class="author" compact><dt><b>Author:</b></dt><dd> Jakub Stachowski </dd></dl> </p> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> PublicService </dd></dl> </p> <table border="0" cellpadding="0" cellspacing="0"><tr><td colspan="2"><br><h2>Methods</h2></td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ServiceBase">__init__</a> (self, QString name=QString(), QString type=QString(), QString domain=QString(), QString host=QString(), int port=0)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top"> </td><td class="memItemRight" valign="bottom"><a class="el" href="#ServiceBase">__init__</a> (self, <a href="../dnssd/DNSSD.ServiceBase.html">DNSSD.ServiceBase</a> other)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#domain">domain</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#hostName">hostName</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#operator !=">operator !=</a> (self, <a href="../dnssd/DNSSD.ServiceBase.html">DNSSD.ServiceBase</a> o)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="#operator ==">operator ==</a> (self, <a href="../dnssd/DNSSD.ServiceBase.html">DNSSD.ServiceBase</a> o)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">int </td><td class="memItemRight" valign="bottom"><a class="el" href="#port">port</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#serviceName">serviceName</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">{QString:QByteArray} </td><td class="memItemRight" valign="bottom"><a class="el" href="#textData">textData</a> (self)</td></tr> <tr><td class="memItemLeft" nowrap align="right" valign="top">QString </td><td class="memItemRight" valign="bottom"><a class="el" href="#type">type</a> (self)</td></tr> </table> <hr><h2>Method Documentation</h2><a class="anchor" name="ServiceBase"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>name=QString()</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>type=QString()</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>domain=QString()</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">QString </td> <td class="paramname"><em>host=QString()</em>, </td> </tr> <tr> <td class="memname"></td> <td></td> <td class="paramtype">int </td> <td class="paramname"><em>port=0</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Creates a ServiceBase object </p> <p> Note that <b>name,</b> <b>type</b> and <b>domain</b> uniquely identify the service in the DNS-SD system, and <b>host</b> and <b>port</b> provide the actual location of the service. </p> <p> For example, RemoteService populates <b>host</b> and <b>port</b> based on the <b>name,</b> <b>type</b> and <b>domain</b> attributes using the DNS-SD resolution system. </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>name</em> </td><td> service name <tr><td></td><td valign="top"><em>type</em> </td><td> service type <tr><td></td><td valign="top"><em>domain</em> </td><td> the DNS-SD domain name for service <tr><td></td><td valign="top"><em>host</em> </td><td> the host name of the service (a fully-qualified domain name) <tr><td></td><td valign="top"><em>port</em> </td><td> the port number of the service </td></tr> </table></dl> <p> </p></div></div><a class="anchor" name="ServiceBase"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">__init__</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../dnssd/DNSSD.ServiceBase.html">DNSSD.ServiceBase</a> </td> <td class="paramname"><em>other</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"></div></div><a class="anchor" name="domain"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString domain</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>The domain that the service belongs to </p> <p> It is "local." for link-local services. </p></div></div><a class="anchor" name="hostName"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString hostName</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>The hostname of the service </p> <p> Only valid for local and resolved remote services. </p> <p> Together with port(), this can be used to actually access the service. </p> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> RemoteService.resolve() and RemoteService.resolveAsync() </dd></dl> </p></div></div><a class="anchor" name="operator !="></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool operator !=</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../dnssd/DNSSD.ServiceBase.html">DNSSD.ServiceBase</a> </td> <td class="paramname"><em>o</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Compares services based on name, type and domain </p> <p> This is enough to for unique identification and omitting port, host and text data allows to compare resolved and unresolved services </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>o</em> </td><td> the service to compare this service to </td></tr> </table></dl> <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd> false if this service represents the same service (from the point of view of DNS-SD) as </dd></dl> <b>o,</b> true otherwise </p></div></div><a class="anchor" name="operator =="></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">bool operator ==</td> <td>(</td> <td class="paramtype"> <em>self</em>, </td> <td class="paramname"></td> </tr><tr> <td class="memname"></td> <td></td> <td class="paramtype"><a href="../dnssd/DNSSD.ServiceBase.html">DNSSD.ServiceBase</a> </td> <td class="paramname"><em>o</em></td> </tr> <tr> <td></td> <td>)</td> <td></td> <td></td> <td width="100%"> </td> </tr></table> </div> <div class="memdoc"><p>Compares services based on name, type and domain </p> <p> This is enough to for unique identification and omitting port, host and text data allows to compare resolved and unresolved services </p> <p> </p><dl compact><dt><b>Parameters:</b></dt><dd> <table border="0" cellspacing="2" cellpadding="0"> <tr><td></td><td valign="top"><em>o</em> </td><td> the service to compare this service to </td></tr> </table></dl> <p> <dl class="return" compact><dt><b>Returns:</b></dt><dd> true if this service represents the same service (from the point of view of DNS-SD) as </dd></dl> <b>o,</b> false otherwise </p></div></div><a class="anchor" name="port"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">int port</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>The port number of the service </p> <p> Only valid for local and resolved remote services. </p> <p> Together with hostName(), this can be used to actually access the service. </p> <p> <dl class="see" compact><dt><b>See also:</b></dt><dd> RemoteService.resolve() and RemoteService.resolveAsync() </dd></dl> </p></div></div><a class="anchor" name="serviceName"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString serviceName</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>The name of the service </p></div></div><a class="anchor" name="textData"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">{QString:QByteArray} textData</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>Additional text data associated with the service </p> <p> Only valid for local and resolved remote services. </p> <p> This is data that provides additional information about the service. For example, it might be used to specify a printer queue on the printer server specified by hostName() and port(). </p> <p> You can check for the data that might be associated with a particular service on the <a href="http://www.dns-sd.org/ServiceTypes.html">service types list</a>. If a key=value pair is given, this will appear with the value in a QByteArray indexed by the key. If the data is on its own (does not have an = in it), it will be used to index an empty QByteArray, and can be checked for with QMap.contains(). </p> <p> For example, if you are accessing the _ipp._tcp service, you might do something like <pre class="fragment"> QString printerModel = "unknown"; if (service->textData().contains("ty")) { printQueue = QString.fromUtf8(service->textData()["ty"].constData()); } </pre> since the TXT data of the IPP service may contain data like "ty=Apple LaserWriter Pro 630". Note that you actually have to be a bit more clever than this, since the key should usually be case insensitive. </p></div></div><a class="anchor" name="type"></a> <div class="memitem"> <div class="memproto"> <table class="memname"><tr> <td class="memname">QString type</td> <td>(</td> <td class="paramtype"> </td> <td class="paramname"><em>self</em> )</td> <td width="100%"> </td> </tr> </table> </div> <div class="memdoc"><p>The type of the service </p> <p> This is always in the format _sometype._udp or _sometype._tcp. </p> <p> See the <a href="http://www.dns-sd.org">DNS-SD website</a> for <a href="http://www.dns-sd.org/ServiceTypes.html">a full list of service types</a>. </p></div></div> </div> </div> </div> <div id="left"> <div class="menu_box"> <div class="nav_list"> <ul> <li><a href="../allclasses.html">Full Index</a></li> </ul> </div> <a name="cp-menu" /><div class="menutitle"><div> <h2 id="cp-menu-project">Modules</h2> </div></div> <div class="nav_list"> <ul><li><a href="../akonadi/index.html">akonadi</a></li> <li><a href="../dnssd/index.html">dnssd</a></li> <li><a href="../kdecore/index.html">kdecore</a></li> <li><a href="../kdeui/index.html">kdeui</a></li> <li><a href="../khtml/index.html">khtml</a></li> <li><a href="../kio/index.html">kio</a></li> <li><a href="../knewstuff/index.html">knewstuff</a></li> <li><a href="../kparts/index.html">kparts</a></li> <li><a href="../kutils/index.html">kutils</a></li> <li><a href="../nepomuk/index.html">nepomuk</a></li> <li><a href="../phonon/index.html">phonon</a></li> <li><a href="../plasma/index.html">plasma</a></li> <li><a href="../polkitqt/index.html">polkitqt</a></li> <li><a href="../solid/index.html">solid</a></li> <li><a href="../soprano/index.html">soprano</a></li> </ul></div></div> </div> </div> <div class="clearer"/> </div> <div id="end_body"></div> </div> <div id="footer"><div id="footer_text"> This documentation is maintained by <a href="mailto:simon@simonzone.com">Simon Edwards</a>.<br /> KDE<sup>®</sup> and <a href="../images/kde_gear_black.png">the K Desktop Environment<sup>®</sup> logo</a> are registered trademarks of <a href="http://ev.kde.org/" title="Homepage of the KDE non-profit Organization">KDE e.V.</a> | <a href="http://www.kde.org/contact/impressum.php">Legal</a> </div></div> </body> </html>