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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpdisk.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: WPDISK
  15.  * 
  16.  *  OS/2 Presentation Manager Workplace class definitions
  17.  * 
  18.  *  Copyright (c) International Business Machines Corporation 1991, 1992
  19.  * 
  20.  */
  21.  
  22. #ifndef wpdisk_xh
  23. #define wpdisk_xh
  24. class WPDisk;
  25.  
  26. #define WPDisk_MajorVersion 1
  27. #define WPDisk_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. /*
  38.  * Passthru lines: File: "C.xh", "after"
  39.  */
  40. #ifndef wprootf_xh
  41.         #include "wprootf.xh"
  42.     #endif
  43.  
  44.     #define OPEN_AUTO            120
  45.  
  46. #ifndef WPDisk_API
  47. #define WPDisk_API
  48. /*
  49.  * The Class API
  50.  */
  51.  
  52. /* A procedure to create the WPDisk Class */
  53. SOMEXTERN SOMClass * SOMLINK WPDiskNewClass(
  54.         integer4 majorVersion,
  55.         integer4 minorVersion);
  56.  
  57. /* A macro to return the WPDisk class object */
  58. class M_WPDisk;
  59. #define _WPDisk ((M_WPDisk*)WPDiskClassData.classObject)
  60.  
  61. /* The static interface to WPDisk and its instances */
  62. SOMEXTERN struct WPDiskClassDataStructure {
  63.     SOMClass *classObject;
  64.     somMToken wpAddDiskDetailsPage;
  65.     somMToken wpSetCorrectDiskIcon;
  66.     somMToken wpQueryLogicalDrive;
  67.     somMToken wpSetLogicalDrive;
  68.     somMToken wpQueryRootFolder;
  69.     somMToken wpSetDiskInfo;
  70.     somMToken wpTouchDisk;
  71.     somMToken wpQueryDiskInfo;
  72.     somMToken wpQueryDriveLockStatus;
  73.     somMToken wpEjectDisk;
  74.     somMToken wpLockDrive;
  75. } WPDiskClassData;
  76.  
  77. /*
  78.  * -- Typedefs for Procedures that support WPDisk Methods
  79.  */
  80. extern "C" {
  81. typedef ULONG    (SOMLINK *somTD_WPDisk_wpAddDiskDetailsPage)(WPDisk *somSelf,HWND hwndNotebook);
  82. typedef ULONG    (SOMLINK *somTD_WPDisk_wpQueryDriveLockStatus)(WPDisk *somSelf,PULONG pulLockStatus,PULONG pulLockCount);
  83. typedef ULONG    (SOMLINK *somTD_WPDisk_wpEjectDisk)(WPDisk *somSelf);
  84. typedef ULONG    (SOMLINK *somTD_WPDisk_wpLockDrive)(WPDisk *somSelf,BOOL fLock);
  85. typedef ULONG    (SOMLINK *somTD_WPDisk_wpQueryLogicalDrive)(WPDisk *somSelf);
  86. typedef WPRootFolder *   (SOMLINK *somTD_WPDisk_wpQueryRootFolder)(WPDisk *somSelf);
  87. }
  88.  
  89.  
  90. #endif /* WPDisk_API */
  91.  
  92.  
  93. /*
  94.  * -- The C++ Wrapper Class for WPDisk
  95.  */
  96. class WPDisk : public WPAbstract
  97. {
  98. public:
  99.  
  100. void *operator new(size_t size)
  101. {
  102.    (void) size;
  103.    if (!WPDiskClassData.classObject) 
  104.       WPDiskNewClass(WPDisk_MajorVersion,WPDisk_MinorVersion);
  105.    return (void *)
  106.       ((somTD_SOMClass_somNew)
  107.       somResolve(SOM_TestCls((SOMAny *)(WPDiskClassData.classObject),
  108.                              SOMClassClassData.classObject),
  109.                  SOMClassClassData.somNew))
  110.          ((SOMClass*)(WPDiskClassData.classObject));
  111. }
  112.  
  113. void operator delete(void * obj)
  114. {
  115.    ((SOMObject *)obj)->somFree();
  116. }
  117.  
  118. /* public method: wpAddDiskDetailsPage */
  119. ULONG    wpAddDiskDetailsPage(HWND hwndNotebook)
  120. {
  121.    return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpAddDiskDetailsPage)
  122.     (this,hwndNotebook);
  123. }
  124.  
  125.  
  126. /* public method: wpQueryDriveLockStatus */
  127. ULONG    wpQueryDriveLockStatus(PULONG pulLockStatus,
  128.         PULONG pulLockCount)
  129. {
  130.    return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpQueryDriveLockStatus)
  131.     (this,pulLockStatus,pulLockCount);
  132. }
  133.  
  134.  
  135. /* public method: wpEjectDisk */
  136. ULONG    wpEjectDisk()
  137. {
  138.    return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpEjectDisk)
  139.     (this);
  140. }
  141.  
  142.  
  143. /* public method: wpLockDrive */
  144. ULONG    wpLockDrive(BOOL fLock)
  145. {
  146.    return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpLockDrive)
  147.     (this,fLock);
  148. }
  149.  
  150.  
  151. /* public method: wpQueryLogicalDrive */
  152. ULONG    wpQueryLogicalDrive()
  153. {
  154.    return (ULONG) SOM_Resolve((SOMAny *)this,WPDisk,wpQueryLogicalDrive)
  155.     (this);
  156. }
  157.  
  158.  
  159. /* public method: wpQueryRootFolder */
  160. WPRootFolder *   wpQueryRootFolder()
  161. {
  162.    return (WPRootFolder*) SOM_Resolve((SOMAny *)this,WPDisk,wpQueryRootFolder)
  163.     (this);
  164. }
  165.  
  166.  
  167.  
  168. };   /* WPDisk */
  169.  
  170.  
  171.  
  172. #endif       /* wpdisk_xh */
  173.  
  174. /*
  175.  * This file was generated by the SOM Compiler.
  176.  * FileName: wpdisk.xh.
  177.  * Generated using:
  178.  *     SOM Precompiler spc: 1.22
  179.  *     SOM Emitter emitxh: 1.11
  180.  */
  181. #ifndef wpdisk_mxh
  182. #define wpdisk_mxh
  183. class M_WPDisk;
  184.  
  185. #define M_WPDisk_MajorVersion 1
  186. #define M_WPDisk_MinorVersion 2
  187.  
  188. /* C++ som defs */
  189. #include <somcls.xh>
  190.  
  191. /* C++ parent def */
  192. #ifndef wpabs_xh
  193. #include "wpabs.xh"
  194. #endif
  195.  
  196. #ifndef M_WPDisk_API
  197. #define M_WPDisk_API
  198. /*
  199.  * The Class API
  200.  */
  201.  
  202. /* A procedure to create the M_WPDisk Class */
  203. SOMEXTERN SOMClass * SOMLINK M_WPDiskNewClass(
  204.         integer4 majorVersion,
  205.         integer4 minorVersion);
  206.  
  207. /* A macro to return the M_WPDisk class object */
  208. #define _M_WPDisk ((SOMClass*)M_WPDiskClassData.classObject)
  209.  
  210. /* The static interface to M_WPDisk and its instances */
  211. SOMEXTERN struct M_WPDiskClassDataStructure {
  212.     SOMClass *classObject;
  213. } M_WPDiskClassData;
  214.  
  215. /*
  216.  * -- Typedefs for Procedures that support M_WPDisk Methods
  217.  */
  218. extern "C" {
  219. }
  220.  
  221.  
  222. #endif /* M_WPDisk_API */
  223.  
  224.  
  225. /*
  226.  * -- The C++ Wrapper Class for M_WPDisk
  227.  */
  228. class M_WPDisk : public M_WPAbstract
  229. {
  230. public:
  231.  
  232. void *operator new(size_t size)
  233. {
  234.    (void) size;
  235.    if (!M_WPDiskClassData.classObject) 
  236.       M_WPDiskNewClass(M_WPDisk_MajorVersion,M_WPDisk_MinorVersion);
  237.    return (void *)
  238.       ((somTD_SOMClass_somNew)
  239.       somResolve(SOM_TestCls((SOMAny *)(M_WPDiskClassData.classObject),
  240.                              SOMClassClassData.classObject),
  241.                  SOMClassClassData.somNew))
  242.          ((SOMClass*)(M_WPDiskClassData.classObject));
  243. }
  244.  
  245. void operator delete(void * obj)
  246. {
  247.    ((SOMObject *)obj)->somFree();
  248. }
  249.  
  250.  
  251. };   /* M_WPDisk */
  252.  
  253.  
  254.  
  255. #endif       /* wpdisk_mxh */
  256.