KDNSSD::RemoteService Class
class KDNSSD::RemoteServiceDescribes a service published over DNS-SD, typically on a remote machine. More...
Header: | #include <KDNSSD/RemoteService> |
CMake: | find_package(KF6 REQUIRED COMPONENTS DNSSD) target_link_libraries(mytarget PRIVATE KF6::DNSSD) |
Inherits: | QObject and KDNSSD::ServiceBase |
Public Functions
RemoteService(const QString &name, const QString &type, const QString &domain) | |
bool | isResolved() const |
bool | resolve() |
void | resolveAsync() |
Signals
void | resolved(bool successful) |
Detailed Description
This class allows delayed or asynchronous resolution of services. As the name suggests, the service is normally on a remote machine, but the service could just as easily be published on the local machine.
RemoteService instances are normally provided by ServiceBrowser, but can be used to resolve any service if you know the name, type and domain for it.
See also ServiceBrowser.
Member Function Documentation
RemoteService::RemoteService(const QString &name, const QString &type, const QString &domain)
Creates an unresolved RemoteService representing the service with the given name, type and domain.
name is the name of the service
type is the type of the service (see ServiceBrowser::ServiceBrowser())
domain is the domain of the service
See also ServiceBrowser::isAvailable().
bool RemoteService::isResolved() const
Whether the service has been successfully resolved.
Returns true
if hostName() and port() will return valid values, false
otherwise
bool RemoteService::resolve()
Resolves the host name and port of service synchronously.
The host name is not resolved into an IP address - use KResolver for that.
Note: resolved() is emitted before this function is returned.
resolve() will not cause RemoteService to monitor for changes in the hostname or port of the service.
Returns true
if successful, false
on failure
See also resolveAsync(), hostName(), and port().
void RemoteService::resolveAsync()
Resolves the host name and port of service asynchronously.
Note: The host name is not resolved into an IP address - use KResolver for that.
The resolved() signal will be emitted when the resolution is complete, or when it fails.
Note: resolved() may be emitted before this function returns in case of immediate failure.
RemoteService will keep monitoring the service for changes in hostname and port, and re-emit resolved() when either changes.
See also resolve(), hostName(), and port().
[signal]
void RemoteService::resolved(bool successful)
Emitted when resolving is complete
If operating in asynchronous mode this signal can be emitted several times (when the hostName or port of the service changes).
successful is true
if the hostName and port were successfully resolved, false
otherwise