import java.rmi.*;
import java.rmi.server.*;
import java.awt.*;

/** 
Cette classe definit le Serveur qui alloue et enregistre l'objet Puissance4
* dans le registre rmi. 
@author Sebastien BISMUTH 
@author Yann LENNE
@version 1.1.6
*/

public class Serveur{
  
  /** Reference l'objet Puissance4 */
  private Puissance4 p;
  
  /** Constructeur de la classe Serveur 
    @param serveur Nom ou adresse IP du serveur
    @param port Port utilise pour la registry sur le serveur
    @param nbJoueurs Nombre de joueurs qui vont participer
    @param nbCasesL Nombre de cases en largeur du tableau de jeu
    @param nbCasesH Nombre de cases en hauteur du tableau de jeu
  */
  public Serveur(String serveur, String port, int nbJoueurs, int nbCasesL, int nbCasesH) throws RemoteException {
    p = new Puissance4(new Dimension(nbCasesL, nbCasesH), nbJoueurs);
    
    try{
      // Enregistrement de l'objet Puissance4 sur le serveur
      System.setSecurityManager(new RMISecurityManager());
      Naming.rebind("rmi://" + serveur + ":" + port + "/Puissance4", p);
      System.out.println("Le serveur est parti ...");
    }
    catch(Exception e){
      System.err.println("Probleme  \n ... dans constructeur du Serveur : \n");
      e.printStackTrace();
    }
  }   
  
}
