37 lines
1.1 KiB
C++
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.";
|
|
}
|
|
}
|