forked from jbagg/QtZeroConf
AvahiCore - house keeping
This commit is contained in:
@ -36,15 +36,7 @@
|
|||||||
class QZeroConfPrivate
|
class QZeroConfPrivate
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
QZeroConfPrivate(QZeroConf *parent)
|
QZeroConfPrivate(QZeroConf *parent) { pub = parent; }
|
||||||
{
|
|
||||||
pub = parent;
|
|
||||||
group = NULL;
|
|
||||||
browser = NULL;
|
|
||||||
txt = NULL;
|
|
||||||
ready = 0;
|
|
||||||
registerWaiting = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
void createOrDeleteServer()
|
void createOrDeleteServer()
|
||||||
{
|
{
|
||||||
@ -70,10 +62,10 @@ public:
|
|||||||
QZeroConfPrivate *ref = static_cast<QZeroConfPrivate *>(userdata);
|
QZeroConfPrivate *ref = static_cast<QZeroConfPrivate *>(userdata);
|
||||||
switch (state) {
|
switch (state) {
|
||||||
case AVAHI_SERVER_RUNNING:
|
case AVAHI_SERVER_RUNNING:
|
||||||
ref->ready = 1;
|
ref->ready = true;
|
||||||
if (ref->registerWaiting) {
|
if (ref->registerWaiting) {
|
||||||
ref->registerWaiting = 0;
|
ref->registerWaiting = false;
|
||||||
ref->registerService(ref->name.toUtf8(), ref->type.toUtf8(), ref->domain.toUtf8(), ref->port);
|
ref->registerService(ref->name.toUtf8(), ref->type.toUtf8(), ref->domain.toUtf8(), ref->port);
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case AVAHI_SERVER_COLLISION:
|
case AVAHI_SERVER_COLLISION:
|
||||||
@ -265,12 +257,13 @@ public:
|
|||||||
static size_t serviceObjectCount;
|
static size_t serviceObjectCount;
|
||||||
static size_t browserObjectCount;
|
static size_t browserObjectCount;
|
||||||
static AvahiServerConfig config;
|
static AvahiServerConfig config;
|
||||||
AvahiSEntryGroup *group;
|
AvahiSEntryGroup *group = nullptr;
|
||||||
AvahiSServiceBrowser *browser;
|
AvahiSServiceBrowser *browser = nullptr;
|
||||||
AvahiProtocol aProtocol;
|
AvahiProtocol aProtocol;
|
||||||
QMap <QString, AvahiSServiceResolver *> resolvers;
|
QMap <QString, AvahiSServiceResolver *> resolvers;
|
||||||
AvahiStringList *txt;
|
AvahiStringList *txt = nullptr;
|
||||||
bool ready, registerWaiting;
|
bool ready = false;
|
||||||
|
bool registerWaiting = false;
|
||||||
QString name, type, domain;
|
QString name, type, domain;
|
||||||
qint32 port;
|
qint32 port;
|
||||||
};
|
};
|
||||||
@ -308,7 +301,7 @@ void QZeroConf::startServicePublish(const char *name, const char *type, const ch
|
|||||||
if (pri->ready)
|
if (pri->ready)
|
||||||
pri->registerService(name, type, domain, port);
|
pri->registerService(name, type, domain, port);
|
||||||
else {
|
else {
|
||||||
pri->registerWaiting = 1;
|
pri->registerWaiting = true;
|
||||||
pri->name = name;
|
pri->name = name;
|
||||||
pri->type = type;
|
pri->type = type;
|
||||||
pri->domain = domain;
|
pri->domain = domain;
|
||||||
|
Reference in New Issue
Block a user