DNSSD::ServiceBase Class Reference

#include <servicebase.h>

Inheritance diagram for DNSSD::ServiceBase:

DNSSD::PublicService DNSSD::RemoteService List of all members.

Detailed Description

This class is used to carry information about service.Describes any type of 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.

Author:
Jakub Stachowski

Definition at line 40 of file servicebase.h.


Public Types

typedef KSharedPtr< ServiceBasePtr

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)
virtual ~ServiceBase ()
const QStringserviceName () const
const QStringtype () const
const QStringdomain () const
const QStringhostName () 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, QStringm_textData

Friends

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

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

Map of TXT properties.

Definition at line 99 of file servicebase.h.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys