00001 #ifndef BONJOURREGISTER_H
00002 #define BONJOURREGISTER_H
00003
00004 #include <QObject>
00005 #include <dns_sd.h>
00006 #include "mythbaseexp.h"
00007
00008 class QSocketNotifier;
00009
00010 class MBASE_PUBLIC BonjourRegister : public QObject
00011 {
00012 Q_OBJECT
00013 public:
00014 BonjourRegister(QObject *parent = 0);
00015 ~BonjourRegister();
00016
00017 bool Register(uint16_t port, const QByteArray &type, const QByteArray &name,
00018 const QByteArray &txt);
00019
00020 QByteArray m_name;
00021 QByteArray m_type;
00022
00023 private slots:
00024 void socketReadyRead();
00025
00026 private:
00027 static void DNSSD_API BonjourCallback(DNSServiceRef ref,
00028 DNSServiceFlags flags,
00029 DNSServiceErrorType errorcode,
00030 const char *name, const char *type,
00031 const char *domain, void *object);
00032 DNSServiceRef m_dnssref;
00033 QSocketNotifier *m_socket;
00034 };
00035 #endif