DNSSD::PublicService Class Reference
This class is most important for application that wants to announce its service on network. This class represents local service being published. More...
#include <publicservice.h>
Inheritance diagram for DNSSD::PublicService:


Signals | |
void | published (bool) |
Public Member Functions | |
PublicService (const QString &name=QString::null, const QString &type=QString::null, unsigned int port=0, const QString &domain=QString::null) | |
void | stop () |
bool | publish () |
bool | isPublished () const |
void | publishAsync () |
void | setTextData (const QMap< QString, QString > &textData) |
void | setServiceName (const QString &serviceName) |
void | setType (const QString &type) |
void | setPort (unsigned short port) |
void | setDomain (const QString &domain) |
Protected Member Functions | |
virtual void | customEvent (QCustomEvent *event) |
virtual void | virtual_hook (int, void *) |
Detailed Description
This class is most important for application that wants to announce its service on network. This class represents local service being published.Suppose that you want to make your web server public - this is simplest way:
DNSSD::PublicService *service = new DNSSD::PublicService("My files","_http._tcp",80); bool isOK = service->publish();
In this example publish() is synchronous - it will not return until publishing is complete. This is usually not too long but it can freeze application's GUI for a moment. Asynchronous publishing is better for responsiveness. Example:
DNSSD::PublicService *service = new DNSSD::PublicService("My files","_http._tcp",80); connect(service,SIGNAL(published(bool)),this,SLOT(wasPublished(bool))); service->publishAsync();
- Author:
- Jakub Stachowski
Definition at line 55 of file publicservice.h.
Constructor & Destructor Documentation
|
Definition at line 47 of file publicservice.cpp. References QString::isNull(). |
Member Function Documentation
|
Stops publishing or abort incomplete publish request. Useful when you want to disable service for some time. Definition at line 122 of file publicservice.cpp. Referenced by publishAsync(), setDomain(), setPort(), setServiceName(), setTextData(), and setType(). |
|
Synchrounous publish. Application will be freezed until publishing is complete.
Definition at line 115 of file publicservice.cpp. References publishAsync(). |
|
Returns true is currently published.
Definition at line 101 of file publicservice.cpp. |
|
Asynchronous version of publish(). It return immediately and emits signal published(bool) when completed. Note that in case of early detected error (like bad service type) signal may be emitted before return of this function. Definition at line 128 of file publicservice.cpp. References QString::ascii(), QMap< QString, QString >::begin(), QMap< QString, QString >::end(), QCString::length(), published(), stop(), and QString::utf8(). Referenced by publish(), setDomain(), setPort(), setServiceName(), setTextData(), and setType(). |
|
Sets new text properties. If services is already published, it will be re-announced with new data. Definition at line 106 of file publicservice.cpp. References publishAsync(), and stop(). |
|
Sets name of the service. If service is currently published, it will be re-announced with new data. Definition at line 64 of file publicservice.cpp. References publishAsync(), and stop(). |
|
Sets type of service. It has to in form of _type._udp or _type._tcp. If service is currently published, it will be re-announced with new data. Definition at line 83 of file publicservice.cpp. References publishAsync(), and stop(). |
|
Sets port. If service is currently published, it will be re-announced with new data. Definition at line 92 of file publicservice.cpp. References publishAsync(), and stop(). |
|
Sets domain where service is published. "local." means local LAN. If service is currently published, it will be re-announced with new data. Definition at line 73 of file publicservice.cpp. References publishAsync(), and stop(). |
|
Emitted when publishing is complete - parameter is set to true if it was successfull. It will also emitted when name, port or type of already published service is changed. Referenced by publishAsync(). |
The documentation for this class was generated from the following files: