Add event bus to Core.
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 16 Jan 2013 14:28:34 +0000 (15:28 +0100)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 16 Jan 2013 18:04:10 +0000 (19:04 +0100)
src/main/java/net/pterodactylus/sone/core/Core.java
src/main/java/net/pterodactylus/sone/main/SonePlugin.java

index 2a2eb8f..b21a087 100644 (file)
@@ -70,6 +70,7 @@ import net.pterodactylus.util.version.Version;
 
 import com.google.common.base.Predicate;
 import com.google.common.collect.Collections2;
+import com.google.common.eventbus.EventBus;
 import com.google.inject.Inject;
 
 import freenet.keys.FreenetURI;
@@ -96,6 +97,9 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
        /** The core listener manager. */
        private final CoreListenerManager coreListenerManager = new CoreListenerManager(this);
 
+       /** The event bus. */
+       private final EventBus eventBus;
+
        /** The configuration. */
        private Configuration configuration;
 
@@ -193,9 +197,11 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
         *            The identity manager
         * @param webOfTrustUpdater
         *            The WebOfTrust updater
+        * @param eventBus
+        *            The event bus
         */
        @Inject
-       public Core(Configuration configuration, FreenetInterface freenetInterface, IdentityManager identityManager, WebOfTrustUpdater webOfTrustUpdater) {
+       public Core(Configuration configuration, FreenetInterface freenetInterface, IdentityManager identityManager, WebOfTrustUpdater webOfTrustUpdater, EventBus eventBus) {
                super("Sone Core");
                this.configuration = configuration;
                this.freenetInterface = freenetInterface;
@@ -204,6 +210,7 @@ public class Core extends AbstractService implements IdentityListener, UpdateLis
                this.imageInserter = new ImageInserter(this, freenetInterface);
                this.updateChecker = new UpdateChecker(freenetInterface);
                this.webOfTrustUpdater = webOfTrustUpdater;
+               this.eventBus = eventBus;
        }
 
        //
index 6d32b50..c1599c9 100644 (file)
@@ -38,6 +38,7 @@ import net.pterodactylus.util.logging.Logging;
 import net.pterodactylus.util.logging.LoggingListener;
 import net.pterodactylus.util.version.Version;
 
+import com.google.common.eventbus.EventBus;
 import com.google.inject.AbstractModule;
 import com.google.inject.Guice;
 import com.google.inject.Injector;
@@ -184,6 +185,7 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr
                }
 
                final Configuration startConfiguration = oldConfiguration;
+               final EventBus eventBus = new EventBus();
 
                /* Freenet injector configuration. */
                AbstractModule freenetModule = new AbstractModule() {
@@ -200,6 +202,7 @@ public class SonePlugin implements FredPlugin, FredPluginFCP, FredPluginL10n, Fr
 
                        @Override
                        protected void configure() {
+                               bind(EventBus.class).toInstance(eventBus);
                                bind(Configuration.class).toInstance(startConfiguration);
                                bind(FreenetInterface.class).in(Singleton.class);
                                bind(PluginConnector.class).in(Singleton.class);