home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / mod201j.zip / modula2.exe / os2demo / animals / bdog.def < prev    next >
Text File  |  1994-08-29  |  2KB  |  66 lines

  1. (*$DLL      BDOG can  be implemented as dynamic link library *)
  2.  
  3. DEFINITION MODULE BDOG;
  4.  
  5. (***************************************************************************
  6.   OS/2 2.1 interface for SOM class BigDog
  7.  
  8.   Copyright (c) 1994 by Juergen Neuhoff
  9. ****************************************************************************)
  10.  
  11. (*$XL+       Modula-2 language extensions: '_' allowed for symbol names *)
  12. (*$CDECL+    C-style procedures                                         *)
  13. (*$A         default alignment for record fields                        *)
  14.  
  15. IMPORT SOM;
  16.  
  17. (************************************************************************
  18.   Additional TYPE- and CONST-declarations supporting BigDog
  19. *************************************************************************)
  20.  
  21. IMPORT OS2DEF;
  22. IMPORT DOG;
  23. TYPE PSZ                    = OS2DEF.PSZ;
  24.  
  25.  
  26. (*************************************************************************
  27.   SOM class API for BigDog, including type-bound procedures
  28. **************************************************************************)
  29.  
  30. TYPE PSOMClass              = SOM.PSOMClass;
  31. TYPE INTEGER4               = SOM.INTEGER4;
  32. TYPE somMToken              = SOM.somMToken;
  33. TYPE somDToken              = SOM.somDToken;
  34. TYPE somMethodProc          = SOM.somMethodProc;
  35. TYPE PBigDog                = POINTER TO BigDog;
  36. TYPE PM_BigDog              = POINTER TO M_BigDog;
  37.  
  38. CONST
  39.   BigDog_MajorVersion       = 0;
  40.   BigDog_MinorVersion       = 0;
  41.  
  42. TYPE
  43.   BigDogClassDataStructure  = RECORD
  44.     classObject               : PSOMClass;
  45.                               END;
  46.  
  47. VAR
  48.   BigDogClassData : BigDogClassDataStructure;
  49.  
  50. TYPE
  51.   (*$SOM+ *)
  52.   BigDog = RECORD( DOG.Dog ) END;
  53.   (*$SOM- *)
  54.  
  55.  
  56. PROCEDURE BigDogNewClass
  57. (
  58.   majorVersion  : INTEGER4;
  59.   minorVersion  : INTEGER4
  60. )               : PSOMClass;
  61.  
  62. PROCEDURE( Self : PBigDog ) talk();
  63.  
  64.  
  65. END BDOG.
  66.