home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / header45.zip / wpdisk.xh < prev    next >
Text File  |  1999-03-15  |  10KB  |  440 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpdisk.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.14
  7.  *     SOM Emitter emitxh: 2.43
  8.  */
  9.  
  10. /*
  11.  *   Module Header
  12.  * 
  13.  *   Module Name: WPDISK
  14.  * 
  15.  *   OS/2 Presentation Manager Workplace class definitions
  16.  * 
  17.  *   Copyright (c) International Business Machines Corporation 1991, 1992
  18.  * 
  19.  */
  20.  
  21.  
  22. #ifndef SOM_WPDisk_xh
  23. #define SOM_WPDisk_xh
  24.  
  25. class WPDisk;
  26.  
  27. #define WPDisk_MajorVersion 1
  28. #define WPDisk_MinorVersion 2
  29.  
  30. /*
  31.  * Passthru lines: File: "C.h", "before"
  32.  */
  33.  
  34.     #ifndef __cplusplus
  35.       #ifndef WPRootFolder
  36.         #define WPRootFolder SOMObject
  37.       #endif
  38.     #else
  39.       class WPRootFolder;
  40.     #endif
  41.  
  42.     #define OPEN_AUTO            120
  43.  
  44. /* C++ SOM defs */
  45. #include <somcls.xh>
  46. #include <somcm.xh>
  47.  
  48. /* C++ parent defs */
  49. #ifndef SOM_WPAbstract_xh
  50. #include <wpabs.xh>
  51. #endif
  52.  
  53. #ifndef WPDisk_API
  54. #define WPDisk_API
  55. /*
  56.  * -- The Class API
  57.  */
  58.  
  59. /*
  60.  * Start of bindings for IDL types
  61.  */
  62.  
  63. class SOMClass;
  64. class SOMObject;
  65. class WPFolder;
  66. class M_WPObject;
  67. class WPObject;
  68. class WPImageFile;
  69. class M_WPAbstract;
  70. class WPRootFolder;
  71. class M_WPDisk;
  72.  
  73. /*
  74.  * End of bindings for IDL types.
  75.  */
  76.  
  77. /* A procedure to create the WPDisk Class */
  78. class M_WPDisk;
  79. SOMEXTERN M_WPDisk * SOMLINK WPDiskNewClass(
  80.         integer4 majorVersion,
  81.         integer4 minorVersion);
  82.  
  83. /* The API to the WPDisk class object, and the methods it introduces. */
  84. SOMEXTERN struct WPDiskClassDataStructure {
  85.     M_WPDisk *classObject;
  86.     somMToken wpAddDiskDetailsPage;
  87.     somMToken wpSetCorrectDiskIcon;
  88.     somMToken wpQueryLogicalDrive;
  89.     somMToken wpDiskPrivate1;
  90.     somMToken wpQueryRootFolder;
  91.     somMToken wpDiskPrivate2;
  92.     somMToken wpDiskPrivate3;
  93.     somMToken wpDiskPrivate4;
  94.     somMToken wpQueryDriveLockStatus;
  95.     somMToken wpEjectDisk;
  96.     somMToken wpLockDrive;
  97. } SOMDLINK WPDiskClassData;
  98. #define _WPDisk WPDiskClassData.classObject
  99.  
  100. /* The API to parentMtabs for WPDisk, and the instance data it introduces. */
  101. SOMEXTERN struct WPDiskCClassDataStructure {
  102.     somMethodTabs parentMtab;
  103.     somDToken              instanceDataToken;
  104. } SOMDLINK WPDiskCClassData;
  105.  
  106. /*
  107.  * -- Typedefs for WPDisk Method Procedures
  108.  */
  109. SOMEXTERN {
  110. typedef ULONG   SOMLINK somTP_WPDisk_wpAddDiskDetailsPage(WPDisk *somSelf, 
  111.         HWND hwndNotebook);
  112. typedef somTP_WPDisk_wpAddDiskDetailsPage *somTD_WPDisk_wpAddDiskDetailsPage;
  113. typedef ULONG   SOMLINK somTP_WPDisk_wpQueryDriveLockStatus(WPDisk *somSelf, 
  114.         PULONG pulLockStatus, 
  115.         PULONG pulLockCount);
  116. typedef somTP_WPDisk_wpQueryDriveLockStatus *somTD_WPDisk_wpQueryDriveLockStatus;
  117. typedef ULONG   SOMLINK somTP_WPDisk_wpEjectDisk(WPDisk *somSelf);
  118. typedef somTP_WPDisk_wpEjectDisk *somTD_WPDisk_wpEjectDisk;
  119. typedef ULONG   SOMLINK somTP_WPDisk_wpLockDrive(WPDisk *somSelf, 
  120.         BOOL fLock);
  121. typedef somTP_WPDisk_wpLockDrive *somTD_WPDisk_wpLockDrive;
  122. typedef ULONG   SOMLINK somTP_WPDisk_wpQueryLogicalDrive(WPDisk *somSelf);
  123. typedef somTP_WPDisk_wpQueryLogicalDrive *somTD_WPDisk_wpQueryLogicalDrive;
  124. typedef WPRootFolder*   SOMLINK somTP_WPDisk_wpQueryRootFolder(WPDisk *somSelf);
  125. typedef somTP_WPDisk_wpQueryRootFolder *somTD_WPDisk_wpQueryRootFolder;
  126. typedef BOOL   SOMLINK somTP_WPDisk_wpSetCorrectDiskIcon(WPDisk *somSelf);
  127. typedef somTP_WPDisk_wpSetCorrectDiskIcon *somTD_WPDisk_wpSetCorrectDiskIcon;
  128.  
  129. /*
  130.  * -- Typedefs for Reintroduced Wrapper Methods
  131.  */
  132. typedef M_WPDisk*   SOMLINK somTP_WPDisk_somGetClass(WPDisk *somSelf);
  133. typedef somTP_WPDisk_somGetClass *somTD_WPDisk_somGetClass;
  134. }
  135.  
  136. #endif /* WPDisk_API */
  137.  
  138.  
  139. /*
  140.  * -- This emitter treats Method Tokens as Thunks by default.
  141.  * -- Use the sc modifier "nothunks" to change this default
  142.  */
  143. #undef somresolve_
  144. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  145.  
  146. /*
  147.  * -- The C++ Wrapper Class for WPDisk
  148.  */
  149. class WPDisk : public WPAbstract
  150. {
  151. public:
  152.  
  153. // WPDisk::new creates the class object if necessary, and then uses somNewNoInit
  154. // to allocate memory and create the object. Initialization is in ctors.
  155. void *operator new(size_t)
  156. {
  157.    if (!_WPDisk) WPDiskNewClass(WPDisk_MajorVersion,WPDisk_MinorVersion);
  158.    return (void*)
  159.       SOM_Resolve(_WPDisk,SOMClass,somNewNoInit)
  160.          ((SOMClass *)((void*)_WPDisk));
  161. }
  162.  
  163. // WPDisk::delete uses somDestruct.
  164. void operator delete(void * obj)
  165. {
  166.    if (obj && *(void**)obj) {
  167.       SOM_Resolve(obj,SOMObject,somDestruct)
  168.          ((SOMObject*)obj, 1, 0);
  169.    }
  170. }
  171.  
  172. WPDisk& operator=(WPDisk& fromObj)
  173. {
  174.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  175.    return *this;
  176. }
  177.  
  178. WPDisk()
  179. {
  180.    if (*(void**)this != 
  181.        ((somParentMtabStructPtr)
  182.         (WPDiskCClassData.parentMtab))->mtab)
  183.       return;
  184.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  185. }
  186.  
  187. WPDisk(WPDisk* fromObj)
  188. {
  189.    if (*(void**)this != 
  190.        ((somParentMtabStructPtr)
  191.         (WPDiskCClassData.parentMtab))->mtab)
  192.       return;
  193.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  194. }
  195.  
  196. WPDisk(const WPDisk* fromObj)
  197. {
  198.    if (*(void**)this != 
  199.        ((somParentMtabStructPtr)
  200.         (WPDiskCClassData.parentMtab))->mtab)
  201.       return;
  202.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  203. }
  204.  
  205.  
  206. /* method: wpAddDiskDetailsPage */
  207. ULONG   wpAddDiskDetailsPage(HWND hwndNotebook)
  208. {
  209.    return SOM_ResolveD(this,WPDisk,WPDisk,wpAddDiskDetailsPage)
  210.     (this,hwndNotebook);
  211. }
  212.  
  213.  
  214. /* method: wpQueryDriveLockStatus */
  215. ULONG   wpQueryDriveLockStatus(PULONG pulLockStatus, 
  216.         PULONG pulLockCount)
  217. {
  218.    return SOM_ResolveD(this,WPDisk,WPDisk,wpQueryDriveLockStatus)
  219.     (this,pulLockStatus,pulLockCount);
  220. }
  221.  
  222.  
  223. /* method: wpEjectDisk */
  224. ULONG   wpEjectDisk()
  225. {
  226.    return SOM_ResolveD(this,WPDisk,WPDisk,wpEjectDisk)
  227.     (this);
  228. }
  229.  
  230.  
  231. /* method: wpLockDrive */
  232. ULONG   wpLockDrive(BOOL fLock)
  233. {
  234.    return SOM_ResolveD(this,WPDisk,WPDisk,wpLockDrive)
  235.     (this,fLock);
  236. }
  237.  
  238.  
  239. /* method: wpQueryLogicalDrive */
  240. ULONG   wpQueryLogicalDrive()
  241. {
  242.    return SOM_ResolveD(this,WPDisk,WPDisk,wpQueryLogicalDrive)
  243.     (this);
  244. }
  245.  
  246.  
  247. /* method: wpQueryRootFolder */
  248. WPRootFolder*   wpQueryRootFolder()
  249. {
  250.    return SOM_ResolveD(this,WPDisk,WPDisk,wpQueryRootFolder)
  251.     (this);
  252. }
  253.  
  254.  
  255. /* method: wpSetCorrectDiskIcon */
  256. BOOL   wpSetCorrectDiskIcon()
  257. {
  258.    return SOM_ResolveD(this,WPDisk,WPDisk,wpSetCorrectDiskIcon)
  259.     (this);
  260. }
  261.  
  262.  
  263. /*
  264.  * Reintroduce inherited methods
  265.  */
  266.  
  267. /* method: somGetClass */
  268. M_WPDisk*  somGetClass()
  269. {
  270. /*
  271.  *  Return the receiver's class.
  272.  */
  273.    return SOM_ResolveD(this,WPDisk,SOMObject,somGetClass)
  274.     (this);
  275. }
  276.  
  277.  
  278.  
  279. };   /* WPDisk */
  280.  
  281.  
  282.  
  283. #endif       /* SOM_WPDisk_xh */
  284.  
  285. #ifndef SOM_M_WPDisk_xh
  286. #define SOM_M_WPDisk_xh
  287.  
  288. class M_WPDisk;
  289.  
  290. #define M_WPDisk_MajorVersion 1
  291. #define M_WPDisk_MinorVersion 2
  292.  
  293. /* C++ SOM defs */
  294. #include <somcls.xh>
  295. #include <somcm.xh>
  296.  
  297. /* C++ parent defs */
  298. #ifndef SOM_M_WPAbstract_xh
  299. #include <wpabs.xh>
  300. #endif
  301.  
  302. #ifndef M_WPDisk_API
  303. #define M_WPDisk_API
  304. /*
  305.  * -- The Class API
  306.  */
  307.  
  308. /*
  309.  * Start of bindings for IDL types
  310.  */
  311.  
  312.  
  313. /*
  314.  * End of bindings for IDL types.
  315.  */
  316.  
  317. /*
  318.  * -- M_WPDisk is a metaclass for WPDisk. Make sure WPDisk is known.
  319.  */
  320. class WPDisk;
  321.  
  322.  
  323. /* A procedure to create the M_WPDisk Class */
  324. SOMEXTERN SOMClass * SOMLINK M_WPDiskNewClass(
  325.         integer4 majorVersion,
  326.         integer4 minorVersion);
  327.  
  328. /* The API to the M_WPDisk class object, and the methods it introduces. */
  329. SOMEXTERN struct M_WPDiskClassDataStructure {
  330.     SOMClass *classObject;
  331. } SOMDLINK M_WPDiskClassData;
  332. #define _M_WPDisk M_WPDiskClassData.classObject
  333.  
  334. /* The API to parentMtabs for M_WPDisk, and the instance data it introduces. */
  335. SOMEXTERN struct M_WPDiskCClassDataStructure {
  336.     somMethodTabs parentMtab;
  337.     somDToken              instanceDataToken;
  338. } SOMDLINK M_WPDiskCClassData;
  339.  
  340. /*
  341.  * -- Typedefs for M_WPDisk Method Procedures
  342.  */
  343. SOMEXTERN {
  344.  
  345. /*
  346.  * -- Typedefs for Reintroduced Wrapper Methods
  347.  */
  348. typedef WPDisk*   SOMLINK somTP_M_WPDisk_somNew(M_WPDisk *somSelf);
  349. typedef somTP_M_WPDisk_somNew *somTD_M_WPDisk_somNew;
  350. }
  351.  
  352. #endif /* M_WPDisk_API */
  353.  
  354.  
  355. /*
  356.  * -- This emitter treats Method Tokens as Thunks by default.
  357.  * -- Use the sc modifier "nothunks" to change this default
  358.  */
  359. #undef somresolve_
  360. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  361.  
  362. /*
  363.  * -- The C++ Wrapper Class for M_WPDisk
  364.  */
  365. class M_WPDisk : public M_WPAbstract
  366. {
  367. public:
  368.  
  369. // M_WPDisk::new creates the class object if necessary, and then uses somNewNoInit
  370. // to allocate memory and create the object. Initialization is in ctors.
  371. void *operator new(size_t)
  372. {
  373.    if (!_M_WPDisk) M_WPDiskNewClass(M_WPDisk_MajorVersion,M_WPDisk_MinorVersion);
  374.    return (void*)
  375.       SOM_Resolve(_M_WPDisk,SOMClass,somNewNoInit)
  376.          ((SOMClass *)((void*)_M_WPDisk));
  377. }
  378.  
  379. // M_WPDisk::delete uses somDestruct.
  380. void operator delete(void * obj)
  381. {
  382.    if (obj && *(void**)obj) {
  383.       SOM_Resolve(obj,SOMObject,somDestruct)
  384.          ((SOMObject*)obj, 1, 0);
  385.    }
  386. }
  387.  
  388. M_WPDisk& operator=(M_WPDisk& fromObj)
  389. {
  390.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  391.    return *this;
  392. }
  393.  
  394. M_WPDisk()
  395. {
  396.    if (*(void**)this != 
  397.        ((somParentMtabStructPtr)
  398.         (M_WPDiskCClassData.parentMtab))->mtab)
  399.       return;
  400.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  401. }
  402.  
  403. M_WPDisk(M_WPDisk* fromObj)
  404. {
  405.    if (*(void**)this != 
  406.        ((somParentMtabStructPtr)
  407.         (M_WPDiskCClassData.parentMtab))->mtab)
  408.       return;
  409.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  410. }
  411.  
  412. M_WPDisk(const M_WPDisk* fromObj)
  413. {
  414.    if (*(void**)this != 
  415.        ((somParentMtabStructPtr)
  416.         (M_WPDiskCClassData.parentMtab))->mtab)
  417.       return;
  418.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  419. }
  420.  
  421.  
  422. /*
  423.  * Reintroduce inherited methods
  424.  */
  425.  
  426. /* method: somNew */
  427. WPDisk*  somNew()
  428. {
  429.    return SOM_ResolveD(this,M_WPDisk,SOMClass,somNew)
  430.     (this);
  431. }
  432.  
  433.  
  434.  
  435. };   /* M_WPDisk */
  436.  
  437.  
  438.  
  439. #endif       /* SOM_M_WPDisk_xh */
  440.