mirror of
https://github.com/pocoproject/poco.git
synced 2025-02-02 07:16:46 +01:00
b41f211ece
* Initial commit * initial commit * added README.md * Update README.md * Add top level CMakeLists like another project in POCO framework. see #1 * Add CMakeLists to Avahi and Bonjour. (see #1) * Missing changing in top level CMakeLists correct. (see #1) * Add samples CMakeLists. (see #1) * Add temporary cmake find module for Avahi and Bonjour in cmake directory. (see #1) * Add mandatory requirement diff for POCO framework to DNSSD cmake can be work correctly. (see #1) * Update README.md Add cmake build way. * Update README.md Minor change. * Update README.md Removed ambiguous sentence. * Moved files * Add cmake modules * Add cmake modules * Remove modules * Correct linux cmake ci. * Exclude DNSSD from macos, windows. * Update CMakeLists.txt * Remove unused gitignore * Remove deprecated vs versions * Add vs160 and vs170 for DNSSD * Remove deprecated sln * Revert bad changes * Revert bad changes * chore: remove vs90 sln files * chore: remove vs90 x64 files * Revert "chore: remove vs90 sln files" This reverts commit 51d78f82f11d387506c016c9aab3b31e3c32ad23. * chore: add DNSSD to components * chore(DNSSD): disable in CI, update copyright and doc * fix(DNSSD): CMake on Apple platforms: fix finding library providing DNSSD. * fix(DNSSD): Handle kDNSServiceFlagsNonBrowsable that was removed in 1096.0.2 * chore: naming and code modernize review comments * enh(DNSSD): Define DNSSD_*_API for non-MSVC compilers. --------- Co-authored-by: Günter Obiltschnig <guenter.obiltschnig@appinf.com> Co-authored-by: <soroosh@soroosh-pc.localdomain> Co-authored-by: Seyyed Soroosh Hosseinalipour <soorosh_abi@hotmail.com> Co-authored-by: Matej Kenda <matejken@gmail.com>
110 lines
1.9 KiB
C++
110 lines
1.9 KiB
C++
//
|
|
// DNSSDResponder.cpp
|
|
//
|
|
// $Id: //poco/1.7/DNSSD/src/DNSSDResponder.cpp#1 $
|
|
//
|
|
// Library: DNSSD
|
|
// Package: Core
|
|
// Module: DNSSDResponder
|
|
//
|
|
// Copyright (c) 2006-2024, Applied Informatics Software Engineering GmbH.
|
|
// and Contributors.
|
|
//
|
|
// SPDX-License-Identifier: BSL-1.0
|
|
//
|
|
|
|
|
|
#include "Poco/DNSSD/DNSSDResponder.h"
|
|
#include "Poco/DNSSD/DNSSDResponderImpl.h"
|
|
#include "Poco/Exception.h"
|
|
|
|
|
|
namespace Poco {
|
|
namespace DNSSD {
|
|
|
|
|
|
DNSSDResponderImplFactory* DNSSDResponder::_pImplFactory(0);
|
|
|
|
|
|
DNSSDResponder::DNSSDResponder():
|
|
_pImpl(0)
|
|
{
|
|
if (_pImplFactory)
|
|
{
|
|
_pImpl = _pImplFactory->createResponderImpl(*this);
|
|
}
|
|
else
|
|
{
|
|
throw Poco::IllegalStateException("No DNSResponderImplFactory available.");
|
|
}
|
|
}
|
|
|
|
|
|
DNSSDResponder::~DNSSDResponder()
|
|
{
|
|
delete _pImpl;
|
|
}
|
|
|
|
|
|
DNSSDBrowser& DNSSDResponder::browser()
|
|
{
|
|
return _pImpl->browser();
|
|
}
|
|
|
|
|
|
ServiceHandle DNSSDResponder::registerService(const Service& service, int options)
|
|
{
|
|
return _pImpl->registerService(service, options);
|
|
}
|
|
|
|
|
|
void DNSSDResponder::unregisterService(ServiceHandle& serviceHandle)
|
|
{
|
|
_pImpl->unregisterService(serviceHandle);
|
|
}
|
|
|
|
|
|
RecordHandle DNSSDResponder::addRecord(ServiceHandle serviceHandle, const Record& record)
|
|
{
|
|
return _pImpl->addRecord(serviceHandle, record);
|
|
}
|
|
|
|
|
|
void DNSSDResponder::updateRecord(ServiceHandle serviceHandle, RecordHandle recordHandle, const Record& record)
|
|
{
|
|
_pImpl->updateRecord(serviceHandle, recordHandle, record);
|
|
}
|
|
|
|
|
|
void DNSSDResponder::removeRecord(ServiceHandle serviceHandle, RecordHandle& recordHandle)
|
|
{
|
|
_pImpl->removeRecord(serviceHandle, recordHandle);
|
|
}
|
|
|
|
|
|
void DNSSDResponder::start()
|
|
{
|
|
_pImpl->start();
|
|
}
|
|
|
|
|
|
void DNSSDResponder::stop()
|
|
{
|
|
_pImpl->stop();
|
|
}
|
|
|
|
|
|
void DNSSDResponder::registerImplFactory(DNSSDResponderImplFactory& factory)
|
|
{
|
|
_pImplFactory = &factory;
|
|
}
|
|
|
|
|
|
void DNSSDResponder::unregisterImplFactory()
|
|
{
|
|
_pImplFactory = 0;
|
|
}
|
|
|
|
|
|
} } // namespace Poco::DNSSD
|