using System;
using System.Collections.Generic;
using System.Text;

namespace Medivators.BusinessObjects
{
	/// <summary>
	/// All device records implement this. While there is only
	/// one supported device, it already has two different 
	/// record types and besides, expandability is important
	/// </summary>
	public interface IDeviceRecord
	{
		void FromByteArray(byte[] Data);
		string Key { get; }
		string ReportKey { get; }
		string ToString();
		bool Equals(IDeviceRecord Record);
	}

	/// <summary>
	/// Device records that contain a timestamp are indicated
	/// by implementing this interface
	/// </summary>
	public interface ITimestampedDeviceRecord : IDeviceRecord
	{
		DateTime Timestamp { get; set; }
	}

	public interface IBusinessObject
	{
		string Key { get; }
		bool Equals(IBusinessObject Object);
		string ToString();
	}
}
