Client adaptor - event

  class event_clt : public event {
  public:
      event_clt(hush::event* x) : _bdy(x), event(this)  { }
  
      hush::event* operator->() { return _body(); }
  
      virtual int type() const { return (int) _body()->type(); }
      virtual int x() const { return (int) _body()->x(); }
      virtual int y() const { return (int) _body()->y(); }
  
      virtual void type(int n) { _body()->type( (long) n ); }
      virtual void x(int n) { _body()->x( (long) n ); }
      virtual void y(int n) { _body()->y( (long) n ); }
  
      /* Orbix 2.0
      virtual void type(int n) { _body()->type( (CORBA::Long) n ); }
      virtual void x(int n) { _body()->x( (CORBA::Long) n ); }
      virtual void y(int n) { _body()->y( (CORBA::Long) n ); }
      */
  
  private:
      void* _bdy;
      hush::event* _body() const { return (hush::event*) _bdy; }
  };
  

slide: Client adaptor - event