package tpcorba.exo2;
import org.omg.CORBA.*;
import java.io.*;
import java.lang.*;
import java.util.*;
public class Client {
public static void main(String[] args) throws IOException {
ORB orb = ORB.init(args, null);
if (args.length != 0) {
System.err.println("pas de parametre svp");
System.exit(1);
}
////////////////////////////////////////////////////
String ior = null;
try {
String ref = "calcul.ref";
FileInputStream file = new FileInputStream(ref);
BufferedReader in = new BufferedReader(new InputStreamReader(file));
ior = in.readLine();
file.close();
} catch (IOException ex) {
System.err.println("Impossible de lire fichier : `" +
ex.getMessage() + "'");
System.exit(1);
}
////////////////////////////////////////////////////
org.omg.CORBA.Object obj = orb.string_to_object(ior);
if (obj == null) {
System.err.println("Erreur sur string_to_object() ");
throw new RuntimeException();
}
calcul calc = calculHelper.narrow(obj);
if (calc == null) {
System.err.println("Erreur sur narrow() ");
throw new RuntimeException();
}
////////////////////////////////////////////////////
// Invocation du serveur
////////////////////////////////////////////////////
try
{
System.out.println(" début Calculette : "+calc.memoire());
calc.ajouteMemoire(3);
calc.multiplieMemoire(4);
System.out.println(" fin Calculette : "+calc.memoire());
calc.diviseMemoire(0);
}
catch(divisionParZero ex)
{
System.err.println("Exception : division par zero" );
System.exit(1);
}
System.exit(0);
}
}