DEFINITION MODULE WPCMDF;

(***************************************************************************
  OS/2 2.1 Workplace class interface for WPCommandFile

  Copyright (c) 1994 by Juergen Neuhoff
****************************************************************************)

(*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
(*$CDECL+    C-style procedures                                         *)
(*$A         default alignment for record fields                        *)

IMPORT SOM;
IMPORT WPPGMF;

TYPE PSOMClass              = SOM.PSOMClass;
TYPE INTEGER4               = SOM.INTEGER4;
TYPE somMToken              = SOM.somMToken;
TYPE somDToken              = SOM.somDToken;
TYPE somMethodProc          = SOM.somMethodProc;
TYPE PWPCommandFile         = POINTER TO WPCommandFile;
TYPE PM_WPCommandFile       = POINTER TO M_WPCommandFile;

(************************************************************************
  Additional TYPE- and CONST-declarations supporting WPCommandFile
*************************************************************************)


(*************************************************************************
  SOM class API for WPCommandFile, including type-bound procedures
**************************************************************************)

CONST
  WPCommandFile_MajorVersion     = 1;
  WPCommandFile_MinorVersion     = 2;

TYPE
  WPCommandFileClassDataStructure     = RECORD
    classObject                         : PSOMClass;
                                        END;

VAR
  WPCommandFileClassData : WPCommandFileClassDataStructure;

TYPE
  (*$SOM+ *)
  WPCommandFile = RECORD( WPPGMF.WPProgramFile ) END;
  (*$SOM- *)


PROCEDURE WPCommandFileNewClass
(
  majorVersion  : INTEGER4;
  minorVersion  : INTEGER4
)               : PSOMClass;


(*************************************************************************
  SOM class API for M_WPCommandFile, including type-bound procedures
**************************************************************************)

CONST
  M_WPCommandFile_MajorVersion   = 1;
  M_WPCommandFile_MinorVersion   = 2;

TYPE
  M_WPCommandFileClassDataStructure   = RECORD
    classObject                         : PSOMClass;
                                        END;

VAR
  M_WPCommandFileClassData : M_WPCommandFileClassDataStructure;

TYPE
  (*$SOM+ *)
  M_WPCommandFile = RECORD( WPPGMF.M_WPProgramFile ) END;
  (*$SOM- *)


PROCEDURE M_WPCommandFileNewClass
(
  majorVersion : INTEGER4;
  minorVersion : INTEGER4
)              : PSOMClass;

END WPCMDF.
