/** * */ package org.signalml.plugin.export; import org.signalml.plugin.export.change.SvarogAccessChangeSupport; import org.signalml.plugin.export.view.SvarogAccessGUI; /** * This is the interface every plug-in must implement in its * starting class. * Contains only one method {@link #register(SvarogAccess)}, which * is called right after the plug-in is loaded. * * @author Marcin Szumski */ public interface Plugin { /** * Function called when the plug-in is loaded. * It should initialize all necessary structures, add buttons, sub-menus * and signal tools. * Some functions of the {@link SvarogAccessGUI GUI interface} can be * performed only in this function (adding buttons, sub-menus and signal tools). * <p> * In order not to miss any changes in Svarog it is also suggested to * {@link SvarogAccessChangeSupport register} listeners here. * @param access the instance of the implementation of {@link SvarogAccess} interface, * which should be used to communicate with Svarog. * It is advised to store it for later use. * @param auth plugin auth object to be used with certain plugin API methods * (just pass it back as is) * @throws Exception if the registration process fails */ public void register(SvarogAccess access) throws Exception; }