MulticastDnsClient.h 723 B

123456789101112131415161718192021222324252627282930313233343536
  1. #ifndef MULTICASTDNSCLIENT_H
  2. #define MULTICASTDNSCLIENT_H
  3. #include "Query.h"
  4. #include "ResourceRecord.h"
  5. #include <functional>
  6. #include <memory>
  7. #include <string>
  8. namespace Network {
  9. namespace Dns {
  10. class MulticastDnsClientImpl;
  11. class MulticastDnsClient
  12. {
  13. public:
  14. MulticastDnsClient(std::function<void(const std::vector<ResourceRecord>&)> callback);
  15. ~MulticastDnsClient();
  16. public:
  17. void Query(const Dns::Query& query);
  18. private:
  19. void Callback(const std::vector<ResourceRecordImpl>& data);
  20. private:
  21. std::unique_ptr<MulticastDnsClientImpl> m_pMulticastDnsClientImpl;
  22. std::function<void(const std::vector<ResourceRecord>&)> m_callback;
  23. };
  24. } // namespace Dns
  25. } // namespace Network
  26. #endif // MULTICASTDNSCLIENT_H