home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / WPDATAF.XH < prev    next >
Text File  |  1997-07-09  |  15KB  |  544 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. /* A procedure to create the WPDataFile Class */
  68. class M_WPDataFile;
  69. SOMEXTERN M_WPDataFile * SOMLINK WPDataFileNewClass(
  70.         integer4 majorVersion,
  71.         integer4 minorVersion);
  72.  
  73. /* The API to the WPDataFile class object, and the methods it introduces. */
  74. SOMEXTERN struct WPDataFileClassDataStructure {
  75.     M_WPDataFile *classObject;
  76.     somMToken wpAddFileTypePage;
  77.     somMToken wpPrintMetaFile;
  78.     somMToken wpPrintPifFile;
  79.     somMToken wpPrintPrinterSpecificFile;
  80.     somMToken wpPrintUnknownFile;
  81.     somMToken wpQueryAssociatedProgram;
  82.     somMToken wpSetAssociatedFileIcon;
  83.     somMToken wpQueryAssociatedFileIcon;
  84.     somMToken wpSetContentsFromPointer;
  85.     somMToken wpQueryPointerFromContents;
  86.     somMToken wpSetContentsFromHandle;
  87.     somMToken wpQueryHandleFromContents;
  88.     somMToken wpAddBecomePage;
  89.     somMToken wpRenderFromClipboard;
  90. } SOMDLINK WPDataFileClassData;
  91. #define _WPDataFile WPDataFileClassData.classObject
  92.  
  93. /* The API to parentMtabs for WPDataFile, and the instance data it introduces. */
  94. SOMEXTERN struct WPDataFileCClassDataStructure {
  95.     somMethodTabs parentMtab;
  96.     somDToken              instanceDataToken;
  97. } SOMDLINK WPDataFileCClassData;
  98.  
  99. /*
  100.  * -- Typedefs for WPDataFile Method Procedures
  101.  */
  102. SOMEXTERN {
  103. typedef ULONG   SOMLINK somTP_WPDataFile_wpAddBecomePage(WPDataFile *somSelf, 
  104.         HWND hwndNotebook);
  105. typedef somTP_WPDataFile_wpAddBecomePage *somTD_WPDataFile_wpAddBecomePage;
  106. typedef ULONG   SOMLINK somTP_WPDataFile_wpAddFileTypePage(WPDataFile *somSelf, 
  107.         HWND hwndNotebook);
  108. typedef somTP_WPDataFile_wpAddFileTypePage *somTD_WPDataFile_wpAddFileTypePage;
  109. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintMetaFile(WPDataFile *somSelf, 
  110.         PPRINTDEST pPrintDest);
  111. typedef somTP_WPDataFile_wpPrintMetaFile *somTD_WPDataFile_wpPrintMetaFile;
  112. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintPifFile(WPDataFile *somSelf, 
  113.         PPRINTDEST pPrintDest);
  114. typedef somTP_WPDataFile_wpPrintPifFile *somTD_WPDataFile_wpPrintPifFile;
  115. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintPrinterSpecificFile(WPDataFile *somSelf, 
  116.         PPRINTDEST pPrintDest);
  117. typedef somTP_WPDataFile_wpPrintPrinterSpecificFile *somTD_WPDataFile_wpPrintPrinterSpecificFile;
  118. typedef BOOL   SOMLINK somTP_WPDataFile_wpPrintUnknownFile(WPDataFile *somSelf, 
  119.         PPRINTDEST pPrintDest);
  120. typedef somTP_WPDataFile_wpPrintUnknownFile *somTD_WPDataFile_wpPrintUnknownFile;
  121. typedef WPObject*   SOMLINK somTP_WPDataFile_wpQueryAssociatedProgram(WPDataFile *somSelf, 
  122.         ULONG ulView, 
  123.         PULONG pulHowMatched, 
  124.         PSZ pszMatchString, 
  125.         ULONG cbMatchString, 
  126.         PSZ pszDefaultType);
  127. typedef somTP_WPDataFile_wpQueryAssociatedProgram *somTD_WPDataFile_wpQueryAssociatedProgram;
  128. typedef void   SOMLINK somTP_WPDataFile_wpSetAssociatedFileIcon(WPDataFile *somSelf);
  129. typedef somTP_WPDataFile_wpSetAssociatedFileIcon *somTD_WPDataFile_wpSetAssociatedFileIcon;
  130. typedef HPOINTER   SOMLINK somTP_WPDataFile_wpQueryAssociatedFileIcon(WPDataFile *somSelf);
  131. typedef somTP_WPDataFile_wpQueryAssociatedFileIcon *somTD_WPDataFile_wpQueryAssociatedFileIcon;
  132. typedef BOOL   SOMLINK somTP_WPDataFile_wpSetContentsFromPointer(WPDataFile *somSelf, 
  133.         PVOID pData);
  134. typedef somTP_WPDataFile_wpSetContentsFromPointer *somTD_WPDataFile_wpSetContentsFromPointer;
  135. typedef PVOID   SOMLINK somTP_WPDataFile_wpQueryPointerFromContents(WPDataFile *somSelf);
  136. typedef somTP_WPDataFile_wpQueryPointerFromContents *somTD_WPDataFile_wpQueryPointerFromContents;
  137. typedef BOOL   SOMLINK somTP_WPDataFile_wpSetContentsFromHandle(WPDataFile *somSelf, 
  138.         LHANDLE handle);
  139. typedef somTP_WPDataFile_wpSetContentsFromHandle *somTD_WPDataFile_wpSetContentsFromHandle;
  140. typedef LHANDLE   SOMLINK somTP_WPDataFile_wpQueryHandleFromContents(WPDataFile *somSelf);
  141. typedef somTP_WPDataFile_wpQueryHandleFromContents *somTD_WPDataFile_wpQueryHandleFromContents;
  142. typedef BOOL   SOMLINK somTP_WPDataFile_wpRenderFromClipboard(WPDataFile *somSelf, 
  143.         ULONG aRenderAs);
  144. typedef somTP_WPDataFile_wpRenderFromClipboard *somTD_WPDataFile_wpRenderFromClipboard;
  145.  
  146. /*
  147.  * -- Typedefs for Reintroduced Wrapper Methods
  148.  */
  149. typedef M_WPDataFile*   SOMLINK somTP_WPDataFile_somGetClass(WPDataFile *somSelf);
  150. typedef somTP_WPDataFile_somGetClass *somTD_WPDataFile_somGetClass;
  151. }
  152.  
  153. #endif /* WPDataFile_API */
  154.  
  155.  
  156. /*
  157.  * -- This emitter treats Method Tokens as Thunks by default.
  158.  * -- Use the sc modifier "nothunks" to change this default
  159.  */
  160. #undef somresolve_
  161. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  162.  
  163. /*
  164.  * -- The C++ Wrapper Class for WPDataFile
  165.  */
  166. class WPDataFile : public WPFileSystem
  167. {
  168. public:
  169.  
  170. // WPDataFile::new creates the class object if necessary, and then uses somNewNoInit
  171. // to allocate memory and create the object. Initialization is in ctors.
  172. void *operator new(size_t)
  173. {
  174.    if (!_WPDataFile) WPDataFileNewClass(WPDataFile_MajorVersion,WPDataFile_MinorVersion);
  175.    return (void*)
  176.       SOM_Resolve(_WPDataFile,SOMClass,somNewNoInit)
  177.          ((SOMClass *)((void*)_WPDataFile));
  178. }
  179.  
  180. // WPDataFile::delete uses somDestruct.
  181. void operator delete(void * obj)
  182. {
  183.    if (obj && *(void**)obj) {
  184.       SOM_Resolve(obj,SOMObject,somDestruct)
  185.          ((SOMObject*)obj, 1, 0);
  186.    }
  187. }
  188.  
  189. WPDataFile& operator=(WPDataFile& fromObj)
  190. {
  191.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  192.    return *this;
  193. }
  194.  
  195. WPDataFile()
  196. {
  197.    if (*(void**)this != 
  198.        ((somParentMtabStructPtr)
  199.         (WPDataFileCClassData.parentMtab))->mtab)
  200.       return;
  201.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  202. }
  203.  
  204. WPDataFile(WPDataFile* fromObj)
  205. {
  206.    if (*(void**)this != 
  207.        ((somParentMtabStructPtr)
  208.         (WPDataFileCClassData.parentMtab))->mtab)
  209.       return;
  210.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  211. }
  212.  
  213. WPDataFile(const WPDataFile* fromObj)
  214. {
  215.    if (*(void**)this != 
  216.        ((somParentMtabStructPtr)
  217.         (WPDataFileCClassData.parentMtab))->mtab)
  218.       return;
  219.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  220. }
  221.  
  222.  
  223. /* method: wpAddBecomePage */
  224. ULONG   wpAddBecomePage(HWND hwndNotebook)
  225. {
  226.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpAddBecomePage)
  227.     (this,hwndNotebook);
  228. }
  229.  
  230.  
  231. /* method: wpAddFileTypePage */
  232. ULONG   wpAddFileTypePage(HWND hwndNotebook)
  233. {
  234.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpAddFileTypePage)
  235.     (this,hwndNotebook);
  236. }
  237.  
  238.  
  239. /* method: wpPrintMetaFile */
  240. BOOL   wpPrintMetaFile(PPRINTDEST pPrintDest)
  241. {
  242.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintMetaFile)
  243.     (this,pPrintDest);
  244. }
  245.  
  246.  
  247. /* method: wpPrintPifFile */
  248. BOOL   wpPrintPifFile(PPRINTDEST pPrintDest)
  249. {
  250.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintPifFile)
  251.     (this,pPrintDest);
  252. }
  253.  
  254.  
  255. /* method: wpPrintPrinterSpecificFile */
  256. BOOL   wpPrintPrinterSpecificFile(PPRINTDEST pPrintDest)
  257. {
  258.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintPrinterSpecificFile)
  259.     (this,pPrintDest);
  260. }
  261.  
  262.  
  263. /* method: wpPrintUnknownFile */
  264. BOOL   wpPrintUnknownFile(PPRINTDEST pPrintDest)
  265. {
  266.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpPrintUnknownFile)
  267.     (this,pPrintDest);
  268. }
  269.  
  270.  
  271. /* method: wpQueryAssociatedProgram */
  272. WPObject*   wpQueryAssociatedProgram(ULONG ulView, 
  273.         PULONG pulHowMatched, 
  274.         PSZ pszMatchString, 
  275.         ULONG cbMatchString, 
  276.         PSZ pszDefaultType)
  277. {
  278.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryAssociatedProgram)
  279.     (this,ulView,pulHowMatched,pszMatchString,cbMatchString,pszDefaultType);
  280. }
  281.  
  282.  
  283. /* method: wpSetAssociatedFileIcon */
  284. void   wpSetAssociatedFileIcon()
  285. {
  286.    SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetAssociatedFileIcon)
  287.     (this);
  288. }
  289.  
  290.  
  291. /* method: wpQueryAssociatedFileIcon */
  292. HPOINTER   wpQueryAssociatedFileIcon()
  293. {
  294.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryAssociatedFileIcon)
  295.     (this);
  296. }
  297.  
  298.  
  299. /* method: wpSetContentsFromPointer */
  300. BOOL   wpSetContentsFromPointer(PVOID pData)
  301. {
  302.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetContentsFromPointer)
  303.     (this,pData);
  304. }
  305.  
  306.  
  307. /* method: wpQueryPointerFromContents */
  308. PVOID   wpQueryPointerFromContents()
  309. {
  310.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryPointerFromContents)
  311.     (this);
  312. }
  313.  
  314.  
  315. /* method: wpSetContentsFromHandle */
  316. BOOL   wpSetContentsFromHandle(LHANDLE handle)
  317. {
  318.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpSetContentsFromHandle)
  319.     (this,handle);
  320. }
  321.  
  322.  
  323. /* method: wpQueryHandleFromContents */
  324. LHANDLE   wpQueryHandleFromContents()
  325. {
  326.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpQueryHandleFromContents)
  327.     (this);
  328. }
  329.  
  330.  
  331. /* method: wpRenderFromClipboard */
  332. BOOL   wpRenderFromClipboard(ULONG aRenderAs)
  333. {
  334.    return SOM_ResolveD(this,WPDataFile,WPDataFile,wpRenderFromClipboard)
  335.     (this,aRenderAs);
  336. }
  337.  
  338.  
  339. /*
  340.  * Reintroduce inherited methods
  341.  */
  342.  
  343. /* method: somGetClass */
  344. M_WPDataFile*  somGetClass()
  345. {
  346. /*
  347.  *  Return the receiver's class.
  348.  */
  349.    return SOM_ResolveD(this,WPDataFile,SOMObject,somGetClass)
  350.     (this);
  351. }
  352.  
  353.  
  354.  
  355. };   /* WPDataFile */
  356.  
  357.  
  358.  
  359. #endif       /* SOM_WPDataFile_xh */
  360.  
  361. #ifndef SOM_M_WPDataFile_xh
  362. #define SOM_M_WPDataFile_xh
  363.  
  364. class M_WPDataFile;
  365.  
  366. #define M_WPDataFile_MajorVersion 1
  367. #define M_WPDataFile_MinorVersion 2
  368.  
  369. /* C++ SOM defs */
  370. #include <somcls.xh>
  371. #include <somcm.xh>
  372.  
  373. /* C++ parent defs */
  374. #ifndef SOM_M_WPFileSystem_xh
  375. #include <wpfsys.xh>
  376. #endif
  377.  
  378. #ifndef M_WPDataFile_API
  379. #define M_WPDataFile_API
  380. /*
  381.  * -- The Class API
  382.  */
  383.  
  384. /*
  385.  * Start of bindings for IDL types
  386.  */
  387.  
  388.  
  389. /*
  390.  * End of bindings for IDL types.
  391.  */
  392.  
  393. /*
  394.  * -- M_WPDataFile is a metaclass for WPDataFile. Make sure WPDataFile is known.
  395.  */
  396. class WPDataFile;
  397.  
  398.  
  399. /* A procedure to create the M_WPDataFile Class */
  400. SOMEXTERN SOMClass * SOMLINK M_WPDataFileNewClass(
  401.         integer4 majorVersion,
  402.         integer4 minorVersion);
  403.  
  404. /* The API to the M_WPDataFile class object, and the methods it introduces. */
  405. SOMEXTERN struct M_WPDataFileClassDataStructure {
  406.     SOMClass *classObject;
  407.     somMToken wpclsAddClipboardAssoc;
  408.     somMToken wpclsEnumClipboardClasses;
  409. } SOMDLINK M_WPDataFileClassData;
  410. #define _M_WPDataFile M_WPDataFileClassData.classObject
  411.  
  412. /* The API to parentMtabs for M_WPDataFile, and the instance data it introduces. */
  413. SOMEXTERN struct M_WPDataFileCClassDataStructure {
  414.     somMethodTabs parentMtab;
  415.     somDToken              instanceDataToken;
  416. } SOMDLINK M_WPDataFileCClassData;
  417.  
  418. /*
  419.  * -- Typedefs for M_WPDataFile Method Procedures
  420.  */
  421. SOMEXTERN {
  422. typedef ULONG   SOMLINK somTP_M_WPDataFile_wpclsAddClipboardAssoc(M_WPDataFile *somSelf, 
  423.         ULONG aCBFormat, 
  424.         PSZ pszClassName);
  425. typedef somTP_M_WPDataFile_wpclsAddClipboardAssoc *somTD_M_WPDataFile_wpclsAddClipboardAssoc;
  426. typedef ULONG   SOMLINK somTP_M_WPDataFile_wpclsEnumClipboardClasses(M_WPDataFile *somSelf, 
  427.         ULONG aCBFormat, 
  428.         ULONG aPrevious);
  429. typedef somTP_M_WPDataFile_wpclsEnumClipboardClasses *somTD_M_WPDataFile_wpclsEnumClipboardClasses;
  430.  
  431. /*
  432.  * -- Typedefs for Reintroduced Wrapper Methods
  433.  */
  434. typedef WPDataFile*   SOMLINK somTP_M_WPDataFile_somNew(M_WPDataFile *somSelf);
  435. typedef somTP_M_WPDataFile_somNew *somTD_M_WPDataFile_somNew;
  436. }
  437.  
  438. #endif /* M_WPDataFile_API */
  439.  
  440.  
  441. /*
  442.  * -- This emitter treats Method Tokens as Thunks by default.
  443.  * -- Use the sc modifier "nothunks" to change this default
  444.  */
  445. #undef somresolve_
  446. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  447.  
  448. /*
  449.  * -- The C++ Wrapper Class for M_WPDataFile
  450.  */
  451. class M_WPDataFile : public M_WPFileSystem
  452. {
  453. public:
  454.  
  455. // M_WPDataFile::new creates the class object if necessary, and then uses somNewNoInit
  456. // to allocate memory and create the object. Initialization is in ctors.
  457. void *operator new(size_t)
  458. {
  459.    if (!_M_WPDataFile) M_WPDataFileNewClass(M_WPDataFile_MajorVersion,M_WPDataFile_MinorVersion);
  460.    return (void*)
  461.       SOM_Resolve(_M_WPDataFile,SOMClass,somNewNoInit)
  462.          ((SOMClass *)((void*)_M_WPDataFile));
  463. }
  464.  
  465. // M_WPDataFile::delete uses somDestruct.
  466. void operator delete(void * obj)
  467. {
  468.    if (obj && *(void**)obj) {
  469.       SOM_Resolve(obj,SOMObject,somDestruct)
  470.          ((SOMObject*)obj, 1, 0);
  471.    }
  472. }
  473.  
  474. M_WPDataFile& operator=(M_WPDataFile& fromObj)
  475. {
  476.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  477.    return *this;
  478. }
  479.  
  480. M_WPDataFile()
  481. {
  482.    if (*(void**)this != 
  483.        ((somParentMtabStructPtr)
  484.         (M_WPDataFileCClassData.parentMtab))->mtab)
  485.       return;
  486.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  487. }
  488.  
  489. M_WPDataFile(M_WPDataFile* fromObj)
  490. {
  491.    if (*(void**)this != 
  492.        ((somParentMtabStructPtr)
  493.         (M_WPDataFileCClassData.parentMtab))->mtab)
  494.       return;
  495.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  496. }
  497.  
  498. M_WPDataFile(const M_WPDataFile* fromObj)
  499. {
  500.    if (*(void**)this != 
  501.        ((somParentMtabStructPtr)
  502.         (M_WPDataFileCClassData.parentMtab))->mtab)
  503.       return;
  504.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  505. }
  506.  
  507.  
  508. /* method: wpclsAddClipboardAssoc */
  509. ULONG   wpclsAddClipboardAssoc(ULONG aCBFormat, 
  510.         PSZ pszClassName)
  511. {
  512.    return SOM_ResolveD(this,M_WPDataFile,M_WPDataFile,wpclsAddClipboardAssoc)
  513.     (this,aCBFormat,pszClassName);
  514. }
  515.  
  516.  
  517. /* method: wpclsEnumClipboardClasses */
  518. ULONG   wpclsEnumClipboardClasses(ULONG aCBFormat, 
  519.         ULONG aPrevious)
  520. {
  521.    return SOM_ResolveD(this,M_WPDataFile,M_WPDataFile,wpclsEnumClipboardClasses)
  522.     (this,aCBFormat,aPrevious);
  523. }
  524.  
  525.  
  526. /*
  527.  * Reintroduce inherited methods
  528.  */
  529.  
  530. /* method: somNew */
  531. WPDataFile*  somNew()
  532. {
  533.    return SOM_ResolveD(this,M_WPDataFile,SOMClass,somNew)
  534.     (this);
  535. }
  536.  
  537.  
  538.  
  539. };   /* M_WPDataFile */
  540.  
  541.  
  542.  
  543. #endif       /* SOM_M_WPDataFile_xh */
  544.