DNSSD::ServiceBase Class Reference

`#include <servicebase.h>`

Inheritance diagram for DNSSD::ServiceBase:

## Public Types

typedef KSharedPtr< ServiceBase > | Ptr

## Public Member Functions

| ServiceBase (const QString &name=QString::null, const QString &type=QString::null, const QString &domain=QString::null, const QString &host=QString::null, unsigned short port=0)
const QString & | serviceName () const
const QString & | type () const
const QString & | domain () const
const QString & | hostName () const
unsigned short | port () const
const QMap< QString, QString > & | textData () const

## Protected Member Functions

QString | encode ()
void | decode (const QString &name)
virtual void | virtual_hook (int, void *)

## Protected Attributes

QString | m_serviceName
QString | m_type
QString | m_domain
QString | m_hostName
unsigned short | m_port
QMap< QString, QString > | m_textData

## Friends

KDNSSD_EXPORT QDataStream & | operator<< (QDataStream &s, const ServiceBase &a)
KDNSSD_EXPORT QDataStream & | operator>> (QDataStream &s, ServiceBase &a)

## Detailed Description

This class is used to carry information about service.

It can be remote, local, metaservice or domain. Metaservice has only type and domain - it means that services of given type are present in given domain. Describes any type of service.

Author
  Jakub Stachowski

Definition at line 40 of file servicebase.h.

## Constructor & Destructor Documentation

DNSSD::ServiceBase::ServiceBase | ( | const QString & | name = `QString::null`,
|  | const QString & | type = `QString::null`,
|  | const QString & | domain = `QString::null`,
|  | const QString & | host = `QString::null`,
|  | unsigned short | port = `0`
| ) |  |

Parameters

  name | Service name - empty for metaservices
  type | Service type - empty for domains
  domain | Domain name
  host | Host name
  port | Port number

Definition at line 27 of file servicebase.cpp.

## Member Function Documentation

void DNSSD::ServiceBase::decode | ( | const QString & | name | ) |

protected

Decode PTR label returned by DNS resolver into service name, type and domain.

It also handles special cases - metaservices and domains.

Definition at line 45 of file servicebase.cpp.

const QString & DNSSD::ServiceBase::domain | ( |  | ) | const

Returns domain that given service belongs to.

It is "local." for link-local services.

Definition at line 79 of file servicebase.cpp.

QString DNSSD::ServiceBase::encode | ( |  | ) |

protected

Encode service name, type and domain into string that can be used as DNS-SD PTR label.

Definition at line 35 of file servicebase.cpp.

const QString & DNSSD::ServiceBase::hostName | ( |  | ) | const

Returns hostname.

It is only valid for local and resolved remote services.

Definition at line 84 of file servicebase.cpp.

unsigned short DNSSD::ServiceBase::port | ( |  | ) | const

Returns port number.

It is only valid for local and resolved remote services.

Definition at line 89 of file servicebase.cpp.

const QString & DNSSD::ServiceBase::serviceName | ( |  | ) | const

Returns name of service.

This is empty for metaservices

Definition at line 69 of file servicebase.cpp.

const QMap< QString, QString > & DNSSD::ServiceBase::textData | ( |  | ) | const

Returns read only map of text properties.

It is only valid for local and resolved remote services.

Definition at line 93 of file servicebase.cpp.

const QString & DNSSD::ServiceBase::type | ( |  | ) | const

Returns type of service.

It always in format _sometype._udp or _sometype._tcp and it is empty for domains.

Definition at line 74 of file servicebase.cpp.

## Member Data Documentation

QMap<QString,QString> DNSSD::ServiceBase::m_textData

protected

Map of TXT properties.

Definition at line 99 of file servicebase.h.

The documentation for this class was generated from the following files:

- servicebase.h
- servicebase.cpp

KDE Home | KDE Accessibility Home | Description of Access Keys