home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Amiga Format CD 5
/
amigaformatcd05.iso
/
mui
/
developer
/
oberon
/
txt
/
muifamily.mod
< prev
next >
Wrap
Text File
|
1996-08-13
|
3KB
|
86 lines
MODULE MUIFamily;
(* $StackChk- $NilChk- $RangeChk- $CaseChk- $OvflChk- $ReturnChk- $ClearVars- *)
(* This module is generated by "GenMuiO" © 1995 by Albert Weinert *)
IMPORT
clf := Classface,
e := Exec,
m := Mui,
RootClass,
SuperClass := MUISemaphore,
I := Intuition;
CONST
name *= m.cFamily;
TYPE
Class *= UNTRACED POINTER TO ClassDesc;
ClassDesc *= RECORD( SuperClass.ClassDesc ) END;
VAR
class * : I.IClassPtr;
PROCEDURE ( VAR c : ClassDesc ) mAddHead*( VAR msg : m.pFamilyAddHead ):e.APTR;
BEGIN
msg.msg.methodID := m.mFamilyAddHead;
RETURN clf.DoSuperMethodA( c.class, c.object, msg )
END mAddHead;
PROCEDURE ( VAR c : ClassDesc ) mAddTail*( VAR msg : m.pFamilyAddTail ):e.APTR;
BEGIN
msg.msg.methodID := m.mFamilyAddTail;
RETURN clf.DoSuperMethodA( c.class, c.object, msg )
END mAddTail;
PROCEDURE ( VAR c : ClassDesc ) mInsert*( VAR msg : m.pFamilyInsert ):e.APTR;
BEGIN
msg.msg.methodID := m.mFamilyInsert;
RETURN clf.DoSuperMethodA( c.class, c.object, msg )
END mInsert;
PROCEDURE ( VAR c : ClassDesc ) mRemove*( VAR msg : m.pFamilyRemove ):e.APTR;
BEGIN
msg.msg.methodID := m.mFamilyRemove;
RETURN clf.DoSuperMethodA( c.class, c.object, msg )
END mRemove;
PROCEDURE ( VAR c : ClassDesc ) mSort*( VAR msg : m.pFamilySort ):e.APTR;
BEGIN
msg.msg.methodID := m.mFamilySort;
RETURN clf.DoSuperMethodA( c.class, c.object, msg )
END mSort;
PROCEDURE ( VAR c : ClassDesc ) mTransfer*( VAR msg : m.pFamilyTransfer ):e.APTR;
BEGIN
msg.msg.methodID := m.mFamilyTransfer;
RETURN clf.DoSuperMethodA( c.class, c.object, msg )
END mTransfer;
PROCEDURE Dispatch * ( cl : I.IClassPtr; obj : I.ObjectPtr; msg : I.MsgPtr ):e.APTR;
VAR c : Class;
BEGIN
IF msg.methodID # I.new THEN
c := RootClass.BoopsiToObj( cl, obj )(Class);
END;
CASE msg.methodID OF
| m.mFamilyAddHead : RETURN c.mAddHead( msg^(m.pFamilyAddHead) );
| m.mFamilyAddTail : RETURN c.mAddTail( msg^(m.pFamilyAddTail) );
| m.mFamilyInsert : RETURN c.mInsert( msg^(m.pFamilyInsert) );
| m.mFamilyRemove : RETURN c.mRemove( msg^(m.pFamilyRemove) );
| m.mFamilySort : RETURN c.mSort( msg^(m.pFamilySort) );
| m.mFamilyTransfer : RETURN c.mTransfer( msg^(m.pFamilyTransfer) );
ELSE
RETURN SuperClass.Dispatch( cl, obj, msg );
END;
END Dispatch;
BEGIN
class := m.GetClass( name );
IF class = NIL THEN HALT( 205 ) END; (* Error : Object not Found *)
CLOSE
IF class # NIL THEN m.FreeClass( class ) END;
END MUIFamily.