X-Git-Url: https://git.pterodactylus.net/?p=jFCPlib.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Ffcp%2Fhighlevel%2FFcpClient.java;h=b738e262ca8431c69246d4188e4a38d2ca4b9096;hp=73998185b61cc4a0577d99a09f57dab99ec644c0;hb=ccd328332da86e58a98e991c3d4e31e56e906547;hpb=9eefde565838c38a0eedde679936e58acfa25577 diff --git a/src/main/java/net/pterodactylus/fcp/highlevel/FcpClient.java b/src/main/java/net/pterodactylus/fcp/highlevel/FcpClient.java index 7399818..b738e26 100644 --- a/src/main/java/net/pterodactylus/fcp/highlevel/FcpClient.java +++ b/src/main/java/net/pterodactylus/fcp/highlevel/FcpClient.java @@ -147,7 +147,32 @@ public class FcpClient { * The Freenet node’s FCP port */ public FcpClient(InetAddress host, int port) { - fcpConnection = new FcpConnection(host, port); + this(new FcpConnection(host, port)); + } + + /** + * Creates a new high-level FCP client that will use the given connection. + * This constructor will assume that the FCP connection is already + * connected. + * + * @param fcpConnection + * The FCP connection to use + */ + public FcpClient(FcpConnection fcpConnection) { + this(fcpConnection, true); + } + + /** + * Creates a new high-level FCP client that will use the given connection. + * + * @param fcpConnection + * The FCP connection to use + * @param connected + * The initial status of the FCP connection + */ + public FcpClient(FcpConnection fcpConnection, boolean connected) { + this.fcpConnection = fcpConnection; + this.connected = connected; fcpConnection.addFcpListener(new FcpAdapter() { /** @@ -156,7 +181,7 @@ public class FcpClient { @Override @SuppressWarnings("synthetic-access") public void connectionClosed(FcpConnection fcpConnection, Throwable throwable) { - connected = false; + FcpClient.this.connected = false; fcpClientListenerManager.fireFcpClientDisconnected(); } });