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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpdrives.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: WPDRIVES
  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_WPDrives_xh
  23. #define SOM_WPDrives_xh
  24.  
  25. class WPDrives;
  26.  
  27. #define WPDrives_MajorVersion 1
  28. #define WPDrives_MinorVersion 2
  29.  
  30. /* C++ SOM defs */
  31. #include <somcls.xh>
  32. #include <somcm.xh>
  33.  
  34. /* C++ parent defs */
  35. #ifndef SOM_WPFolder_xh
  36. #include <wpfolder.xh>
  37. #endif
  38.  
  39. #ifndef WPDrives_API
  40. #define WPDrives_API
  41. /*
  42.  * -- The Class API
  43.  */
  44.  
  45. /*
  46.  * Start of bindings for IDL types
  47.  */
  48.  
  49. class SOMClass;
  50. class SOMObject;
  51. class WPFolder;
  52. class M_WPObject;
  53. class WPObject;
  54. class WPImageFile;
  55. class M_WPFileSystem;
  56. class M_WPFolder;
  57. class M_WPDrives;
  58.  
  59. /*
  60.  * End of bindings for IDL types.
  61.  */
  62.  
  63. /* A procedure to create the WPDrives Class */
  64. class M_WPDrives;
  65. SOMEXTERN M_WPDrives * SOMLINK WPDrivesNewClass(
  66.         integer4 majorVersion,
  67.         integer4 minorVersion);
  68.  
  69. /* The API to the WPDrives class object, and the methods it introduces. */
  70. SOMEXTERN struct WPDrivesClassDataStructure {
  71.     M_WPDrives *classObject;
  72.     somMToken wpAddReserveDriveLetterPage;
  73. } SOMDLINK WPDrivesClassData;
  74. #define _WPDrives WPDrivesClassData.classObject
  75.  
  76. /* The API to parentMtabs for WPDrives, and the instance data it introduces. */
  77. SOMEXTERN struct WPDrivesCClassDataStructure {
  78.     somMethodTabs parentMtab;
  79.     somDToken              instanceDataToken;
  80. } SOMDLINK WPDrivesCClassData;
  81.  
  82. /*
  83.  * -- Typedefs for WPDrives Method Procedures
  84.  */
  85. SOMEXTERN {
  86. typedef ULONG   SOMLINK somTP_WPDrives_wpAddReserveDriveLetterPage(WPDrives *somSelf, 
  87.         HWND hwndNotebook);
  88. typedef somTP_WPDrives_wpAddReserveDriveLetterPage *somTD_WPDrives_wpAddReserveDriveLetterPage;
  89.  
  90. /*
  91.  * -- Typedefs for Reintroduced Wrapper Methods
  92.  */
  93. typedef M_WPDrives*   SOMLINK somTP_WPDrives_somGetClass(WPDrives *somSelf);
  94. typedef somTP_WPDrives_somGetClass *somTD_WPDrives_somGetClass;
  95. }
  96.  
  97. #endif /* WPDrives_API */
  98.  
  99.  
  100. /*
  101.  * -- This emitter treats Method Tokens as Thunks by default.
  102.  * -- Use the sc modifier "nothunks" to change this default
  103.  */
  104. #undef somresolve_
  105. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  106.  
  107. /*
  108.  * -- The C++ Wrapper Class for WPDrives
  109.  */
  110. class WPDrives : public WPFolder
  111. {
  112. public:
  113.  
  114. // WPDrives::new creates the class object if necessary, and then uses somNewNoInit
  115. // to allocate memory and create the object. Initialization is in ctors.
  116. void *operator new(size_t)
  117. {
  118.    if (!_WPDrives) WPDrivesNewClass(WPDrives_MajorVersion,WPDrives_MinorVersion);
  119.    return (void*)
  120.       SOM_Resolve(_WPDrives,SOMClass,somNewNoInit)
  121.          ((SOMClass *)((void*)_WPDrives));
  122. }
  123.  
  124. // WPDrives::delete uses somDestruct.
  125. void operator delete(void * obj)
  126. {
  127.    if (obj && *(void**)obj) {
  128.       SOM_Resolve(obj,SOMObject,somDestruct)
  129.          ((SOMObject*)obj, 1, 0);
  130.    }
  131. }
  132.  
  133. WPDrives& operator=(WPDrives& fromObj)
  134. {
  135.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  136.    return *this;
  137. }
  138.  
  139. WPDrives()
  140. {
  141.    if (*(void**)this != 
  142.        ((somParentMtabStructPtr)
  143.         (WPDrivesCClassData.parentMtab))->mtab)
  144.       return;
  145.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  146. }
  147.  
  148. WPDrives(WPDrives* fromObj)
  149. {
  150.    if (*(void**)this != 
  151.        ((somParentMtabStructPtr)
  152.         (WPDrivesCClassData.parentMtab))->mtab)
  153.       return;
  154.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  155. }
  156.  
  157. WPDrives(const WPDrives* fromObj)
  158. {
  159.    if (*(void**)this != 
  160.        ((somParentMtabStructPtr)
  161.         (WPDrivesCClassData.parentMtab))->mtab)
  162.       return;
  163.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  164. }
  165.  
  166.  
  167. /* method: wpAddReserveDriveLetterPage */
  168. ULONG   wpAddReserveDriveLetterPage(HWND hwndNotebook)
  169. {
  170.    return SOM_ResolveD(this,WPDrives,WPDrives,wpAddReserveDriveLetterPage)
  171.     (this,hwndNotebook);
  172. }
  173.  
  174.  
  175. /*
  176.  * Reintroduce inherited methods
  177.  */
  178.  
  179. /* method: somGetClass */
  180. M_WPDrives*  somGetClass()
  181. {
  182. /*
  183.  *  Return the receiver's class.
  184.  */
  185.    return SOM_ResolveD(this,WPDrives,SOMObject,somGetClass)
  186.     (this);
  187. }
  188.  
  189.  
  190.  
  191. };   /* WPDrives */
  192.  
  193.  
  194.  
  195. #endif       /* SOM_WPDrives_xh */
  196.  
  197. #ifndef SOM_M_WPDrives_xh
  198. #define SOM_M_WPDrives_xh
  199.  
  200. class M_WPDrives;
  201.  
  202. #define M_WPDrives_MajorVersion 1
  203. #define M_WPDrives_MinorVersion 2
  204.  
  205. /* C++ SOM defs */
  206. #include <somcls.xh>
  207. #include <somcm.xh>
  208.  
  209. /* C++ parent defs */
  210. #ifndef SOM_M_WPFolder_xh
  211. #include <wpfolder.xh>
  212. #endif
  213.  
  214. #ifndef M_WPDrives_API
  215. #define M_WPDrives_API
  216. /*
  217.  * -- The Class API
  218.  */
  219.  
  220. /*
  221.  * Start of bindings for IDL types
  222.  */
  223.  
  224.  
  225. /*
  226.  * End of bindings for IDL types.
  227.  */
  228.  
  229. /*
  230.  * -- M_WPDrives is a metaclass for WPDrives. Make sure WPDrives is known.
  231.  */
  232. class WPDrives;
  233.  
  234.  
  235. /* A procedure to create the M_WPDrives Class */
  236. SOMEXTERN SOMClass * SOMLINK M_WPDrivesNewClass(
  237.         integer4 majorVersion,
  238.         integer4 minorVersion);
  239.  
  240. /* The API to the M_WPDrives class object, and the methods it introduces. */
  241. SOMEXTERN struct M_WPDrivesClassDataStructure {
  242.     SOMClass *classObject;
  243. } SOMDLINK M_WPDrivesClassData;
  244. #define _M_WPDrives M_WPDrivesClassData.classObject
  245.  
  246. /* The API to parentMtabs for M_WPDrives, and the instance data it introduces. */
  247. SOMEXTERN struct M_WPDrivesCClassDataStructure {
  248.     somMethodTabs parentMtab;
  249.     somDToken              instanceDataToken;
  250. } SOMDLINK M_WPDrivesCClassData;
  251.  
  252. /*
  253.  * -- Typedefs for M_WPDrives Method Procedures
  254.  */
  255. SOMEXTERN {
  256.  
  257. /*
  258.  * -- Typedefs for Reintroduced Wrapper Methods
  259.  */
  260. typedef WPDrives*   SOMLINK somTP_M_WPDrives_somNew(M_WPDrives *somSelf);
  261. typedef somTP_M_WPDrives_somNew *somTD_M_WPDrives_somNew;
  262. }
  263.  
  264. #endif /* M_WPDrives_API */
  265.  
  266.  
  267. /*
  268.  * -- This emitter treats Method Tokens as Thunks by default.
  269.  * -- Use the sc modifier "nothunks" to change this default
  270.  */
  271. #undef somresolve_
  272. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  273.  
  274. /*
  275.  * -- The C++ Wrapper Class for M_WPDrives
  276.  */
  277. class M_WPDrives : public M_WPFolder
  278. {
  279. public:
  280.  
  281. // M_WPDrives::new creates the class object if necessary, and then uses somNewNoInit
  282. // to allocate memory and create the object. Initialization is in ctors.
  283. void *operator new(size_t)
  284. {
  285.    if (!_M_WPDrives) M_WPDrivesNewClass(M_WPDrives_MajorVersion,M_WPDrives_MinorVersion);
  286.    return (void*)
  287.       SOM_Resolve(_M_WPDrives,SOMClass,somNewNoInit)
  288.          ((SOMClass *)((void*)_M_WPDrives));
  289. }
  290.  
  291. // M_WPDrives::delete uses somDestruct.
  292. void operator delete(void * obj)
  293. {
  294.    if (obj && *(void**)obj) {
  295.       SOM_Resolve(obj,SOMObject,somDestruct)
  296.          ((SOMObject*)obj, 1, 0);
  297.    }
  298. }
  299.  
  300. M_WPDrives& operator=(M_WPDrives& fromObj)
  301. {
  302.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  303.    return *this;
  304. }
  305.  
  306. M_WPDrives()
  307. {
  308.    if (*(void**)this != 
  309.        ((somParentMtabStructPtr)
  310.         (M_WPDrivesCClassData.parentMtab))->mtab)
  311.       return;
  312.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  313. }
  314.  
  315. M_WPDrives(M_WPDrives* fromObj)
  316. {
  317.    if (*(void**)this != 
  318.        ((somParentMtabStructPtr)
  319.         (M_WPDrivesCClassData.parentMtab))->mtab)
  320.       return;
  321.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  322. }
  323.  
  324. M_WPDrives(const M_WPDrives* fromObj)
  325. {
  326.    if (*(void**)this != 
  327.        ((somParentMtabStructPtr)
  328.         (M_WPDrivesCClassData.parentMtab))->mtab)
  329.       return;
  330.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  331. }
  332.  
  333.  
  334. /*
  335.  * Reintroduce inherited methods
  336.  */
  337.  
  338. /* method: somNew */
  339. WPDrives*  somNew()
  340. {
  341.    return SOM_ResolveD(this,M_WPDrives,SOMClass,somNew)
  342.     (this);
  343. }
  344.  
  345.  
  346.  
  347. };   /* M_WPDrives */
  348.  
  349.  
  350.  
  351. #endif       /* SOM_M_WPDrives_xh */
  352.