home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / devtools / toolkt21 / cplus / os2h / wpmouse.xh < prev    next >
Encoding:
Text File  |  1993-05-02  |  4.6 KB  |  211 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpmouse.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: WPMOUSE
  15.  * 
  16.  *  OS/2 Presentation Manager Workplace class definitions
  17.  * 
  18.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  19.  * 
  20.  */
  21.  
  22. #ifndef wpmouse_xh
  23. #define wpmouse_xh
  24. class WPMouse;
  25.  
  26. #define WPMouse_MajorVersion 1
  27. #define WPMouse_MinorVersion 2
  28.  
  29. /* C++ som defs */
  30. #include <somcls.xh>
  31.  
  32. /* C++ parent def */
  33. #ifndef wpabs_xh
  34. #include "wpabs.xh"
  35. #endif
  36.  
  37. #ifndef WPMouse_API
  38. #define WPMouse_API
  39. /*
  40.  * The Class API
  41.  */
  42.  
  43. /* A procedure to create the WPMouse Class */
  44. SOMEXTERN SOMClass * SOMLINK WPMouseNewClass(
  45.         integer4 majorVersion,
  46.         integer4 minorVersion);
  47.  
  48. /* A macro to return the WPMouse class object */
  49. class M_WPMouse;
  50. #define _WPMouse ((M_WPMouse*)WPMouseClassData.classObject)
  51.  
  52. /* The static interface to WPMouse and its instances */
  53. SOMEXTERN struct WPMouseClassDataStructure {
  54.     SOMClass *classObject;
  55.     somMToken wpAddMouseMappingsPage;
  56.     somMToken wpAddMouseTimingPage;
  57.     somMToken wpAddMouseTypePage;
  58. } WPMouseClassData;
  59.  
  60. /*
  61.  * -- Typedefs for Procedures that support WPMouse Methods
  62.  */
  63. extern "C" {
  64. typedef ULONG    (SOMLINK *somTD_WPMouse_wpAddMouseMappingsPage)(WPMouse *somSelf,HWND hwndNotebook);
  65. typedef ULONG    (SOMLINK *somTD_WPMouse_wpAddMouseTimingPage)(WPMouse *somSelf,HWND hwndNotebook);
  66. typedef ULONG    (SOMLINK *somTD_WPMouse_wpAddMouseTypePage)(WPMouse *somSelf,HWND hwndNotebook);
  67. }
  68.  
  69.  
  70. #endif /* WPMouse_API */
  71.  
  72.  
  73. /*
  74.  * -- The C++ Wrapper Class for WPMouse
  75.  */
  76. class WPMouse : public WPAbstract
  77. {
  78. public:
  79.  
  80. void *operator new(size_t size)
  81. {
  82.    (void) size;
  83.    if (!WPMouseClassData.classObject) 
  84.       WPMouseNewClass(WPMouse_MajorVersion,WPMouse_MinorVersion);
  85.    return (void *)
  86.       ((somTD_SOMClass_somNew)
  87.       somResolve(SOM_TestCls((SOMAny *)(WPMouseClassData.classObject),
  88.                              SOMClassClassData.classObject),
  89.                  SOMClassClassData.somNew))
  90.          ((SOMClass*)(WPMouseClassData.classObject));
  91. }
  92.  
  93. void operator delete(void * obj)
  94. {
  95.    ((SOMObject *)obj)->somFree();
  96. }
  97.  
  98. /* public method: wpAddMouseMappingsPage */
  99. ULONG    wpAddMouseMappingsPage(HWND hwndNotebook)
  100. {
  101.    return (ULONG) SOM_Resolve((SOMAny *)this,WPMouse,wpAddMouseMappingsPage)
  102.     (this,hwndNotebook);
  103. }
  104.  
  105.  
  106. /* public method: wpAddMouseTimingPage */
  107. ULONG    wpAddMouseTimingPage(HWND hwndNotebook)
  108. {
  109.    return (ULONG) SOM_Resolve((SOMAny *)this,WPMouse,wpAddMouseTimingPage)
  110.     (this,hwndNotebook);
  111. }
  112.  
  113.  
  114. /* public method: wpAddMouseTypePage */
  115. ULONG    wpAddMouseTypePage(HWND hwndNotebook)
  116. {
  117.    return (ULONG) SOM_Resolve((SOMAny *)this,WPMouse,wpAddMouseTypePage)
  118.     (this,hwndNotebook);
  119. }
  120.  
  121.  
  122.  
  123. };   /* WPMouse */
  124.  
  125.  
  126.  
  127. #endif       /* wpmouse_xh */
  128.  
  129. /*
  130.  * This file was generated by the SOM Compiler.
  131.  * FileName: wpmouse.xh.
  132.  * Generated using:
  133.  *     SOM Precompiler spc: 1.22
  134.  *     SOM Emitter emitxh: 1.11
  135.  */
  136. #ifndef wpmouse_mxh
  137. #define wpmouse_mxh
  138. class M_WPMouse;
  139.  
  140. #define M_WPMouse_MajorVersion 1
  141. #define M_WPMouse_MinorVersion 2
  142.  
  143. /* C++ som defs */
  144. #include <somcls.xh>
  145.  
  146. /* C++ parent def */
  147. #ifndef wpabs_xh
  148. #include "wpabs.xh"
  149. #endif
  150.  
  151. #ifndef M_WPMouse_API
  152. #define M_WPMouse_API
  153. /*
  154.  * The Class API
  155.  */
  156.  
  157. /* A procedure to create the M_WPMouse Class */
  158. SOMEXTERN SOMClass * SOMLINK M_WPMouseNewClass(
  159.         integer4 majorVersion,
  160.         integer4 minorVersion);
  161.  
  162. /* A macro to return the M_WPMouse class object */
  163. #define _M_WPMouse ((SOMClass*)M_WPMouseClassData.classObject)
  164.  
  165. /* The static interface to M_WPMouse and its instances */
  166. SOMEXTERN struct M_WPMouseClassDataStructure {
  167.     SOMClass *classObject;
  168. } M_WPMouseClassData;
  169.  
  170. /*
  171.  * -- Typedefs for Procedures that support M_WPMouse Methods
  172.  */
  173. extern "C" {
  174. }
  175.  
  176.  
  177. #endif /* M_WPMouse_API */
  178.  
  179.  
  180. /*
  181.  * -- The C++ Wrapper Class for M_WPMouse
  182.  */
  183. class M_WPMouse : public M_WPAbstract
  184. {
  185. public:
  186.  
  187. void *operator new(size_t size)
  188. {
  189.    (void) size;
  190.    if (!M_WPMouseClassData.classObject) 
  191.       M_WPMouseNewClass(M_WPMouse_MajorVersion,M_WPMouse_MinorVersion);
  192.    return (void *)
  193.       ((somTD_SOMClass_somNew)
  194.       somResolve(SOM_TestCls((SOMAny *)(M_WPMouseClassData.classObject),
  195.                              SOMClassClassData.classObject),
  196.                  SOMClassClassData.somNew))
  197.          ((SOMClass*)(M_WPMouseClassData.classObject));
  198. }
  199.  
  200. void operator delete(void * obj)
  201. {
  202.    ((SOMObject *)obj)->somFree();
  203. }
  204.  
  205.  
  206. };   /* M_WPMouse */
  207.  
  208.  
  209.  
  210. #endif       /* wpmouse_mxh */
  211.