Use event bus to change FCP interface configuration.
[Sone.git] / src / main / java / net / pterodactylus / sone / core / Preferences.java
index c413f89..7edff1a 100644 (file)
@@ -20,6 +20,9 @@ package net.pterodactylus.sone.core;
 import net.pterodactylus.sone.core.event.InsertionDelayChangedEvent;
 import net.pterodactylus.sone.fcp.FcpInterface;
 import net.pterodactylus.sone.fcp.FcpInterface.FullAccessRequired;
+import net.pterodactylus.sone.fcp.event.FcpInterfaceActivatedEvent;
+import net.pterodactylus.sone.fcp.event.FcpInterfaceDeactivatedEvent;
+import net.pterodactylus.sone.fcp.event.FullAccessRequiredChanged;
 
 import com.google.common.eventbus.EventBus;
 
@@ -344,6 +347,11 @@ public class Preferences {
         */
        public Preferences setFcpInterfaceActive(boolean fcpInterfaceActive) {
                options.getBooleanOption("ActivateFcpInterface").set(fcpInterfaceActive);
+               if (fcpInterfaceActive) {
+                       eventBus.post(new FcpInterfaceActivatedEvent());
+               } else {
+                       eventBus.post(new FcpInterfaceDeactivatedEvent());
+               }
                return this;
        }
 
@@ -368,6 +376,7 @@ public class Preferences {
         */
        public Preferences setFcpFullAccessRequired(FullAccessRequired fcpFullAccessRequired) {
                options.getIntegerOption("FcpFullAccessRequired").set((fcpFullAccessRequired != null) ? fcpFullAccessRequired.ordinal() : null);
+               eventBus.post(new FullAccessRequiredChanged(fcpFullAccessRequired));
                return this;
        }