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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpdataf.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: WPDATAF
  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_WPDataFile_xh
  23. #define SOM_WPDataFile_xh
  24.  
  25. class WPDataFile;
  26.  
  27. #define WPDataFile_MajorVersion 1
  28. #define WPDataFile_MinorVersion 2
  29.  
  30. /*
  31.  * Passthru lines: File: "C.h", "before"
  32.  */
  33. #define MAX_ASSOC_ITEMS 12
  34.  
  35. /* C++ SOM defs */
  36. #include <somcls.xh>
  37. #include <somcm.xh>
  38.  
  39. /* C++ parent defs */
  40. #ifndef SOM_WPFileSystem_xh
  41. #include <wpfsys.xh>
  42. #endif
  43.  
  44. #ifndef WPDataFile_API
  45. #define WPDataFile_API
  46. /*
  47.  * -- The Class API
  48.  */
  49.  
  50. /*
  51.  * Start of bindings for IDL types
  52.  */
  53.  
  54. class SOMClass;
  55. class SOMObject;
  56. class WPFolder;
  57. class M_WPObject;
  58. class WPObject;
  59. class WPImageFile;
  60. class M_WPFileSystem;
  61. class M_WPDataFile;
  62.  
  63. /*
  64.  * End of bindings for IDL types.
  65.  */
  66.  
  67. /*
  68.  * Passthru lines: File: "C.h", "after"
  69.  */
  70. #define DebugBox(title, text) WinMessageBox(  \            
  71.                                  HWND_DESKTOP, \            
  72.                                  HWND_DESKTOP, \            
  73.                                  (PSZ) text,   \            
  74.                                  (PSZ) title,  \            
  75.                                  0, MB_OK | MB_INFORMATION) 
  76.  
  77. /* A procedure to create the WPDataFile Class */
  78. class M_WPDataFile;
  79. SOMEXTERN M_WPDataFile * SOMLINK WPDataFileNewClass(
  80.         integer4 majorVersion,
  81.         integer4 minorVersion);
  82.  
  83. /* The API to the WPDataFile class object, and the methods it introduces. */
  84. SOMEXTERN struct WPDataFileClassDataStructure {
  85.     M_WPDataFile *classObject;
  86.     somMToken wpAddFileTypePage;
  87.     somMToken wpPrintMetaFile;
  88.     somMToken wpPrintPifFile;
  89.     somMToken wpPrintPrinterSpecificFile;
  90.     somMToken wpPrintUnknownFile;
  91.     somMToken wpQueryAssociatedProgram;
  92.     somMToken wpSetAssociatedFileIcon;
  93.     somMToken wpQueryAssociatedFileIcon;
  94.     somMToken wpSetContentsFromPointer;
  95.     somMToken wpQueryPointerFromContents;
  96.     somMToken wpSetContentsFromHandle;
  97.     somMToken wpQueryHandleFromContents;
  98.     somMToken wpAddBecomePage;
  99.     somMToken wpRenderFromClipboard;
  100.     somMToken undefined1;
  101.     somMToken wpSetDefaultBidiSettings;
  102.     somMToken wpQueryDefaultBidiSettings;
  103.     somMToken SetUpdateIndicator;
  104.     somMToken QueryUpdateIndicator;
  105.     somMToken wpSetBidiValues;
  106.     somMToken wpQueryBidiValues;
  107.     somMToken SetNeedSave;
  108.     somMToken QueryNeedSave;
  109.     somMToken wpInsertBidiPage;
  110.     somMToken wpSaveBidiState;
  111.     somMToken wpRestoreBidiState;
  112.     somMToken wpBidiSetup;
  113.     somMToken wpInitBidiData;
  114.     somMToken hwndSettingsNotebook;
  115.     somMToken wpSettingsNotebook;
  116. } SOMDLINK WPDataFileClassData;
  117. #define _WPDataFile WPDataFileClassData.classObject
  118.  
  119. /* The API to parentMtabs for WPDataFile, and the instance data it introduces. */
  120. SOMEXTERN struct WPDataFileCClassDataStructure {
  121.     somMethodTabs parentMtab;
  122.     somDToken              instanceDataToken;
  123. } SOMDLINK WPDataFileCClassData;
  124.  
  125. /*
  126.  * -- Typedefs for WPDataFile Method Procedures
  127.  */
  128. SOMEXTERN {
  129. typedef ULONG   SOMLINK somTP_WPDataFile_wpAddBecomePage(WPDataFile *somSelf, 
  130.         HWND hwndNotebook);
  131. typedef somTP_WPDataFile_wpAddBecomePage *somTD_WPDataFile_wpAddBecomePage;
  132. typedef ULONG   SOMLINK somTP_WPDataFile_wpAddFileTypePage(WPDataFile *somSelf, 
  133.         HWND hwndNotebook);
  134. typedef somTP_WPDataFile_wpAddFileTypePage *somTD_WPDataFile_wpAddFileTypePage;
  135. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintMetaFile(WPDataFile *somSelf, 
  136.         PPRINTDEST pPrintDest);
  137. typedef somTP_WPDataFile_wpPrintMetaFile *somTD_WPDataFile_wpPrintMetaFile;
  138. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintPifFile(WPDataFile *somSelf, 
  139.         PPRINTDEST pPrintDest);
  140. typedef somTP_WPDataFile_wpPrintPifFile *somTD_WPDataFile_wpPrintPifFile;
  141. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintPrinterSpecificFile(WPDataFile *somSelf, 
  142.         PPRINTDEST pPrintDest);
  143. typedef somTP_WPDataFile_wpPrintPrinterSpecificFile *somTD_WPDataFile_wpPrintPrinterSpecificFile;
  144. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintUnknownFile(WPDataFile *somSelf, 
  145.         PPRINTDEST pPrintDest);
  146. typedef somTP_WPDataFile_wpPrintUnknownFile *somTD_WPDataFile_wpPrintUnknownFile;
  147. typedef WPObject*   SOMLINK somTP_WPDataFile_wpQueryAssociatedProgram(WPDataFile *somSelf, 
  148.         ULONG ulView, 
  149.         PULONG pulHowMatched, 
  150.         PSZ pszMatchString, 
  151.         ULONG cbMatchString, 
  152.         PSZ pszDefaultType);
  153. typedef somTP_WPDataFile_wpQueryAssociatedProgram *somTD_WPDataFile_wpQueryAssociatedProgram;
  154. typedef void   SOMLINK somTP_WPDataFile_wpSetAssociatedFileIcon(WPDataFile *somSelf);
  155. typedef somTP_WPDataFile_wpSetAssociatedFileIcon *somTD_WPDataFile_wpSetAssociatedFileIcon;
  156. typedef HPOINTER   SOMLINK somTP_WPDataFile_wpQueryAssociatedFileIcon(WPDataFile *somSelf);
  157. typedef somTP_WPDataFile_wpQueryAssociatedFileIcon *somTD_WPDataFile_wpQueryAssociatedFileIcon;
  158. typedef BOOL   SOMLINK somTP_WPDataFile_wpSetContentsFromPointer(WPDataFile *somSelf, 
  159.         PVOID pData);
  160. typedef somTP_WPDataFile_wpSetContentsFromPointer *somTD_WPDataFile_wpSetContentsFromPointer;
  161. typedef PVOID   SOMLINK somTP_WPDataFile_wpQueryPointerFromContents(WPDataFile *somSelf);
  162. typedef somTP_WPDataFile_wpQueryPointerFromContents *somTD_WPDataFile_wpQueryPointerFromContents;
  163. typedef BOOL   SOMLINK somTP_WPDataFile_wpSetContentsFromHandle(WPDataFile *somSelf, 
  164.         LHANDLE handle);
  165. typedef somTP_WPDataFile_wpSetContentsFromHandle *somTD_WPDataFile_wpSetContentsFromHandle;
  166. typedef LHANDLE   SOMLINK somTP_WPDataFile_wpQueryHandleFromContents(WPDataFile *somSelf);
  167. typedef somTP_WPDataFile_wpQueryHandleFromContents *somTD_WPDataFile_wpQueryHandleFromContents;
  168. typedef BOOL   SOMLINK somTP_WPDataFile_wpRenderFromClipboard(WPDataFile *somSelf, 
  169.         ULONG aRenderAs);
  170. typedef somTP_WPDataFile_wpRenderFromClipboard *somTD_WPDataFile_wpRenderFromClipboard;
  171. typedef void   SOMLINK somTP_WPDataFile_SetUpdateIndicator(WPDataFile *somSelf, 
  172.         ULONG ulBidiSetting, 
  173.         BOOL flSet);
  174. typedef somTP_WPDataFile_SetUpdateIndicator *somTD_WPDataFile_SetUpdateIndicator;
  175. typedef BOOL   SOMLINK somTP_WPDataFile_QueryUpdateIndicator(WPDataFile *somSelf, 
  176.         ULONG ulBidiSetting);
  177. typedef somTP_WPDataFile_QueryUpdateIndicator *somTD_WPDataFile_QueryUpdateIndicator;
  178. typedef void   SOMLINK somTP_WPDataFile_SetNeedSave(WPDataFile *somSelf, 
  179.         BOOL flNeedSave);
  180. typedef somTP_WPDataFile_SetNeedSave *somTD_WPDataFile_SetNeedSave;
  181. typedef BOOL   SOMLINK somTP_WPDataFile_QueryNeedSave(WPDataFile *somSelf);
  182. typedef somTP_WPDataFile_QueryNeedSave *somTD_WPDataFile_QueryNeedSave;
  183. typedef void   SOMLINK somTP_WPDataFile_wpSetDefaultBidiSettings(WPDataFile *somSelf, 
  184.         ULONG ulBidiSetting, 
  185.         BOOL flSet);
  186. typedef somTP_WPDataFile_wpSetDefaultBidiSettings *somTD_WPDataFile_wpSetDefaultBidiSettings;
  187. typedef BOOL   SOMLINK somTP_WPDataFile_wpQueryDefaultBidiSettings(WPDataFile *somSelf, 
  188.         ULONG ulBidiSetting);
  189. typedef somTP_WPDataFile_wpQueryDefaultBidiSettings *somTD_WPDataFile_wpQueryDefaultBidiSettings;
  190. typedef void   SOMLINK somTP_WPDataFile_wpSetBidiValues(WPDataFile *somSelf, 
  191.         ULONG ulBidiSetting, 
  192.         ULONG ulBidiValue, 
  193.         ULONG ulBidiMask);
  194. typedef somTP_WPDataFile_wpSetBidiValues *somTD_WPDataFile_wpSetBidiValues;
  195. typedef ULONG   SOMLINK somTP_WPDataFile_wpQueryBidiValues(WPDataFile *somSelf, 
  196.         ULONG ulBidiSetting);
  197. typedef somTP_WPDataFile_wpQueryBidiValues *somTD_WPDataFile_wpQueryBidiValues;
  198. typedef BOOL   SOMLINK somTP_WPDataFile_wpInsertBidiPage(WPDataFile *somSelf, 
  199.         HWND hwndNotebook, 
  200.         ULONG ulBidiSettings);
  201. typedef somTP_WPDataFile_wpInsertBidiPage *somTD_WPDataFile_wpInsertBidiPage;
  202. typedef BOOL   SOMLINK somTP_WPDataFile_wpSaveBidiState(WPDataFile *somSelf);
  203. typedef somTP_WPDataFile_wpSaveBidiState *somTD_WPDataFile_wpSaveBidiState;
  204. typedef BOOL   SOMLINK somTP_WPDataFile_wpRestoreBidiState(WPDataFile *somSelf, 
  205.         ULONG ulReserved);
  206. typedef somTP_WPDataFile_wpRestoreBidiState *somTD_WPDataFile_wpRestoreBidiState;
  207. typedef void   SOMLINK somTP_WPDataFile_wpInitBidiData(WPDataFile *somSelf);
  208. typedef somTP_WPDataFile_wpInitBidiData *somTD_WPDataFile_wpInitBidiData;
  209. typedef BOOL   SOMLINK somTP_WPDataFile_wpBidiSetup(WPDataFile *somSelf, 
  210.         PSZ pszSetupString);
  211. typedef somTP_WPDataFile_wpBidiSetup *somTD_WPDataFile_wpBidiSetup;
  212. typedef HWND   SOMLINK somTP_WPDataFile_wpSettingsNotebook(WPDataFile *somSelf);
  213. typedef somTP_WPDataFile_wpSettingsNotebook *somTD_WPDataFile_wpSettingsNotebook;
  214.  
  215. /*
  216.  * -- Typedefs for Reintroduced Wrapper Methods
  217.  */
  218. typedef M_WPDataFile*   SOMLINK somTP_WPDataFile_somGetClass(WPDataFile *somSelf);
  219. typedef somTP_WPDataFile_somGetClass *somTD_WPDataFile_somGetClass;
  220. }
  221.  
  222. #endif /* WPDataFile_API */
  223.  
  224.  
  225. /*
  226.  * -- This emitter treats Method Tokens as Thunks by default.
  227.  * -- Use the sc modifier "nothunks" to change this default
  228.  */
  229. #undef somresolve_
  230. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  231.  
  232. /*
  233.  * -- The C++ Wrapper Class for WPDataFile
  234.  */
  235. class WPDataFile : public WPFileSystem
  236. {
  237. public:
  238.  
  239. // WPDataFile::new creates the class object if necessary, and then uses somNewNoInit
  240. // to allocate memory and create the object. Initialization is in ctors.
  241. void *operator new(size_t)
  242. {
  243.    if (!_WPDataFile) WPDataFileNewClass(WPDataFile_MajorVersion,WPDataFile_MinorVersion);
  244.    return (void*)
  245.       SOM_Resolve(_WPDataFile,SOMClass,somNewNoInit)
  246.          ((SOMClass *)((void*)_WPDataFile));
  247. }
  248.  
  249. // WPDataFile::delete uses somDestruct.
  250. void operator delete(void * obj)
  251. {
  252.    if (obj && *(void**)obj) {
  253.       SOM_Resolve(obj,SOMObject,somDestruct)
  254.          ((SOMObject*)obj, 1, 0);
  255.    }
  256. }
  257.  
  258. WPDataFile& operator=(WPDataFile& fromObj)
  259. {
  260.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  261.    return *this;
  262. }
  263.  
  264. WPDataFile()
  265. {
  266.    if (*(void**)this != 
  267.        ((somParentMtabStructPtr)
  268.         (WPDataFileCClassData.parentMtab))->mtab)
  269.       return;
  270.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  271. }
  272.  
  273. WPDataFile(WPDataFile* fromObj)
  274. {
  275.    if (*(void**)this != 
  276.        ((somParentMtabStructPtr)
  277.         (WPDataFileCClassData.parentMtab))->mtab)
  278.       return;
  279.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  280. }
  281.  
  282. WPDataFile(const WPDataFile* fromObj)
  283. {
  284.    if (*(void**)this != 
  285.        ((somParentMtabStructPtr)
  286.         (WPDataFileCClassData.parentMtab))->mtab)
  287.       return;
  288.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  289. }
  290.  
  291.  
  292. /* method: wpAddBecomePage */
  293. ULONG   wpAddBecomePage(HWND hwndNotebook)
  294. {
  295.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpAddBecomePage)
  296.     (this,hwndNotebook);
  297. }
  298.  
  299.  
  300. /* method: wpAddFileTypePage */
  301. ULONG   wpAddFileTypePage(HWND hwndNotebook)
  302. {
  303.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpAddFileTypePage)
  304.     (this,hwndNotebook);
  305. }
  306.  
  307.  
  308. /* method: wpPrintMetaFile */
  309. BOOL   wpPrintMetaFile(PPRINTDEST pPrintDest)
  310. {
  311.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintMetaFile)
  312.     (this,pPrintDest);
  313. }
  314.  
  315.  
  316. /* method: wpPrintPifFile */
  317. BOOL   wpPrintPifFile(PPRINTDEST pPrintDest)
  318. {
  319.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintPifFile)
  320.     (this,pPrintDest);
  321. }
  322.  
  323.  
  324. /* method: wpPrintPrinterSpecificFile */
  325. BOOL   wpPrintPrinterSpecificFile(PPRINTDEST pPrintDest)
  326. {
  327.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintPrinterSpecificFile)
  328.     (this,pPrintDest);
  329. }
  330.  
  331.  
  332. /* method: wpPrintUnknownFile */
  333. BOOL   wpPrintUnknownFile(PPRINTDEST pPrintDest)
  334. {
  335.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintUnknownFile)
  336.     (this,pPrintDest);
  337. }
  338.  
  339.  
  340. /* method: wpQueryAssociatedProgram */
  341. WPObject*   wpQueryAssociatedProgram(ULONG ulView, 
  342.         PULONG pulHowMatched, 
  343.         PSZ pszMatchString, 
  344.         ULONG cbMatchString, 
  345.         PSZ pszDefaultType)
  346. {
  347.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryAssociatedProgram)
  348.     (this,ulView,pulHowMatched,pszMatchString,cbMatchString,pszDefaultType);
  349. }
  350.  
  351.  
  352. /* method: wpSetAssociatedFileIcon */
  353. void   wpSetAssociatedFileIcon()
  354. {
  355.    SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetAssociatedFileIcon)
  356.     (this);
  357. }
  358.  
  359.  
  360. /* method: wpQueryAssociatedFileIcon */
  361. HPOINTER   wpQueryAssociatedFileIcon()
  362. {
  363.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryAssociatedFileIcon)
  364.     (this);
  365. }
  366.  
  367.  
  368. /* method: wpSetContentsFromPointer */
  369. BOOL   wpSetContentsFromPointer(PVOID pData)
  370. {
  371.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetContentsFromPointer)
  372.     (this,pData);
  373. }
  374.  
  375.  
  376. /* method: wpQueryPointerFromContents */
  377. PVOID   wpQueryPointerFromContents()
  378. {
  379.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryPointerFromContents)
  380.     (this);
  381. }
  382.  
  383.  
  384. /* method: wpSetContentsFromHandle */
  385. BOOL   wpSetContentsFromHandle(LHANDLE handle)
  386. {
  387.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetContentsFromHandle)
  388.     (this,handle);
  389. }
  390.  
  391.  
  392. /* method: wpQueryHandleFromContents */
  393. LHANDLE   wpQueryHandleFromContents()
  394. {
  395.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryHandleFromContents)
  396.     (this);
  397. }
  398.  
  399.  
  400. /* method: wpRenderFromClipboard */
  401. BOOL   wpRenderFromClipboard(ULONG aRenderAs)
  402. {
  403.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpRenderFromClipboard)
  404.     (this,aRenderAs);
  405. }
  406.  
  407.  
  408. /* method: SetUpdateIndicator */
  409. void   SetUpdateIndicator(ULONG ulBidiSetting, 
  410.         BOOL flSet)
  411. {
  412.    SOM_ResolveD(this,WPDataFile,WPDataFile,SetUpdateIndicator)
  413.     (this,ulBidiSetting,flSet);
  414. }
  415.  
  416.  
  417. /* method: QueryUpdateIndicator */
  418. BOOL   QueryUpdateIndicator(ULONG ulBidiSetting)
  419. {
  420.    return SOM_ResolveD(this,WPDataFile,WPDataFile,QueryUpdateIndicator)
  421.     (this,ulBidiSetting);
  422. }
  423.  
  424.  
  425. /* method: SetNeedSave */
  426. void   SetNeedSave(BOOL flNeedSave)
  427. {
  428.    SOM_ResolveD(this,WPDataFile,WPDataFile,SetNeedSave)
  429.     (this,flNeedSave);
  430. }
  431.  
  432.  
  433. /* method: QueryNeedSave */
  434. BOOL   QueryNeedSave()
  435. {
  436.    return SOM_ResolveD(this,WPDataFile,WPDataFile,QueryNeedSave)
  437.     (this);
  438. }
  439.  
  440.  
  441. /* method: wpSetDefaultBidiSettings */
  442. void   wpSetDefaultBidiSettings(ULONG ulBidiSetting, 
  443.         BOOL flSet)
  444. {
  445.    SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetDefaultBidiSettings)
  446.     (this,ulBidiSetting,flSet);
  447. }
  448.  
  449.  
  450. /* method: wpQueryDefaultBidiSettings */
  451. BOOL   wpQueryDefaultBidiSettings(ULONG ulBidiSetting)
  452. {
  453.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryDefaultBidiSettings)
  454.     (this,ulBidiSetting);
  455. }
  456.  
  457.  
  458. /* method: wpSetBidiValues */
  459. void   wpSetBidiValues(ULONG ulBidiSetting, 
  460.         ULONG ulBidiValue, 
  461.         ULONG ulBidiMask)
  462. {
  463.    SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetBidiValues)
  464.     (this,ulBidiSetting,ulBidiValue,ulBidiMask);
  465. }
  466.  
  467.  
  468. /* method: wpQueryBidiValues */
  469. ULONG   wpQueryBidiValues(ULONG ulBidiSetting)
  470. {
  471.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryBidiValues)
  472.     (this,ulBidiSetting);
  473. }
  474.  
  475.  
  476. /* method: wpInsertBidiPage */
  477. BOOL   wpInsertBidiPage(HWND hwndNotebook, 
  478.         ULONG ulBidiSettings)
  479. {
  480.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpInsertBidiPage)
  481.     (this,hwndNotebook,ulBidiSettings);
  482. }
  483.  
  484.  
  485. /* method: wpSaveBidiState */
  486. BOOL   wpSaveBidiState()
  487. {
  488.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSaveBidiState)
  489.     (this);
  490. }
  491.  
  492.  
  493. /* method: wpRestoreBidiState */
  494. BOOL   wpRestoreBidiState(ULONG ulReserved)
  495. {
  496.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpRestoreBidiState)
  497.     (this,ulReserved);
  498. }
  499.  
  500.  
  501. /* method: wpInitBidiData */
  502. void   wpInitBidiData()
  503. {
  504.    SOM_ResolveD(this,WPDataFile,WPDataFile,wpInitBidiData)
  505.     (this);
  506. }
  507.  
  508.  
  509. /* method: wpBidiSetup */
  510. BOOL   wpBidiSetup(PSZ pszSetupString)
  511. {
  512.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpBidiSetup)
  513.     (this,pszSetupString);
  514. }
  515.  
  516.  
  517. /* method: wpSettingsNotebook */
  518. HWND   wpSettingsNotebook()
  519. {
  520.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSettingsNotebook)
  521.     (this);
  522. }
  523.  
  524.  
  525. /*
  526.  * Reintroduce inherited methods
  527.  */
  528.  
  529. /* method: somGetClass */
  530. M_WPDataFile*  somGetClass()
  531. {
  532. /*
  533.  *  Return the receiver's class.
  534.  */
  535.    return SOM_ResolveD(this,WPDataFile,SOMObject,somGetClass)
  536.     (this);
  537. }
  538.  
  539.  
  540.  
  541. };   /* WPDataFile */
  542.  
  543.  
  544.  
  545. #endif       /* SOM_WPDataFile_xh */
  546.  
  547. #ifndef SOM_M_WPDataFile_xh
  548. #define SOM_M_WPDataFile_xh
  549.  
  550. class M_WPDataFile;
  551.  
  552. #define M_WPDataFile_MajorVersion 1
  553. #define M_WPDataFile_MinorVersion 2
  554.  
  555. /* C++ SOM defs */
  556. #include <somcls.xh>
  557. #include <somcm.xh>
  558.  
  559. /* C++ parent defs */
  560. #ifndef SOM_M_WPFileSystem_xh
  561. #include <wpfsys.xh>
  562. #endif
  563.  
  564. #ifndef M_WPDataFile_API
  565. #define M_WPDataFile_API
  566. /*
  567.  * -- The Class API
  568.  */
  569.  
  570. /*
  571.  * Start of bindings for IDL types
  572.  */
  573.  
  574.  
  575. /*
  576.  * End of bindings for IDL types.
  577.  */
  578.  
  579. /*
  580.  * -- M_WPDataFile is a metaclass for WPDataFile. Make sure WPDataFile is known.
  581.  */
  582. class WPDataFile;
  583.  
  584.  
  585. /* A procedure to create the M_WPDataFile Class */
  586. SOMEXTERN SOMClass * SOMLINK M_WPDataFileNewClass(
  587.         integer4 majorVersion,
  588.         integer4 minorVersion);
  589.  
  590. /* The API to the M_WPDataFile class object, and the methods it introduces. */
  591. SOMEXTERN struct M_WPDataFileClassDataStructure {
  592.     SOMClass *classObject;
  593.     somMToken wpclsAddClipboardAssoc;
  594.     somMToken wpclsEnumClipboardClasses;
  595. } SOMDLINK M_WPDataFileClassData;
  596. #define _M_WPDataFile M_WPDataFileClassData.classObject
  597.  
  598. /* The API to parentMtabs for M_WPDataFile, and the instance data it introduces. */
  599. SOMEXTERN struct M_WPDataFileCClassDataStructure {
  600.     somMethodTabs parentMtab;
  601.     somDToken              instanceDataToken;
  602. } SOMDLINK M_WPDataFileCClassData;
  603.  
  604. /*
  605.  * -- Typedefs for M_WPDataFile Method Procedures
  606.  */
  607. SOMEXTERN {
  608. typedef ULONG   SOMLINK somTP_M_WPDataFile_wpclsAddClipboardAssoc(M_WPDataFile *somSelf, 
  609.         ULONG aCBFormat, 
  610.         PSZ pszClassName);
  611. typedef somTP_M_WPDataFile_wpclsAddClipboardAssoc *somTD_M_WPDataFile_wpclsAddClipboardAssoc;
  612. typedef ULONG   SOMLINK somTP_M_WPDataFile_wpclsEnumClipboardClasses(M_WPDataFile *somSelf, 
  613.         ULONG aCBFormat, 
  614.         ULONG aPrevious);
  615. typedef somTP_M_WPDataFile_wpclsEnumClipboardClasses *somTD_M_WPDataFile_wpclsEnumClipboardClasses;
  616.  
  617. /*
  618.  * -- Typedefs for Reintroduced Wrapper Methods
  619.  */
  620. typedef WPDataFile*   SOMLINK somTP_M_WPDataFile_somNew(M_WPDataFile *somSelf);
  621. typedef somTP_M_WPDataFile_somNew *somTD_M_WPDataFile_somNew;
  622. }
  623.  
  624. #endif /* M_WPDataFile_API */
  625.  
  626.  
  627. /*
  628.  * -- This emitter treats Method Tokens as Thunks by default.
  629.  * -- Use the sc modifier "nothunks" to change this default
  630.  */
  631. #undef somresolve_
  632. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  633.  
  634. /*
  635.  * -- The C++ Wrapper Class for M_WPDataFile
  636.  */
  637. class M_WPDataFile : public M_WPFileSystem
  638. {
  639. public:
  640.  
  641. // M_WPDataFile::new creates the class object if necessary, and then uses somNewNoInit
  642. // to allocate memory and create the object. Initialization is in ctors.
  643. void *operator new(size_t)
  644. {
  645.    if (!_M_WPDataFile) M_WPDataFileNewClass(M_WPDataFile_MajorVersion,M_WPDataFile_MinorVersion);
  646.    return (void*)
  647.       SOM_Resolve(_M_WPDataFile,SOMClass,somNewNoInit)
  648.          ((SOMClass *)((void*)_M_WPDataFile));
  649. }
  650.  
  651. // M_WPDataFile::delete uses somDestruct.
  652. void operator delete(void * obj)
  653. {
  654.    if (obj && *(void**)obj) {
  655.       SOM_Resolve(obj,SOMObject,somDestruct)
  656.          ((SOMObject*)obj, 1, 0);
  657.    }
  658. }
  659.  
  660. M_WPDataFile& operator=(M_WPDataFile& fromObj)
  661. {
  662.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  663.    return *this;
  664. }
  665.  
  666. M_WPDataFile()
  667. {
  668.    if (*(void**)this != 
  669.        ((somParentMtabStructPtr)
  670.         (M_WPDataFileCClassData.parentMtab))->mtab)
  671.       return;
  672.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  673. }
  674.  
  675. M_WPDataFile(M_WPDataFile* fromObj)
  676. {
  677.    if (*(void**)this != 
  678.        ((somParentMtabStructPtr)
  679.         (M_WPDataFileCClassData.parentMtab))->mtab)
  680.       return;
  681.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  682. }
  683.  
  684. M_WPDataFile(const M_WPDataFile* fromObj)
  685. {
  686.    if (*(void**)this != 
  687.        ((somParentMtabStructPtr)
  688.         (M_WPDataFileCClassData.parentMtab))->mtab)
  689.       return;
  690.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  691. }
  692.  
  693.  
  694. /* method: wpclsAddClipboardAssoc */
  695. ULONG   wpclsAddClipboardAssoc(ULONG aCBFormat, 
  696.         PSZ pszClassName)
  697. {
  698.    return SOM_ResolveD(this,M_WPDataFile,M_WPDataFile,wpclsAddClipboardAssoc)
  699.     (this,aCBFormat,pszClassName);
  700. }
  701.  
  702.  
  703. /* method: wpclsEnumClipboardClasses */
  704. ULONG   wpclsEnumClipboardClasses(ULONG aCBFormat, 
  705.         ULONG aPrevious)
  706. {
  707.    return SOM_ResolveD(this,M_WPDataFile,M_WPDataFile,wpclsEnumClipboardClasses)
  708.     (this,aCBFormat,aPrevious);
  709. }
  710.  
  711.  
  712. /*
  713.  * Reintroduce inherited methods
  714.  */
  715.  
  716. /* method: somNew */
  717. WPDataFile*  somNew()
  718. {
  719.    return SOM_ResolveD(this,M_WPDataFile,SOMClass,somNew)
  720.     (this);
  721. }
  722.  
  723.  
  724.  
  725. };   /* M_WPDataFile */
  726.  
  727.  
  728.  
  729. #endif       /* SOM_M_WPDataFile_xh */
  730.