SL100_FactoryTestTool/FactoryTestTool/SourceCode/Network/mdns/servicemodel.cpp

37 lines
1.1 KiB
C++

// servicemodel.cpp
#include "servicemodel.h"
Q_DECLARE_METATYPE(QMdnsEngine::Service)
ServiceProvider::ServiceProvider(QObject* parent)
: QObject(parent), mHostname(&mServer), mProvider(nullptr)
{
// Initialize the provider when the ServiceProvider is created
}
void ServiceProvider::startServiceBroadcast(const QString& serviceName, const QString& serviceType, quint16 port)
{
if (mProvider) {
delete mProvider;
mProvider = nullptr;
}
// Set up the service with the specified name, type, and port
mService.setName(serviceName.toUtf8());
mService.setType(serviceType.toUtf8());
mService.setPort(port);
// Create a new provider for this service
mProvider = new QMdnsEngine::Provider(&mServer, &mHostname, this);
mProvider->update(mService);
qDebug() << "mDNS service broadcast started:" << serviceName << serviceType << "on port" << port;
}
void ServiceProvider::stopServiceBroadcast()
{
if (mProvider) {
delete mProvider;
mProvider = nullptr;
qDebug() << "mDNS service broadcast stopped.";
}
}