#ifndef RESOURCERECORD_H #define RESOURCERECORD_H #include "Class.h" #include "Name.h" #include "Type.h" #include namespace Network { namespace Dns { class ResourceRecordImpl; class ResourceRecord { public: Name GetName() const; Type::type GetType() const; Class::type GetClass() const; uint32_t GetTTL() const; std::vector GetResourceData() const; std::vector GetData() const; void SetName(const Name& name); void SetType(Type::type type); void SetClass(Class::type class_); void SetTTL(uint32_t ttl); private: ResourceRecord(std::shared_ptr pResourceRecordImpl); private: friend class MulticastDnsClient; private: std::shared_ptr m_pResourceRecordImpl; }; } // namespace Dns } // namespace Network #endif // RESOURCERECORD_H