DNSSD
DNSSD::ServiceModel Class Reference
Model for list of Zeroconf services. More...
#include <DNSSD/ServiceModel>

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
Definition at line 66 of file servicemodel.h.
Member Enumeration Documentation
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.
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).
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] |
QVariant DNSSD::ServiceModel::data | ( | const QModelIndex & | index, | |
int | role = Qt::DisplayRole | |||
) | const [virtual] |
bool DNSSD::ServiceModel::hasIndex | ( | int | row, | |
int | column, | |||
const QModelIndex & | parent | |||
) | const [virtual] |
QVariant DNSSD::ServiceModel::headerData | ( | int | section, | |
Qt::Orientation | orientation, | |||
int | role = Qt::DisplayRole | |||
) | const [virtual] |
QModelIndex DNSSD::ServiceModel::index | ( | int | row, | |
int | column, | |||
const QModelIndex & | parent = QModelIndex() | |||
) | const [virtual] |
QModelIndex DNSSD::ServiceModel::parent | ( | const QModelIndex & | index | ) | const [virtual] |
int DNSSD::ServiceModel::rowCount | ( | const QModelIndex & | parent = QModelIndex() |
) | const [virtual] |
The documentation for this class was generated from the following files: