37 lines
723 B
C++
37 lines
723 B
C++
#ifndef MULTICASTDNSCLIENT_H
|
|
#define MULTICASTDNSCLIENT_H
|
|
|
|
#include "Query.h"
|
|
#include "ResourceRecord.h"
|
|
#include <functional>
|
|
#include <memory>
|
|
#include <string>
|
|
|
|
|
|
namespace Network {
|
|
namespace Dns {
|
|
|
|
class MulticastDnsClientImpl;
|
|
|
|
class MulticastDnsClient
|
|
{
|
|
public:
|
|
MulticastDnsClient(std::function<void(const std::vector<ResourceRecord>&)> callback);
|
|
~MulticastDnsClient();
|
|
|
|
public:
|
|
void Query(const Dns::Query& query);
|
|
|
|
private:
|
|
void Callback(const std::vector<ResourceRecordImpl>& data);
|
|
|
|
private:
|
|
std::unique_ptr<MulticastDnsClientImpl> m_pMulticastDnsClientImpl;
|
|
std::function<void(const std::vector<ResourceRecord>&)> m_callback;
|
|
};
|
|
|
|
} // namespace Dns
|
|
} // namespace Network
|
|
|
|
#endif // MULTICASTDNSCLIENT_H
|