/* This code is part of Freenet. It is distributed under the GNU General
* Public License, version 2 (or at your option any later version). See
* http://www.gnu.org/ for further details of the GPL. */
package freenet.support.plugins.helpers1;
import java.util.Vector;
import freenet.clients.http.PageMaker;
import freenet.clients.http.Toadlet;
import freenet.clients.http.ToadletContainer;
import freenet.pluginmanager.FredPluginL10n;
public class WebInterface {
private final Vector<WebInterfaceToadlet> _toadlets;
private final Vector<String> _categories;
private final ToadletContainer _container;
private final PageMaker _pageMaker;
public WebInterface(final PluginContext context) {
_toadlets = new Vector<WebInterfaceToadlet>();
_categories = new Vector<String>();
_container = context.pluginRespirator.getToadletContainer();
_pageMaker = context.pageMaker;
}
public void addNavigationCategory(String uri, String category, String title, FredPluginL10n plugin) {
_pageMaker.addNavigationCategory(uri, category, title, plugin);
_categories.add(category);
}
public void kill() {
for (WebInterfaceToadlet toadlet : _toadlets) {
_container.unregister(toadlet);
}
_toadlets.clear();
for (String category : _categories) {
_pageMaker.removeNavigationCategory(category);
}
_categories.clear();
}
public void registerVisible(Toadlet toadlet, String category, String name, String title) {
_container.register(toadlet, category, toadlet.path(), true, name, title, false, null);
}
public void registerInvisible(Toadlet toadlet) {
_container.register(toadlet , null, toadlet.path(), true, false);
}
}