KDNSSD::ServiceBase
#include <KDNSSD/ServiceBase>
Public Types | |
typedef QExplicitlySharedDataPointer< ServiceBase > | Ptr |
Public Member Functions | |
ServiceBase (const QString &name=QString(), const QString &type=QString(), const QString &domain=QString(), const QString &host=QString(), unsigned short port=0) | |
QString | domain () const |
QString | hostName () const |
bool | operator!= (const ServiceBase &o) const |
bool | operator== (const ServiceBase &o) const |
unsigned short | port () const |
QString | serviceName () const |
QMap< QString, QByteArray > | textData () const |
QString | type () const |
Public Member Functions inherited from QSharedData | |
QSharedData (const QSharedData &) | |
Protected Member Functions | |
KDNSSD_NO_EXPORT | ServiceBase (ServiceBasePrivate *const d) |
virtual void | virtual_hook (int, void *) |
Protected Attributes | |
std::unique_ptr< ServiceBasePrivate > const | d |
Detailed Description
Describes a service.
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.
You should not normally need to create a ServiceBase object yourself.
- See also
- PublicService
Definition at line 40 of file servicebase.h.
Member Typedef Documentation
◆ Ptr
Definition at line 43 of file servicebase.h.
Constructor & Destructor Documentation
◆ ServiceBase() [1/2]
|
explicit |
Creates a ServiceBase object.
Note that name
, type
and domain
uniquely identify the service in the DNS-SD system, and host
and port
provide the actual location of the service.
For example, RemoteService populates host
and port
based on the name
, type
and domain
attributes using the DNS-SD resolution system.
- Parameters
-
name service name type service type domain the DNS-SD domain name for service host the host name of the service (a fully-qualified domain name) port the port number of the service
Definition at line 16 of file servicebase.cpp.
◆ ServiceBase() [2/2]
|
explicitprotected |
Definition at line 21 of file servicebase.cpp.
Member Function Documentation
◆ domain()
QString KDNSSD::ServiceBase::domain | ( | ) | const |
The domain that the service belongs to.
It is "local." for link-local services.
Definition at line 38 of file servicebase.cpp.
◆ hostName()
QString KDNSSD::ServiceBase::hostName | ( | ) | const |
The hostname of the service.
Only valid for local and resolved remote services.
Together with port(), this can be used to actually access the service.
Definition at line 43 of file servicebase.cpp.
◆ operator!=()
bool KDNSSD::ServiceBase::operator!= | ( | const ServiceBase & | o | ) | const |
Compares services based on name, type and domain.
This is enough to for unique identification and omitting port, host and text data allows to compare resolved and unresolved services
- Parameters
-
o the service to compare this service to
- Returns
false
if this service represents the same service (from the point of view of DNS-SD) aso
,true
otherwise
Definition at line 62 of file servicebase.cpp.
◆ operator==()
bool KDNSSD::ServiceBase::operator== | ( | const ServiceBase & | o | ) | const |
Compares services based on name, type and domain.
This is enough to for unique identification and omitting port, host and text data allows to compare resolved and unresolved services
- Parameters
-
o the service to compare this service to
- Returns
true
if this service represents the same service (from the point of view of DNS-SD) aso
,false
otherwise
Definition at line 57 of file servicebase.cpp.
◆ port()
unsigned short KDNSSD::ServiceBase::port | ( | ) | const |
The port number of the service.
Only valid for local and resolved remote services.
Together with hostName(), this can be used to actually access the service.
Definition at line 48 of file servicebase.cpp.
◆ serviceName()
QString KDNSSD::ServiceBase::serviceName | ( | ) | const |
The name of the service.
Definition at line 28 of file servicebase.cpp.
◆ textData()
QMap< QString, QByteArray > KDNSSD::ServiceBase::textData | ( | ) | const |
Additional text data associated with the service.
Only valid for local and resolved remote services.
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().
You can check for the data that might be associated with a particular service on the service types list. 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().
For example, if you are accessing the _ipp._tcp service, you might do something like
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.
Definition at line 52 of file servicebase.cpp.
◆ type()
QString KDNSSD::ServiceBase::type | ( | ) | const |
The type of the service.
This is always in the format _sometype._udp or _sometype._tcp.
See the DNS-SD website for a full list of service types.
Definition at line 33 of file servicebase.cpp.
◆ virtual_hook()
|
protectedvirtual |
Definition at line 67 of file servicebase.cpp.
Member Data Documentation
◆ d
|
protected |
Definition at line 181 of file servicebase.h.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:15:07 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.