/*
 *  CPS108 Spring 1998
 *  Boggle: BoggleAL.java
 *  Brian Fan & Geoff Berry
 */

package boggle;
import com.objectspace.voyager.*;

/**
 *  Boggle Access Layer: connects a BoggleView to a BoggleServer
 */

public class BoggleAL
{
    /**
     *  constructor
     */
    public BoggleAL()
    {
    }
    
    /**
     *  ties the view to the server
     *  @param server the server running boggle
     *  @param view the GUI being used
     */
    public void connect( BoggleServer server, BoggleView view )
    {
	if( server instanceof VBoggleServerImpl )
	{
	    try
	    {
		System.out.println("BoggleAL: connecting to remote server");
		// making a connection to a remote BoggleServer, so we have
		// to add a virtual reference to the BoggleView so the
		// BoggleServer can invoke methods on the BoggleView
		server.addBoggleView( (BoggleView)VObject.forObject(view) );
	     }
	    catch( VoyagerException e )
	    {
		System.out.println( e.getMessage() );
	    }
	}
	else
	{
	    System.out.println("BoggleAL: connecting to local server");
	    server.addBoggleView( view );
	}
    }
}

