• Skip to content
  • Skip to link menu
KDE 4.3 API Reference
  • KDE API Reference
  • kdelibs
  • Sitemap
  • Contact Us
 

DNSSD

DNSSD::ServiceModel

DNSSD::ServiceModel Class Reference

Model for list of Zeroconf services. More...

#include <DNSSD/ServiceModel>

Inheritance diagram for DNSSD::ServiceModel:
QAbstractItemModel

List of all members.

Public Types

enum  AdditionalRoles { ServicePtrRole = 0xA06519DE }
enum  ModelColumns { ServiceName = 0, Host = 1, Port = 2 }

Public Member Functions

virtual int columnCount (const QModelIndex &parent=QModelIndex()) const
virtual QVariant data (const QModelIndex &index, int role=Qt::DisplayRole) const
virtual bool hasIndex (int row, int column, const QModelIndex &parent) const
virtual QVariant headerData (int section, Qt::Orientation orientation, int role=Qt::DisplayRole) const
virtual QModelIndex index (int row, int column, const QModelIndex &parent=QModelIndex()) const
virtual QModelIndex parent (const QModelIndex &index) const
virtual int rowCount (const QModelIndex &parent=QModelIndex()) const
 ServiceModel (ServiceBrowser *browser, QObject *parent=0)
virtual ~ServiceModel ()

Detailed Description

Model for list of Zeroconf services.

This class provides a Qt Model for ServiceBrowser to allow easy integration of service discovery into a GUI. For example, to show the HTTP servers published on the local network, you can do:

 DNSSD::ServiceModel *serviceModel = new ServiceModel(
     new DNSSD::ServiceBrowser("_http._tcp")
     );
 QComboBox *serviceCombo = new QComboBox();
 serviceCombo->setModel(serviceModel);

After the user makes a selection, the application typically needs to get a pointer to the selected service in order to get the host name and port. A RemoteService::Ptr can be obtained from a QModelIndex using:

 void onSelected(const QModelIndex &selection) {
     DNSSD::RemoteService::Ptr service =
         selection.data(DNSSD::ServiceModel::ServicePtrRole)
                  .value<DNSSD::RemoteService::Ptr>();
 }
Since:
4.1
Author:
Jakub Stachowski

Definition at line 66 of file servicemodel.h.


Member Enumeration Documentation

enum DNSSD::ServiceModel::AdditionalRoles

The additional data roles provided by this model.

Enumerator:
ServicePtrRole 

gets a RemoteService::Ptr for the service

Definition at line 73 of file servicemodel.h.

enum DNSSD::ServiceModel::ModelColumns

The default columns for this model.

If service browser is not set to resolve automatically, then the model will only ever have one column (the service name).

Enumerator:
ServiceName 
Host 
Port 

Definition at line 83 of file servicemodel.h.


Constructor & Destructor Documentation

DNSSD::ServiceModel::ServiceModel ( ServiceBrowser *  browser,
QObject *  parent = 0 
) [explicit]

Creates a model for the given service browser and starts browsing for services.

The model takes ownership of the browser, so there is no need to delete it afterwards.

You should not call ServiceBrowser::startBrowse() on browser before passing it to ServiceModel.

Definition at line 34 of file servicemodel.cpp.

DNSSD::ServiceModel::~ServiceModel (  )  [virtual]

Definition at line 46 of file servicemodel.cpp.


Member Function Documentation

int DNSSD::ServiceModel::columnCount ( const QModelIndex &  parent = QModelIndex()  )  const [virtual]
Reimplemented from superclass.

Definition at line 51 of file servicemodel.cpp.

QVariant DNSSD::ServiceModel::data ( const QModelIndex &  index,
int  role = Qt::DisplayRole 
) const [virtual]
Reimplemented from superclass.

Definition at line 78 of file servicemodel.cpp.

bool DNSSD::ServiceModel::hasIndex ( int  row,
int  column,
const QModelIndex &  parent 
) const [virtual]
Reimplemented from superclass.

Definition at line 70 of file servicemodel.cpp.

QVariant DNSSD::ServiceModel::headerData ( int  section,
Qt::Orientation  orientation,
int  role = Qt::DisplayRole 
) const [virtual]
Reimplemented from superclass.

Definition at line 97 of file servicemodel.cpp.

QModelIndex DNSSD::ServiceModel::index ( int  row,
int  column,
const QModelIndex &  parent = QModelIndex() 
) const [virtual]
Reimplemented from superclass.

Definition at line 65 of file servicemodel.cpp.

QModelIndex DNSSD::ServiceModel::parent ( const QModelIndex &  index  )  const [virtual]
Reimplemented from superclass.

Definition at line 60 of file servicemodel.cpp.

int DNSSD::ServiceModel::rowCount ( const QModelIndex &  parent = QModelIndex()  )  const [virtual]
Reimplemented from superclass.

Definition at line 55 of file servicemodel.cpp.


The documentation for this class was generated from the following files:
  • servicemodel.h
  • servicemodel.cpp

DNSSD

Skip menu "DNSSD"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Namespace Members
  • Class Members
  • Related Pages

kdelibs

Skip menu "kdelibs"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • Kate
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Generated for kdelibs by doxygen 1.6.1
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal