/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package org.pieShare.pieTools.piePlate.service.loophole.api; import java.net.DatagramSocket; import java.net.InetSocketAddress; import org.pieShare.pieTools.piePlate.model.message.loopHoleMessages.api.IUdpMessage; import org.pieShare.pieTools.piePlate.service.loophole.event.NewLoopHoleConnectionEvent; import org.pieShare.pieTools.piePlate.service.loophole.event.api.INewLoopHoleConnectionEventListener; import org.pieShare.pieTools.pieUtilities.service.eventBase.IEventBase; /** * * @author RicLeo00 */ public interface ILoopHoleFactory { void initializeNewLoopHole(); void setName(String name); void sendToServer(DatagramSocket socket, IUdpMessage msg); ILoopHoleService getLoopHoleService(String clientID); void insertLoopHoleService(String ID, ILoopHoleService service); String getClientID(); void newClientAvailable(InetSocketAddress address, DatagramSocket socket); IEventBase<INewLoopHoleConnectionEventListener, NewLoopHoleConnectionEvent> getNewLoopHoleConnectionEvent(); void addLocalUsedPort(int port); }