ResourceRecord.h 863 B

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. #ifndef RESOURCERECORD_H
  2. #define RESOURCERECORD_H
  3. #include "Class.h"
  4. #include "Name.h"
  5. #include "Type.h"
  6. #include <memory>
  7. namespace Network {
  8. namespace Dns {
  9. class ResourceRecordImpl;
  10. class ResourceRecord
  11. {
  12. public:
  13. Name GetName() const;
  14. Type::type GetType() const;
  15. Class::type GetClass() const;
  16. uint32_t GetTTL() const;
  17. std::vector<uint8_t> GetResourceData() const;
  18. std::vector<uint8_t> GetData() const;
  19. void SetName(const Name& name);
  20. void SetType(Type::type type);
  21. void SetClass(Class::type class_);
  22. void SetTTL(uint32_t ttl);
  23. private:
  24. ResourceRecord(std::shared_ptr<ResourceRecordImpl> pResourceRecordImpl);
  25. private:
  26. friend class MulticastDnsClient;
  27. private:
  28. std::shared_ptr<ResourceRecordImpl> m_pResourceRecordImpl;
  29. };
  30. } // namespace Dns
  31. } // namespace Network
  32. #endif // RESOURCERECORD_H