using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace skyscraper5.DNS.Protocol.ResourceRecords
{
	public abstract class BaseResourceRecord : IResourceRecord
	{
		private IResourceRecord record;

		public BaseResourceRecord(IResourceRecord record)
		{
			this.record = record;
		}

		public TimeSpan TimeToLive
		{
			get { return record.TimeToLive; }
		}

		public int DataLength
		{
			get { return record.DataLength; }
		}

		public byte[] Data
		{
			get { return record.Data; }
		}

		public Domain Name
		{
			get { return record.Name; }
		}


		public int Size
		{
			get { return record.Size; }
		}

		public RecordClass Class
		{
			get { return record.Class; }
		}

		public RecordType Type
		{
			get { return record.Type; }
		}

		public byte[] ToArray()
		{
			return record.ToArray();
		}
	}
}
