﻿using System;

namespace ICCC.SystemMessages
{
	/// <summary>
	/// The answer to the get listener request.
	/// </summary>
	public sealed class ICCCGetListenersAnswer : IICCCMessage
	{
		private string[] channels = new string[0];
		private string[] commands = new string[0];
		private string[] ipAddressesPorts = new string[0];
		private byte[] kinds = new byte[0];
		
		/// <summary>
		/// The default constructor
		/// </summary>
		public ICCCGetListenersAnswer()
		{
		}

		#region IICCCMessage implementation
		
		/// <summary>
		/// Gets the channel
		/// </summary>
		/// <returns></returns>
		public string getChannel()
		{
			return SystemChannels.NONE;
		}
		
		/// <summary>
		/// Gets the command
		/// </summary>
		/// <returns></returns>
		public string getCommand()
		{
			return string.Empty;
		}
		
		/// <summary>
		/// Gets the answer object
		/// </summary>
		/// <returns></returns>
		public IICCCMessage getAnswerObject()
		{
			return null;
		}
		
		/// <summary>
		/// Sets the answer object
		/// </summary>
		/// <param name="answer"></param>
		public void setAnswerObject(IICCCMessage answer)
		{
		}
		
		#endregion
		
		/// <summary>
		/// The listeners IP addresses and ports
		/// </summary>
		public string[] IPAddressesPorts
		{
			get
			{
				return ipAddressesPorts;
			}
			
			set
			{
				ipAddressesPorts = value;
			}
		}

		/// <summary>
		/// The listeners kinds
		/// </summary>
		public byte[] Kinds
		{
			get
			{
				return kinds;
			}
			
			set
			{
				kinds = value;
			}
		}

		/// <summary>
		/// The listeners commands
		/// </summary>
		public string[] Commands 
		{
			get
			{
				return commands;
			}
			
			set
			{
				commands = value;
			}
		}
		
		/// <summary>
		/// The listeners channels
		/// </summary>
		public string[] Channels
		{
			get
			{
				return channels;
			}
			
			set
			{
				channels = value;
			}
		}
	}
}
