DNSSD
publicservice.h
Go to the documentation of this file.
00001 /* This file is part of the KDE project 00002 * 00003 * Copyright (C) 2004, 2005 Jakub Stachowski <qbast@go2.pl> 00004 * 00005 * This library is free software; you can redistribute it and/or 00006 * modify it under the terms of the GNU Library General Public 00007 * License as published by the Free Software Foundation; either 00008 * version 2 of the License, or (at your option) any later version. 00009 * 00010 * This library is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 * Library General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU Library General Public License 00016 * along with this library; see the file COPYING.LIB. If not, write to 00017 * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, 00018 * Boston, MA 02110-1301, USA. 00019 */ 00020 00021 #ifndef DNSSDPUBLICSERVICE_H 00022 #define DNSSDPUBLICSERVICE_H 00023 00024 #include <QtCore/QObject> 00025 #include <dnssd/servicebase.h> 00026 #include <QtCore/QStringList> 00027 00028 namespace DNSSD 00029 { 00030 class PublicServicePrivate; 00031 00059 class KDNSSD_EXPORT PublicService : public QObject, public ServiceBase 00060 { 00061 Q_OBJECT 00062 00063 public: 00091 explicit PublicService(const QString& name = QString(), 00092 const QString& type = QString(), 00093 unsigned int port = 0, 00094 const QString& domain = QString(), 00095 const QStringList& subtypes = QStringList()); 00096 00097 ~PublicService(); 00098 00107 void stop(); 00108 00120 bool publish(); 00121 00128 bool isPublished() const; 00129 00137 void publishAsync(); 00138 00149 void setTextData(const QMap<QString,QByteArray>& textData); 00150 00159 void setServiceName(const QString &serviceName); 00160 00171 void setType(const QString& type); 00172 00184 void setSubTypes(const QStringList& subtypes); 00185 00194 void setPort(unsigned short port); 00195 00207 void setDomain(const QString& domain); 00208 00214 QStringList subtypes() const; 00215 00216 Q_SIGNALS: 00224 void published(bool successful); 00225 00226 private: 00227 friend class PublicServicePrivate; 00228 00229 protected: 00230 virtual void virtual_hook(int, void*); 00231 }; 00232 00233 00234 } 00235 00236 #endif
KDE 4.6 API Reference