home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / os2tk21j / cplus / os2h / wpabs.xh_ / wpabs.xh
Encoding:
Text File  |  1993-04-30  |  3.8 KB  |  184 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpabs.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitxh: 1.11
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *  Module Header
  13.  * 
  14.  *  Module Name: WPABS
  15.  * 
  16.  *  OS/2 Presentation Manager Workplace class definitions
  17.  * 
  18.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  19.  * 
  20.  */
  21.  
  22. #ifndef wpabs_xh
  23. #define wpabs_xh
  24. class WPAbstract;
  25.  
  26. #define WPAbstract_MajorVersion 1
  27. #define WPAbstract_MinorVersion 2
  28.  
  29. /* C++ som defs */
  30. #include <somcls.xh>
  31.  
  32. /* C++ parent def */
  33. #ifndef wpobject_xh
  34. #include "wpobject.xh"
  35. #endif
  36.  
  37. #ifndef WPAbstract_API
  38. #define WPAbstract_API
  39. /*
  40.  * The Class API
  41.  */
  42.  
  43. /* A procedure to create the WPAbstract Class */
  44. SOMEXTERN SOMClass * SOMLINK WPAbstractNewClass(
  45.         integer4 majorVersion,
  46.         integer4 minorVersion);
  47.  
  48. /* A macro to return the WPAbstract class object */
  49. class M_WPAbstract;
  50. #define _WPAbstract ((M_WPAbstract*)WPAbstractClassData.classObject)
  51.  
  52. /* The static interface to WPAbstract and its instances */
  53. SOMEXTERN struct WPAbstractClassDataStructure {
  54.     SOMClass *classObject;
  55. } WPAbstractClassData;
  56.  
  57. /*
  58.  * -- Typedefs for Procedures that support WPAbstract Methods
  59.  */
  60. extern "C" {
  61. }
  62.  
  63.  
  64. #endif /* WPAbstract_API */
  65.  
  66.  
  67. /*
  68.  * -- The C++ Wrapper Class for WPAbstract
  69.  */
  70. class WPAbstract : public WPObject
  71. {
  72. public:
  73.  
  74. void *operator new(size_t size)
  75. {
  76.    (void) size;
  77.    if (!WPAbstractClassData.classObject) 
  78.       WPAbstractNewClass(WPAbstract_MajorVersion,WPAbstract_MinorVersion);
  79.    return (void *)
  80.       ((somTD_SOMClass_somNew)
  81.       somResolve(SOM_TestCls((SOMAny *)(WPAbstractClassData.classObject),
  82.                              SOMClassClassData.classObject),
  83.                  SOMClassClassData.somNew))
  84.          ((SOMClass*)(WPAbstractClassData.classObject));
  85. }
  86.  
  87. void operator delete(void * obj)
  88. {
  89.    ((SOMObject *)obj)->somFree();
  90. }
  91.  
  92.  
  93. };   /* WPAbstract */
  94.  
  95.  
  96.  
  97. #endif       /* wpabs_xh */
  98.  
  99. /*
  100.  * This file was generated by the SOM Compiler.
  101.  * FileName: wpabs.xh.
  102.  * Generated using:
  103.  *     SOM Precompiler spc: 1.22
  104.  *     SOM Emitter emitxh: 1.11
  105.  */
  106. #ifndef wpabs_mxh
  107. #define wpabs_mxh
  108. class M_WPAbstract;
  109.  
  110. #define M_WPAbstract_MajorVersion 1
  111. #define M_WPAbstract_MinorVersion 2
  112.  
  113. /* C++ som defs */
  114. #include <somcls.xh>
  115.  
  116. /* C++ parent def */
  117. #ifndef wpobject_xh
  118. #include "wpobject.xh"
  119. #endif
  120.  
  121. #ifndef M_WPAbstract_API
  122. #define M_WPAbstract_API
  123. /*
  124.  * The Class API
  125.  */
  126.  
  127. /* A procedure to create the M_WPAbstract Class */
  128. SOMEXTERN SOMClass * SOMLINK M_WPAbstractNewClass(
  129.         integer4 majorVersion,
  130.         integer4 minorVersion);
  131.  
  132. /* A macro to return the M_WPAbstract class object */
  133. #define _M_WPAbstract ((SOMClass*)M_WPAbstractClassData.classObject)
  134.  
  135. /* The static interface to M_WPAbstract and its instances */
  136. SOMEXTERN struct M_WPAbstractClassDataStructure {
  137.     SOMClass *classObject;
  138.     somMToken wpclsSaveCache;
  139.     somMToken wpclsLockCache;
  140.     somMToken wpclsUnlockCache;
  141. } M_WPAbstractClassData;
  142.  
  143. /*
  144.  * -- Typedefs for Procedures that support M_WPAbstract Methods
  145.  */
  146. extern "C" {
  147. }
  148.  
  149.  
  150. #endif /* M_WPAbstract_API */
  151.  
  152.  
  153. /*
  154.  * -- The C++ Wrapper Class for M_WPAbstract
  155.  */
  156. class M_WPAbstract : public M_WPObject
  157. {
  158. public:
  159.  
  160. void *operator new(size_t size)
  161. {
  162.    (void) size;
  163.    if (!M_WPAbstractClassData.classObject) 
  164.       M_WPAbstractNewClass(M_WPAbstract_MajorVersion,M_WPAbstract_MinorVersion);
  165.    return (void *)
  166.       ((somTD_SOMClass_somNew)
  167.       somResolve(SOM_TestCls((SOMAny *)(M_WPAbstractClassData.classObject),
  168.                              SOMClassClassData.classObject),
  169.                  SOMClassClassData.somNew))
  170.          ((SOMClass*)(M_WPAbstractClassData.classObject));
  171. }
  172.  
  173. void operator delete(void * obj)
  174. {
  175.    ((SOMObject *)obj)->somFree();
  176. }
  177.  
  178.  
  179. };   /* M_WPAbstract */
  180.  
  181.  
  182.  
  183. #endif       /* wpabs_mxh */
  184.