package net.pterodactylus.sone.fcp;
import static com.google.common.base.Preconditions.checkNotNull;
+import static java.util.logging.Logger.getLogger;
import java.util.Collections;
import java.util.HashMap;
import java.util.logging.Logger;
import net.pterodactylus.sone.core.Core;
-import net.pterodactylus.sone.core.Options.Option;
-import net.pterodactylus.sone.core.Options.OptionWatcher;
import net.pterodactylus.sone.fcp.event.FcpInterfaceActivatedEvent;
import net.pterodactylus.sone.fcp.event.FcpInterfaceDeactivatedEvent;
+import net.pterodactylus.sone.fcp.event.FullAccessRequiredChanged;
import net.pterodactylus.sone.freenet.fcp.Command.AccessType;
import net.pterodactylus.sone.freenet.fcp.Command.ErrorResponse;
import net.pterodactylus.sone.freenet.fcp.Command.Response;
-import net.pterodactylus.util.logging.Logging;
import freenet.pluginmanager.FredPluginFCP;
import freenet.pluginmanager.PluginNotFoundException;
}
/** The logger. */
- private static final Logger logger = Logging.getLogger(FcpInterface.class);
+ private static final Logger logger = getLogger("Sone.External.Fcp");
/** Whether the FCP interface is currently active. */
private final AtomicBoolean active = new AtomicBoolean();
return fullAccessRequired.get();
}
- /**
- * Sets the action level for which full FCP access is required.
- *
- * @param fullAccessRequired
- * The action level for which full FCP access is required
- */
- public void setFullAccessRequired(FullAccessRequired fullAccessRequired) {
+ private void setFullAccessRequired(FullAccessRequired fullAccessRequired) {
this.fullAccessRequired.set(checkNotNull(fullAccessRequired, "fullAccessRequired must not be null"));
}
setActive(false);
}
- public class SetFullAccessRequired implements OptionWatcher<Integer> {
-
- @Override
- public void optionChanged(Option<Integer> option, Integer oldValue, Integer newValue) {
- setFullAccessRequired(FullAccessRequired.values()[newValue]);
- }
-
+ @Subscribe
+ public void fullAccessRequiredChanged(FullAccessRequiredChanged fullAccessRequiredChanged) {
+ setFullAccessRequired(fullAccessRequiredChanged.getFullAccessRequired());
}
}