package com.esri.geoevent.solutions.transport.irc.jerklib.events.dcc;
import com.esri.geoevent.solutions.transport.irc.jerklib.events.CtcpEvent;
import com.esri.geoevent.solutions.transport.irc.jerklib.events.IRCEvent;
/**
* Base interface for all DCC Events.
*
* @author Andres N. Kievsky
*/
public interface DccEvent extends IRCEvent, CtcpEvent
{
/**
* Type enum is used to determine type. It is returned from getDccType()
*/
public enum DccType
{
/**
* Request to start a DCC SEND. The sender starts with: DCC SEND filename ip
* port (and optionally file size)
*/
SEND,
/**
* Ask the sender to skip part of the file. DCC RESUME filename port
* position
*/
RESUME,
/**
* If the sender supports DCC RESUME, it replies with: DCC ACCEPT filename
* port position
*/
ACCEPT,
/**
* Request to start a DCC CHAT. Usual format: DCC CHAT protocol ip port
*/
CHAT,
/**
* Used then the DCC command is unknown.
*/
UNKNOWN,
}
/**
* Used to find out the exact type of event the DccEvent object is. The
* DccEvent object can be cast into a more specific event object to get access
* to convenience methods for the specific event types.
*
* @return Type of DCC Event
*/
public DccType getDccType();
}