Netif.h 782 B

1234567891011121314151617181920212223242526272829303132333435
  1. #pragma once
  2. #include "Netif.g.h"
  3. namespace winrt::Maple_App::implementation
  4. {
  5. struct Netif : NetifT<Netif>
  6. {
  7. using addresses_t = std::vector<std::pair<unsigned short, hstring>>;
  8. Netif() = default;
  9. Netif(const hstring& desc, addresses_t addresses);
  10. hstring Desc();
  11. hstring Addr();
  12. addresses_t& Addresses();
  13. hstring IpSummary();
  14. hstring IpLines();
  15. static std::vector<Maple_App::Netif> EnumerateInterfaces();
  16. static std::optional<DWORD> SniffBestInterface();
  17. private:
  18. hstring m_desc;
  19. hstring m_addr;
  20. addresses_t m_addresses;
  21. };
  22. }
  23. namespace winrt::Maple_App::factory_implementation
  24. {
  25. struct Netif : NetifT<Netif, implementation::Netif>
  26. {
  27. };
  28. }