Files
biboumi/src/network/dns_socket_handler.cpp
T
louiz’ 0ab40dc1ab Refactoring louloulibs and cmake
Use OBJECT libraries
Remove the louloulibs directory
Write FOUND variables in the cache
2017-03-14 21:45:23 +01:00

44 lines
807 B
C++

#include <biboumi.h>
#ifdef UDNS_FOUND
#include <network/dns_socket_handler.hpp>
#include <network/dns_handler.hpp>
#include <network/poller.hpp>
#include <udns.h>
DNSSocketHandler::DNSSocketHandler(std::shared_ptr<Poller>& poller,
const socket_t socket):
SocketHandler(poller, socket)
{
poller->add_socket_handler(this);
}
DNSSocketHandler::~DNSSocketHandler()
{
this->unwatch();
}
void DNSSocketHandler::on_recv()
{
dns_ioevent(nullptr, 0);
}
bool DNSSocketHandler::is_connected() const
{
return true;
}
void DNSSocketHandler::unwatch()
{
if (this->poller->is_managing_socket(this->socket))
this->poller->remove_socket_handler(this->socket);
}
void DNSSocketHandler::watch()
{
this->poller->add_socket_handler(this);
}
#endif /* UDNS_FOUND */