MODULE MUIApplication;

(* $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.cApplication;

TYPE
  Class     *= UNTRACED POINTER TO ClassDesc;
  ClassDesc *= RECORD( SuperClass.ClassDesc ) END;

VAR
  class * : I.IClassPtr;

   PROCEDURE ( VAR c : ClassDesc ) mAddInputHandler*( VAR msg : m.pApplicationAddInputHandler ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationAddInputHandler;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mAddInputHandler;

   PROCEDURE ( VAR c : ClassDesc ) mCheckRefresh*( VAR msg : m.pApplicationCheckRefresh ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationCheckRefresh;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mCheckRefresh;

   PROCEDURE ( VAR c : ClassDesc ) mGetMenuCheck*( VAR msg : m.pApplicationGetMenuCheck ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationGetMenuCheck;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mGetMenuCheck;

   PROCEDURE ( VAR c : ClassDesc ) mGetMenuState*( VAR msg : m.pApplicationGetMenuState ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationGetMenuState;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mGetMenuState;

   PROCEDURE ( VAR c : ClassDesc ) mInput*( VAR msg : m.pApplicationInput ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationInput;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mInput;

   PROCEDURE ( VAR c : ClassDesc ) mInputBuffered*( VAR msg : m.pApplicationInputBuffered ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationInputBuffered;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mInputBuffered;

   PROCEDURE ( VAR c : ClassDesc ) mLoad*( VAR msg : m.pApplicationLoad ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationLoad;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mLoad;

   PROCEDURE ( VAR c : ClassDesc ) mNewInput*( VAR msg : m.pApplicationNewInput ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationNewInput;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mNewInput;

   PROCEDURE ( VAR c : ClassDesc ) mOpenConfigWindow*( VAR msg : m.pApplicationOpenConfigWindow ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationOpenConfigWindow;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mOpenConfigWindow;

   PROCEDURE ( VAR c : ClassDesc ) mPushMethod*( VAR msg : m.pApplicationPushMethod ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationPushMethod;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mPushMethod;

   PROCEDURE ( VAR c : ClassDesc ) mRemInputHandler*( VAR msg : m.pApplicationRemInputHandler ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationRemInputHandler;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mRemInputHandler;

   PROCEDURE ( VAR c : ClassDesc ) mReturnID*( VAR msg : m.pApplicationReturnID ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationReturnID;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mReturnID;

   PROCEDURE ( VAR c : ClassDesc ) mSave*( VAR msg : m.pApplicationSave ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationSave;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mSave;

   PROCEDURE ( VAR c : ClassDesc ) mSetConfigItem*( VAR msg : m.pApplicationSetConfigItem ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationSetConfigItem;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mSetConfigItem;

   PROCEDURE ( VAR c : ClassDesc ) mSetMenuCheck*( VAR msg : m.pApplicationSetMenuCheck ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationSetMenuCheck;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mSetMenuCheck;

   PROCEDURE ( VAR c : ClassDesc ) mSetMenuState*( VAR msg : m.pApplicationSetMenuState ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationSetMenuState;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mSetMenuState;

   PROCEDURE ( VAR c : ClassDesc ) mShowHelp*( VAR msg : m.pApplicationShowHelp ):e.APTR;
     BEGIN
       msg.msg.methodID := m.mApplicationShowHelp;
       RETURN clf.DoSuperMethodA( c.class, c.object, msg )
     END mShowHelp;

  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.mApplicationAddInputHandler : RETURN c.mAddInputHandler( msg^(m.pApplicationAddInputHandler) );
        | m.mApplicationCheckRefresh  : RETURN c.mCheckRefresh( msg^(m.pApplicationCheckRefresh) );
        | m.mApplicationGetMenuCheck  : RETURN c.mGetMenuCheck( msg^(m.pApplicationGetMenuCheck) );
        | m.mApplicationGetMenuState  : RETURN c.mGetMenuState( msg^(m.pApplicationGetMenuState) );
        | m.mApplicationInput         : RETURN c.mInput( msg^(m.pApplicationInput) );
        | m.mApplicationInputBuffered : RETURN c.mInputBuffered( msg^(m.pApplicationInputBuffered) );
        | m.mApplicationLoad          : RETURN c.mLoad( msg^(m.pApplicationLoad) );
        | m.mApplicationNewInput      : RETURN c.mNewInput( msg^(m.pApplicationNewInput) );
        | m.mApplicationOpenConfigWindow : RETURN c.mOpenConfigWindow( msg^(m.pApplicationOpenConfigWindow) );
        | m.mApplicationPushMethod    : RETURN c.mPushMethod( msg^(m.pApplicationPushMethod) );
        | m.mApplicationRemInputHandler : RETURN c.mRemInputHandler( msg^(m.pApplicationRemInputHandler) );
        | m.mApplicationReturnID      : RETURN c.mReturnID( msg^(m.pApplicationReturnID) );
        | m.mApplicationSave          : RETURN c.mSave( msg^(m.pApplicationSave) );
        | m.mApplicationSetConfigItem : RETURN c.mSetConfigItem( msg^(m.pApplicationSetConfigItem) );
        | m.mApplicationSetMenuCheck  : RETURN c.mSetMenuCheck( msg^(m.pApplicationSetMenuCheck) );
        | m.mApplicationSetMenuState  : RETURN c.mSetMenuState( msg^(m.pApplicationSetMenuState) );
        | m.mApplicationShowHelp      : RETURN c.mShowHelp( msg^(m.pApplicationShowHelp) );
      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 MUIApplication.
