package customsocket;


public interface SocketIOClientInterface {
	/**
	 * Send String to target with standard EVENT_MESSAGE command
	 * @param value : string to send
	 * @return true if can be send
	 */
	public boolean SendMessage(String value);
	
	/**
	 * Disconnect socket
	 */
	public void Disconnect();
	
	/**
	 * Emit an event to target socketio
	 * @param emitname : event name
	 * @param value : array of objects
	 * @return true if can be send
	 */
	public boolean Emit(String emitname, Object... value);
	
	/**
	 * Get SocketIO ID
	 * @return ID as string
	 */
	public String getID();
	
	/**
	 * Get Remote Target information
	 * @return String in format [ip]:[port]
	 */
	public String getRemote();
	
	/**
	 * Check if connected
	 * @return true if connected
	 */
	public boolean IsConnected();
	
	/**
	 * Get Local IP and Port
	 * @return in format [IP]:[Port] or N/A if Not connected
	 */
	public String getLocal() ;
}
