/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package net.java.sip.communicator.service.gui; import java.awt.*; import net.java.sip.communicator.service.protocol.*; /** * * @author Yana Stamcheva */ public interface AccountRegistrationForm { /** * Returns the protocol icon that will be shown on the left of the protocol * name in the list, where user will choose the protocol to register to. * * @return a short description of the protocol. */ public byte[] getListIcon(); /** * Returns the icon that will be shown on the left of the registration form. * @return the icon that will be shown on the left of the registration form */ public byte[] getIcon(); /** * Returns the protocol name that will be shown in the list, where user * will choose the protocol to register to. * * @return the protocol name. */ public String getProtocolName(); /** * Returns a short description of the protocol that will be shown on the * right of the protocol name in the list, where user will choose the * protocol to register to. * * @return a short description of the protocol. */ public String getProtocolDescription(); /** * Returns an example string, which should indicate to the user how the * user name should look like. For example: john@jabber.org. * @return an example string, which should indicate to the user how the * user name should look like. */ public String getUserNameExample(); /** * Loads all data concerning the given ProtocolProviderService. * This method is meant to be used when a modification in an already * created account is needed. * * @param protocolProvider The ProtocolProviderService to * load data from. */ public void loadAccount(ProtocolProviderService protocolProvider); /** * Returns the advanced registration form. * * @return the advanced registration form */ public Component getAdvancedForm(); /** * Defines the operations that will be executed when the user clicks on * the wizard "Signin" button. * @return the ProtocolProviderService that signed in * @throws OperationFailedException */ public ProtocolProviderService signin() throws OperationFailedException; /** * Defines the operations that will be executed when the user clicks on * the wizard "Signin" button. * * @param userName the user name to sign in with * @param password the password to sign in with */ public ProtocolProviderService signin( String userName, String password) throws OperationFailedException; /** * Returns true if the web sign up is supported by the current * implementation, false - otherwise. * @return true if the web sign up is supported by the current * implementation, false - otherwise */ public boolean isWebSignupSupported(); /** * Defines the operation that will be executed when user clicks on the * "Sign up" link. * @throws UnsupportedOperationException if the web sign up operation is * not supported by the current implementation. */ public void webSignup() throws UnsupportedOperationException; /** * Sets the modification property to indicate if this wizard is opened for * a modification. * * @param isModification indicates if this wizard is opened for modification * or for creating a new account. */ public void setModification(boolean isModification); /** * Indicates if this wizard is modifying an existing account or is creating * a new one. * * @return true to indicate that this wizard is currently in * modification mode, false - otherwise. */ public boolean isModification(); /** * Indicates whether this wizard enables the simple "sign in" form shown * when the user opens the application for the first time. The simple * "sign in" form allows user to configure her account in one click, just * specifying her username and password and leaving any other configuration * as by default. * @return true if the simple "Sign in" form is enabled or * false otherwise. */ public boolean isSimpleFormEnabled(); /** * Returns a simple account registration form that would be the first form * shown to the user. Only if the user needs more settings she'll choose * to open the advanced wizard, consisted by all pages. * * @return a simple account registration form */ public Component getSimpleForm(); }