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=a809e8ec2f964ce215255f188c4a89350e4b70c8;hb=bf00984e38e8dd97b6ff5d99bf67d1088b61b0b0;hpb=02de134dcf3d4500ae02320aab2dae827d499fa1 diff --git a/src/main/java/net/pterodactylus/sone/main/SonePlugin.java b/src/main/java/net/pterodactylus/sone/main/SonePlugin.java index a809e8e..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, 3, 6, 3); + 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; @@ -166,28 +177,32 @@ public class SonePlugin implements FredPlugin, FredPluginL10n, FredPluginBaseL10 } } - /* create freenet interface. */ - FreenetInterface freenetInterface = new FreenetInterface(pluginRespirator.getNode()); + boolean startupFailed = true; + try { + /* create freenet interface. */ + FreenetInterface freenetInterface = new FreenetInterface(pluginRespirator.getNode()); - /* create web of trust connector. */ - PluginConnector pluginConnector = new PluginConnector(pluginRespirator); - WebOfTrustConnector webOfTrustConnector = new WebOfTrustConnector(pluginConnector); - identityManager = new IdentityManager(webOfTrustConnector); - identityManager.setContext("Sone"); + /* create web of trust connector. */ + PluginConnector pluginConnector = new PluginConnector(pluginRespirator); + webOfTrustConnector = new WebOfTrustConnector(pluginConnector); + identityManager = new IdentityManager(webOfTrustConnector); + identityManager.setContext("Sone"); - /* create core. */ - core = new Core(oldConfiguration, freenetInterface, identityManager); + /* create core. */ + core = new Core(oldConfiguration, freenetInterface, identityManager); - /* create the web interface. */ - webInterface = new WebInterface(this); - core.addCoreListener(webInterface); + /* create the web interface. */ + webInterface = new WebInterface(this); + core.addCoreListener(webInterface); - /* create the identity manager. */ - identityManager.addIdentityListener(core); + /* create FCP interface. */ + fcpInterface = new FcpInterface(core); + core.setFcpInterface(fcpInterface); - /* start core! */ - boolean startupFailed = true; - try { + /* create the identity manager. */ + identityManager.addIdentityListener(core); + + /* start core! */ core.start(); if ((newConfiguration != null) && (oldConfiguration != newConfiguration)) { logger.log(Level.INFO, "Setting configuration to file-based configuration."); @@ -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 //