package fr.cnam.espacetore;

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

import fr.cnam.clientihm.ObserverRMIInt;

// Cette classe definit l'objet qui est notifie par le modele et qui doit relayer la notification
//  a l'observer distant qui est connu sous la forme d'un stub RMI
//
public class ProxyObserverEspace implements Observer
{
    ObserverRMIInt observerDistant;
    Observable     observable;

    public ProxyObserverEspace(Remote observerDistant,Observable observable)
    {
        this.observerDistant = (ObserverRMIInt)observerDistant;
    }

    public void update(Observable observable,Object arg)
    {
        try{
            observerDistant.update(observable,arg);
        }catch(Exception ex){
            System.out.println("AdaptObserverEspace: Impossible update de l'observer\n"+ex);
            observable.deleteObserver(this);
        };
    }
}