Changeset View
Changeset View
Standalone View
Standalone View
src/mdnsd-publicservice.cpp
Show First 20 Lines • Show All 154 Lines • ▼ Show 20 Line(s) | 154 | { | |||
---|---|---|---|---|---|
155 | K_D; | 155 | K_D; | ||
156 | if (d->isRunning()) { | 156 | if (d->isRunning()) { | ||
157 | stop(); | 157 | stop(); | ||
158 | } | 158 | } | ||
159 | TXTRecordRef txt; | 159 | TXTRecordRef txt; | ||
160 | TXTRecordCreate(&txt, 0, 0); | 160 | TXTRecordCreate(&txt, 0, 0); | ||
161 | QMap<QString, QByteArray>::ConstIterator itEnd = d->m_textData.cend(); | 161 | QMap<QString, QByteArray>::ConstIterator itEnd = d->m_textData.cend(); | ||
162 | for (QMap<QString, QByteArray>::ConstIterator it = d->m_textData.cbegin(); it != itEnd; ++it) { | 162 | for (QMap<QString, QByteArray>::ConstIterator it = d->m_textData.cbegin(); it != itEnd; ++it) { | ||
163 | if (TXTRecordSetValue(&txt, it.key().toUtf8(), it.value().length(), it.value()) != kDNSServiceErr_NoError) { | 163 | if (TXTRecordSetValue(&txt, it.key().toUtf8().constData(), it.value().length(), it.value().constData()) != kDNSServiceErr_NoError) { | ||
164 | TXTRecordDeallocate(&txt); | 164 | TXTRecordDeallocate(&txt); | ||
165 | emit published(false); | 165 | emit published(false); | ||
166 | return; | 166 | return; | ||
167 | } | 167 | } | ||
168 | } | 168 | } | ||
169 | DNSServiceRef ref; | 169 | DNSServiceRef ref; | ||
170 | QString fullType = d->m_type; | 170 | QString fullType = d->m_type; | ||
171 | Q_FOREACH (const QString &subtype, d->m_subtypes) { | 171 | Q_FOREACH (const QString &subtype, d->m_subtypes) { | ||
172 | fullType += ',' + subtype; | 172 | fullType += ',' + subtype; | ||
173 | } | 173 | } | ||
174 | if (DNSServiceRegister(&ref, 0, 0, d->m_serviceName.toUtf8(), fullType.toLatin1().constData(), domainToDNS(d->m_domain), NULL, | 174 | if (DNSServiceRegister(&ref, 0, 0, d->m_serviceName.toUtf8().constData(), fullType.toLatin1().constData(), domainToDNS(d->m_domain).constData(), NULL, | ||
175 | htons(d->m_port), TXTRecordGetLength(&txt), TXTRecordGetBytesPtr(&txt), publish_callback, | 175 | htons(d->m_port), TXTRecordGetLength(&txt), TXTRecordGetBytesPtr(&txt), publish_callback, | ||
176 | reinterpret_cast<void *>(d)) == kDNSServiceErr_NoError) { | 176 | reinterpret_cast<void *>(d)) == kDNSServiceErr_NoError) { | ||
177 | d->setRef(ref); | 177 | d->setRef(ref); | ||
178 | } | 178 | } | ||
179 | TXTRecordDeallocate(&txt); | 179 | TXTRecordDeallocate(&txt); | ||
180 | if (!d->isRunning()) { | 180 | if (!d->isRunning()) { | ||
181 | emit published(false); | 181 | emit published(false); | ||
182 | } | 182 | } | ||
Show All 35 Lines |