home *** CD-ROM | disk | FTP | other *** search
/ Amiga Format CD 5 / amigaformatcd05.iso / mui / developer / oberon / txt / muinotify.mod < prev    next >
Text File  |  1996-08-13  |  5KB  |  142 lines

  1. MODULE MUINotify;
  2.  
  3. (* $StackChk- $NilChk- $RangeChk- $CaseChk- $OvflChk- $ReturnChk- $ClearVars- *)
  4.  
  5. (* This module is generated by "GenMuiO" © 1995 by Albert Weinert *)
  6.  
  7. IMPORT
  8.   clf := Classface,
  9.   e := Exec,
  10.   m := Mui,
  11.   RootClass,
  12.   I := Intuition,
  13.   y := SYSTEM;
  14.  
  15. CONST
  16.   name *= m.cNotify;
  17.  
  18. TYPE
  19.   Class     *= UNTRACED POINTER TO ClassDesc;
  20.   ClassDesc *= RECORD( RootClass.RootClass ) END;
  21.  
  22. VAR
  23.   class * : I.IClassPtr;
  24.  
  25.   PROCEDURE ( VAR c:ClassDesc ) CopyClass*( obj : m.Object );
  26.     BEGIN
  27.       IF obj # NIL THEN
  28.     e.CopyMemAPTR(y.ADR(c),clf.InstData(c.class,obj),c.class.instSize); (* copy into boopsi obj *)
  29.       END;
  30.     END CopyClass;
  31.  
  32.   PROCEDURE ( VAR c:ClassDesc ) Cleanup;
  33.     VAR msg : I.Msg;
  34.     BEGIN
  35.       msg.methodID := m.mCleanup;
  36.       IF clf.CoerceMethodA( c.class, c.object, msg ) = NIL THEN END;
  37.     END Cleanup;
  38.  
  39.    PROCEDURE ( VAR c : ClassDesc ) mCallHook*( VAR msg : m.pCallHook ):e.APTR;
  40.      BEGIN
  41.        msg.msg.methodID := m.mCallHook;
  42.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  43.      END mCallHook;
  44.  
  45.    PROCEDURE ( VAR c : ClassDesc ) mFindUData*( VAR msg : m.pFindUData ):e.APTR;
  46.      BEGIN
  47.        msg.msg.methodID := m.mFindUData;
  48.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  49.      END mFindUData;
  50.  
  51.    PROCEDURE ( VAR c : ClassDesc ) mGetUData*( VAR msg : m.pGetUData ):e.APTR;
  52.      BEGIN
  53.        msg.msg.methodID := m.mGetUData;
  54.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  55.      END mGetUData;
  56.  
  57.    PROCEDURE ( VAR c : ClassDesc ) mKillNotify*( VAR msg : m.pKillNotify ):e.APTR;
  58.      BEGIN
  59.        msg.msg.methodID := m.mKillNotify;
  60.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  61.      END mKillNotify;
  62.  
  63.    PROCEDURE ( VAR c : ClassDesc ) mMultiSet*( VAR msg : m.pMultiSet ):e.APTR;
  64.      BEGIN
  65.        msg.msg.methodID := m.mMultiSet;
  66.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  67.      END mMultiSet;
  68.  
  69.    PROCEDURE ( VAR c : ClassDesc ) mNoNotifySet*( VAR msg : m.pNoNotifySet ):e.APTR;
  70.      BEGIN
  71.        msg.msg.methodID := m.mNoNotifySet;
  72.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  73.      END mNoNotifySet;
  74.  
  75.    PROCEDURE ( VAR c : ClassDesc ) mNotify*( VAR msg : m.pNotify ):e.APTR;
  76.      BEGIN
  77.        msg.msg.methodID := m.mNotify;
  78.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  79.      END mNotify;
  80.  
  81.    PROCEDURE ( VAR c : ClassDesc ) mSet*( VAR msg : m.pSet ):e.APTR;
  82.      BEGIN
  83.        msg.msg.methodID := m.mSet;
  84.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  85.      END mSet;
  86.  
  87.    PROCEDURE ( VAR c : ClassDesc ) mSetAsString*( VAR msg : m.pSetAsString ):e.APTR;
  88.      BEGIN
  89.        msg.msg.methodID := m.mSetAsString;
  90.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  91.      END mSetAsString;
  92.  
  93.    PROCEDURE ( VAR c : ClassDesc ) mSetUData*( VAR msg : m.pSetUData ):e.APTR;
  94.      BEGIN
  95.        msg.msg.methodID := m.mSetUData;
  96.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  97.      END mSetUData;
  98.  
  99.    PROCEDURE ( VAR c : ClassDesc ) mWriteLong*( VAR msg : m.pWriteLong ):e.APTR;
  100.      BEGIN
  101.        msg.msg.methodID := m.mWriteLong;
  102.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  103.      END mWriteLong;
  104.  
  105.    PROCEDURE ( VAR c : ClassDesc ) mWriteString*( VAR msg : m.pWriteString ):e.APTR;
  106.      BEGIN
  107.        msg.msg.methodID := m.mWriteString;
  108.        RETURN clf.DoSuperMethodA( c.class, c.object, msg )
  109.      END mWriteString;
  110.  
  111.   PROCEDURE Dispatch * ( cl : I.IClassPtr; obj : I.ObjectPtr; msg : I.MsgPtr ):e.APTR;
  112.     VAR c : Class;
  113.     BEGIN
  114.       IF msg.methodID # I.new THEN
  115.     c := RootClass.BoopsiToObj( cl, obj )(Class);
  116.       END;
  117.  
  118.       CASE msg.methodID OF
  119.     | m.mCallHook                 : RETURN c.mCallHook( msg^(m.pCallHook) );
  120.     | m.mFindUData                : RETURN c.mFindUData( msg^(m.pFindUData) );
  121.     | m.mGetUData                 : RETURN c.mGetUData( msg^(m.pGetUData) );
  122.     | m.mKillNotify               : RETURN c.mKillNotify( msg^(m.pKillNotify) );
  123.     | m.mMultiSet                 : RETURN c.mMultiSet( msg^(m.pMultiSet) );
  124.     | m.mNoNotifySet              : RETURN c.mNoNotifySet( msg^(m.pNoNotifySet) );
  125.     | m.mNotify                   : RETURN c.mNotify( msg^(m.pNotify) );
  126.     | m.mSet                      : RETURN c.mSet( msg^(m.pSet) );
  127.     | m.mSetAsString              : RETURN c.mSetAsString( msg^(m.pSetAsString) );
  128.     | m.mSetUData                 : RETURN c.mSetUData( msg^(m.pSetUData) );
  129.     | m.mWriteLong                : RETURN c.mWriteLong( msg^(m.pWriteLong) );
  130.     | m.mWriteString              : RETURN c.mWriteString( msg^(m.pWriteString) );
  131.       ELSE
  132.     RETURN RootClass.Dispatch( cl, obj, msg );
  133.       END;
  134.     END Dispatch;
  135.  
  136. BEGIN
  137.   class := m.GetClass( name );
  138.   IF class = NIL THEN HALT( 205 ) END; (* Error : Object not Found *)
  139. CLOSE
  140.   IF class # NIL THEN m.FreeClass( class ) END;
  141. END MUINotify.
  142.