X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fmain%2FSonePlugin.java;h=ffd5d92434fec804fed17eec943f1cf75dd08e94;hp=0f7f0e88bf187a995b08e3b0babc83ef258bbe31;hb=bf00984e38e8dd97b6ff5d99bf67d1088b61b0b0;hpb=33f333b35a73d3d4a4e79f41e9dd7b342db87b1a diff --git a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java index 0f7f0e8..ffd5d92 100644 --- a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java +++ b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java @@ -1,5 +1,5 @@ /* - * FreenetSone - SonePlugin.java - Copyright © 2010 David Roden + * Sone - SonePlugin.java - Copyright © 2010 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -24,6 +24,7 @@ import java.util.logging.Logger; import net.pterodactylus.sone.core.Core; import net.pterodactylus.sone.core.FreenetInterface; +import net.pterodactylus.sone.fcp.FcpInterface; import net.pterodactylus.sone.freenet.PluginStoreConfigurationBackend; import net.pterodactylus.sone.freenet.plugin.PluginConnector; import net.pterodactylus.sone.freenet.wot.IdentityManager; @@ -40,10 +41,14 @@ import freenet.l10n.BaseL10n.LANGUAGE; import freenet.l10n.PluginL10n; import freenet.pluginmanager.FredPlugin; import freenet.pluginmanager.FredPluginBaseL10n; +import freenet.pluginmanager.FredPluginFCP; import freenet.pluginmanager.FredPluginL10n; import freenet.pluginmanager.FredPluginThreadless; import freenet.pluginmanager.FredPluginVersioned; +import freenet.pluginmanager.PluginReplySender; import freenet.pluginmanager.PluginRespirator; +import freenet.support.SimpleFieldSet; +import freenet.support.api.Bucket; /** * This class interfaces with Freenet. It is the class that is loaded by the @@ -51,7 +56,7 @@ import freenet.pluginmanager.PluginRespirator; * * @author David ‘Bombe’ Roden */ -public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10n, FredPluginThreadless, FredPluginVersioned { +public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, FredPluginBaseL10n, FredPluginThreadless, FredPluginVersioned { static { /* initialize logging. */ @@ -78,7 +83,7 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 } /** The version. */ - public static final Version VERSION = new Version(0, 5, 1); + public static final Version VERSION = new Version(0, 8); /** The logger. */ private static final Logger logger = Logging.getLogger(SonePlugin.class); @@ -92,9 +97,15 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 /** The web interface. */ private WebInterface webInterface; + /** The FCP interface. */ + private FcpInterface fcpInterface; + /** The l10n helper. */ private PluginL10n l10n; + /** The web of trust connector. */ + private WebOfTrustConnector webOfTrustConnector; + /** The identity manager. */ private IdentityManager identityManager; @@ -173,7 +184,7 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 /* create web of trust connector. */ PluginConnector pluginConnector = new PluginConnector(pluginRespirator); - WebOfTrustConnector webOfTrustConnector = new WebOfTrustConnector(pluginConnector); + webOfTrustConnector = new WebOfTrustConnector(pluginConnector); identityManager = new IdentityManager(webOfTrustConnector); identityManager.setContext("Sone"); @@ -184,6 +195,10 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 webInterface = new WebInterface(this); core.addCoreListener(webInterface); + /* create FCP interface. */ + fcpInterface = new FcpInterface(core); + core.setFcpInterface(fcpInterface); + /* create the identity manager. */ identityManager.addIdentityListener(core); @@ -224,6 +239,9 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 /* stop the identity manager. */ identityManager.stop(); + + /* stop the web of trust connector. */ + webOfTrustConnector.stop(); } catch (Throwable t1) { logger.log(Level.SEVERE, "Error while shutting down!", t1); } finally { @@ -233,6 +251,18 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 } // + // INTERFACE FredPluginFCP + // + + /** + * {@inheritDoc} + */ + @Override + public void handle(PluginReplySender pluginReplySender, SimpleFieldSet parameters, Bucket data, int accessType) { + fcpInterface.handle(pluginReplySender, parameters, data, accessType); + } + + // // INTERFACE FredPluginL10n //