Listing of Source server/LUMapperInterface.java
package se.entra.phantom.server;

import java.io.IOException;

/**
 * This interface must be supported by the user exit that handles
 * the 3270/5250 LU Mapping.
 */
public interface LUMapperInterface
{
  /**
   * Gets the 3270/5250 LU name from an internet address
   * (and/or user name).
   *
   * <p>The <code>hostIPAddress</code> parameter specifies the entry
   * in the "server.ini" under the [host] section. The <code>sessionID</code>
   * is zero for session 'A', one for session 'B', etc.
   *
   * @return
   *    null              for client not allowed,
   *    <br>empty string  for no LU name,
   *    <br>LUName        as a String.
   */
  public abstract String mapClientToHostLU(ClientConnectionData ccd,
                                           String host,
                                           int port);

  /**
   * This method is called whenever a client of a particular LU name
   * has disconnected from the server (note: not from the host session,
   * because the NetPhantom API provides methods such as HostConnect
   * and HostDisconnect).
   */
  public abstract void clientDisconnected(ClientConnectionData ccd);

  /**
   * Use this method to return a list of client mappings. The string array
   * returned is twice the size of the LU mappings. The first string contains
   * the client IP address and the second contains the LU name.
   *
   * @return
   *    null              for no loaded list exist,
   *    <br>array         of strings.
   */
  public abstract String [] getClientLUMappings();

  /**
   * Refreshes the contents in case of e.g. a file name used to handle
   * the mapping.
   *
   * @throws  IOException  if the file cannot be loaded.
   */
  public abstract void refresh() throws IOException;

  /**
   * Called prior to deferencing in order to clean up.
   */
  public abstract void dispose();
}