home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / tlktbeta / samples / wpstutor / wpstutor.ih < prev    next >
Encoding:
Text File  |  1993-07-13  |  72.2 KB  |  2,047 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: wpstutor.ih.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emitih: 1.59
  8.  */
  9.  
  10. /*
  11.  * 
  12.  * 
  13.  * 
  14.  *   Module Name: WPSTUTOR
  15.  * 
  16.  *   Description: OS/2 Work Place Shell Sample Program
  17.  * 
  18.  *                This class subclasses the WPDataFile class.  Most WPS
  19.  *                instance and class methods are overridden to invoke
  20.  *                'DisplayMethodInfo'.  This function uses a named pipe
  21.  *                to communicate with the 'Show Method Description'
  22.  *                (SHOWDESC.EXE) program, which displays the name and a
  23.  *                description of the method that invoked
  24.  *                'DisplayMethodInfo'.
  25.  * 
  26.  *   Copyright (C) 1993 IBM Corporation
  27.  * 
  28.  *       DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
  29.  *       sample code created by IBM Corporation. This sample code is not
  30.  *       part of any standard or IBM product and is provided to you solely
  31.  *       for  the purpose of assisting you in the development of your
  32.  *       applications.  The code is provided "AS IS", without
  33.  *       warranty of any kind.  IBM shall not be liable for any damages
  34.  *       arising out of your use of the sample code, even if they have been
  35.  *       advised of the possibility of such damages.
  36.  * 
  37.  */
  38.  
  39.  
  40. #ifndef wpstutor_ih
  41. #define wpstutor_ih
  42.  
  43.  
  44. /*
  45.  * Passthru lines: File: "C.ih", "before"
  46.  */
  47.  
  48. #define INCL_WIN
  49. #define INCL_DOS
  50. #define INCL_WPCLASS
  51.  
  52. #include <os2.h>
  53. #include <stdlib.h>
  54. #include <string.h>
  55.  
  56. /*
  57. **   The following user-defined Popup menu items (ID_xxx) should be higher
  58. **   than WPMENUID_USER.
  59. **
  60. **   The ID_OPENMENU will become a submenu of the system's popup open menu
  61. **   id, WPMENUID_OPEN.
  62. */
  63. #define ID_OPENMENU     (WPMENUID_USER+1)   /* "Open" item in context menu   */
  64. #define IDM_OPENTUT     (WPMENUID_USER+2)   /* "Open tutorial" item added    */
  65.                                             /*   to "Open" menu              */
  66. #define ID_ICON         101                 /* Icon for the WPSTutorial class*/
  67.  
  68. /*
  69. **  Window IDs
  70. */
  71. #define ID_FRAME        3000                /* Client window ID for the      */
  72.                                             /*   "open" view                 */
  73. /*
  74. **  Unique view IDs
  75. */
  76. #define OPEN_TUTORIAL   ID_OPENMENU         /* "Open tutorial" view ID       */
  77.  
  78.  
  79. #include "wpstutor.h"
  80.  
  81. /*
  82.  * Set the scope of methods functions
  83.  */
  84. #ifndef SOM_Scope
  85. #ifdef __cplusplus
  86. #define SOM_Scope extern "C"
  87. #else
  88. #define SOM_Scope extern
  89. #endif
  90. #endif
  91.  
  92. #ifndef SOM_CurrentClass
  93. #define SOM_CurrentClass WPSTutorialCClassData.parentMtab
  94. #endif
  95.  
  96. #define WPSTutorial_MaxNoMethods 1
  97.  
  98. /*
  99.  * Instance data
  100.  */
  101. typedef void WPSTutorialData;
  102.  
  103. /*
  104.  * Trace/Debug macro
  105.  */
  106. #ifndef WPSTutorialMethodDebug
  107. #define WPSTutorialMethodDebug(c,m) SOMMethodDebug(c,m)
  108. #endif
  109.  
  110. /*
  111.  * Begin stuff that only goes in the primary file
  112.  */
  113. #ifdef WPSTutorial_Class_Source
  114.  
  115. /*
  116.  * Current class macros for Instance and Meta classes.
  117.  */
  118. #undef SOMMeta
  119. #define SOMMeta M_WPSTutorialCClassData.parentMtab
  120. #undef SOMInstance
  121. #define SOMInstance WPSTutorialCClassData.parentMtab
  122.  
  123. #ifndef M_WPSTutorial_Class_Source
  124. #define M_WPSTutorial_Class_Source
  125. #endif    /* M_WPSTutorial_Class_Source */
  126.  
  127. /*
  128.  * Generate the Apply Stubs.
  129.  */
  130. #pragma linkage(somAP_DisplayTitleInfo, system)
  131. static HWND   SOMLINK somAP_DisplayTitleInfo(WPSTutorial *somSelf,
  132.         somId __id,
  133.         somId __desc,
  134.         va_list __ap)
  135. {
  136.     __ap; __id; __desc;           /* Referenced to prevent warning msg */
  137.  
  138.     return (WPSTutorial_DisplayTitleInfo(somSelf));
  139. }
  140.  
  141.  
  142. /*
  143.  * Overridden method: wpAddFileMenuPage
  144.  */
  145. #pragma linkage(wpstut_wpAddFileMenuPage, system)
  146. SOM_Scope ULONG   SOMLINK wpstut_wpAddFileMenuPage(WPSTutorial *somSelf,
  147.         HWND hwndNotebook);
  148. #ifndef parent_wpAddFileMenuPage
  149. static char *somMN_wpAddFileMenuPage = "wpAddFileMenuPage";
  150. static somId somId_wpAddFileMenuPage = &somMN_wpAddFileMenuPage;
  151. #define parent_wpAddFileMenuPage(somSelf,hwndNotebook) \
  152.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpAddFileMenuPage)) \
  153.      (somSelf,hwndNotebook))
  154. #endif
  155. #define WPSTutorialParent_wpAddFileMenuPage parent_wpAddFileMenuPage
  156.  
  157. /*
  158.  * Overridden method: wpAddFileTypePage
  159.  */
  160. #pragma linkage(wpstut_wpAddFileTypePage, system)
  161. SOM_Scope ULONG   SOMLINK wpstut_wpAddFileTypePage(WPSTutorial *somSelf,
  162.         HWND hwndNotebook);
  163. #ifndef parent_wpAddFileTypePage
  164. static char *somMN_wpAddFileTypePage = "wpAddFileTypePage";
  165. static somId somId_wpAddFileTypePage = &somMN_wpAddFileTypePage;
  166. #define parent_wpAddFileTypePage(somSelf,hwndNotebook) \
  167.     ((SOM_ParentResolveE(WPDataFile, SOM_CurrentClass, wpAddFileTypePage)) \
  168.      (somSelf,hwndNotebook))
  169. #endif
  170. #define WPSTutorialParent_wpAddFileTypePage parent_wpAddFileTypePage
  171.  
  172. /*
  173.  * Overridden method: wpAddFile1Page
  174.  */
  175. #pragma linkage(wpstut_wpAddFile1Page, system)
  176. SOM_Scope ULONG   SOMLINK wpstut_wpAddFile1Page(WPSTutorial *somSelf,
  177.         HWND hwndNotebook);
  178. #ifndef parent_wpAddFile1Page
  179. static char *somMN_wpAddFile1Page = "wpAddFile1Page";
  180. static somId somId_wpAddFile1Page = &somMN_wpAddFile1Page;
  181. #define parent_wpAddFile1Page(somSelf,hwndNotebook) \
  182.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpAddFile1Page)) \
  183.      (somSelf,hwndNotebook))
  184. #endif
  185. #define WPSTutorialParent_wpAddFile1Page parent_wpAddFile1Page
  186.  
  187. /*
  188.  * Overridden method: wpAddFile2Page
  189.  */
  190. #pragma linkage(wpstut_wpAddFile2Page, system)
  191. SOM_Scope ULONG   SOMLINK wpstut_wpAddFile2Page(WPSTutorial *somSelf,
  192.         HWND hwndNotebook);
  193. #ifndef parent_wpAddFile2Page
  194. static char *somMN_wpAddFile2Page = "wpAddFile2Page";
  195. static somId somId_wpAddFile2Page = &somMN_wpAddFile2Page;
  196. #define parent_wpAddFile2Page(somSelf,hwndNotebook) \
  197.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpAddFile2Page)) \
  198.      (somSelf,hwndNotebook))
  199. #endif
  200. #define WPSTutorialParent_wpAddFile2Page parent_wpAddFile2Page
  201.  
  202. /*
  203.  * Overridden method: wpAddFile3Page
  204.  */
  205. #pragma linkage(wpstut_wpAddFile3Page, system)
  206. SOM_Scope ULONG   SOMLINK wpstut_wpAddFile3Page(WPSTutorial *somSelf,
  207.         HWND hwndNotebook);
  208. #ifndef parent_wpAddFile3Page
  209. static char *somMN_wpAddFile3Page = "wpAddFile3Page";
  210. static somId somId_wpAddFile3Page = &somMN_wpAddFile3Page;
  211. #define parent_wpAddFile3Page(somSelf,hwndNotebook) \
  212.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpAddFile3Page)) \
  213.      (somSelf,hwndNotebook))
  214. #endif
  215. #define WPSTutorialParent_wpAddFile3Page parent_wpAddFile3Page
  216.  
  217. /*
  218.  * Overridden method: wpAddObjectGeneralPage
  219.  */
  220. #pragma linkage(wpstut_wpAddObjectGeneralPage, system)
  221. SOM_Scope ULONG   SOMLINK wpstut_wpAddObjectGeneralPage(WPSTutorial *somSelf,
  222.         HWND hwndNotebook);
  223. #ifndef parent_wpAddObjectGeneralPage
  224. static char *somMN_wpAddObjectGeneralPage = "wpAddObjectGeneralPage";
  225. static somId somId_wpAddObjectGeneralPage = &somMN_wpAddObjectGeneralPage;
  226. #define parent_wpAddObjectGeneralPage(somSelf,hwndNotebook) \
  227.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpAddObjectGeneralPage)) \
  228.      (somSelf,hwndNotebook))
  229. #endif
  230. #define WPSTutorialParent_wpAddObjectGeneralPage parent_wpAddObjectGeneralPage
  231.  
  232. /*
  233.  * Overridden method: wpAddSettingsPages
  234.  */
  235. #pragma linkage(wpstut_wpAddSettingsPages, system)
  236. SOM_Scope BOOL   SOMLINK wpstut_wpAddSettingsPages(WPSTutorial *somSelf,
  237.         HWND hwndNotebook);
  238. #ifndef parent_wpAddSettingsPages
  239. static char *somMN_wpAddSettingsPages = "wpAddSettingsPages";
  240. static somId somId_wpAddSettingsPages = &somMN_wpAddSettingsPages;
  241. #define parent_wpAddSettingsPages(somSelf,hwndNotebook) \
  242.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpAddSettingsPages)) \
  243.      (somSelf,hwndNotebook))
  244. #endif
  245. #define WPSTutorialParent_wpAddSettingsPages parent_wpAddSettingsPages
  246.  
  247. /*
  248.  * Overridden method: wpAddToObjUseList
  249.  */
  250. #pragma linkage(wpstut_wpAddToObjUseList, system)
  251. SOM_Scope BOOL   SOMLINK wpstut_wpAddToObjUseList(WPSTutorial *somSelf,
  252.         PUSEITEM pUseItem);
  253. #ifndef parent_wpAddToObjUseList
  254. static char *somMN_wpAddToObjUseList = "wpAddToObjUseList";
  255. static somId somId_wpAddToObjUseList = &somMN_wpAddToObjUseList;
  256. #define parent_wpAddToObjUseList(somSelf,pUseItem) \
  257.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpAddToObjUseList)) \
  258.      (somSelf,pUseItem))
  259. #endif
  260. #define WPSTutorialParent_wpAddToObjUseList parent_wpAddToObjUseList
  261.  
  262. /*
  263.  * Overridden method: wpAllocMem
  264.  */
  265. #pragma linkage(wpstut_wpAllocMem, system)
  266. SOM_Scope PBYTE   SOMLINK wpstut_wpAllocMem(WPSTutorial *somSelf,
  267.         ULONG cbBytes,
  268.         PULONG prc);
  269. #ifndef parent_wpAllocMem
  270. static char *somMN_wpAllocMem = "wpAllocMem";
  271. static somId somId_wpAllocMem = &somMN_wpAllocMem;
  272. #define parent_wpAllocMem(somSelf,cbBytes,prc) \
  273.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpAllocMem)) \
  274.      (somSelf,cbBytes,prc))
  275. #endif
  276. #define WPSTutorialParent_wpAllocMem parent_wpAllocMem
  277.  
  278. /*
  279.  * Overridden method: wpClose
  280.  */
  281. #pragma linkage(wpstut_wpClose, system)
  282. SOM_Scope BOOL   SOMLINK wpstut_wpClose(WPSTutorial *somSelf);
  283. #ifndef parent_wpClose
  284. static char *somMN_wpClose = "wpClose";
  285. static somId somId_wpClose = &somMN_wpClose;
  286. #define parent_wpClose(somSelf) \
  287.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpClose)) \
  288.      (somSelf))
  289. #endif
  290. #define WPSTutorialParent_wpClose parent_wpClose
  291.  
  292. /*
  293.  * Overridden method: wpCopiedFromTemplate
  294.  */
  295. #pragma linkage(wpstut_wpCopiedFromTemplate, system)
  296. SOM_Scope void   SOMLINK wpstut_wpCopiedFromTemplate(WPSTutorial *somSelf);
  297. #ifndef parent_wpCopiedFromTemplate
  298. static char *somMN_wpCopiedFromTemplate = "wpCopiedFromTemplate";
  299. static somId somId_wpCopiedFromTemplate = &somMN_wpCopiedFromTemplate;
  300. #define parent_wpCopiedFromTemplate(somSelf) \
  301.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpCopiedFromTemplate)) \
  302.      (somSelf))
  303. #endif
  304. #define WPSTutorialParent_wpCopiedFromTemplate parent_wpCopiedFromTemplate
  305.  
  306. /*
  307.  * Overridden method: wpCopyObject
  308.  */
  309. #pragma linkage(wpstut_wpCopyObject, system)
  310. SOM_Scope WPObject *  SOMLINK wpstut_wpCopyObject(WPSTutorial *somSelf,
  311.         WPFolder *Folder,
  312.         BOOL fLock);
  313. #ifndef parent_wpCopyObject
  314. static char *somMN_wpCopyObject = "wpCopyObject";
  315. static somId somId_wpCopyObject = &somMN_wpCopyObject;
  316. #define parent_wpCopyObject(somSelf,Folder,fLock) \
  317.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpCopyObject)) \
  318.      (somSelf,Folder,fLock))
  319. #endif
  320. #define WPSTutorialParent_wpCopyObject parent_wpCopyObject
  321.  
  322. /*
  323.  * Overridden method: wpCreateFromTemplate
  324.  */
  325. #pragma linkage(wpstut_wpCreateFromTemplate, system)
  326. SOM_Scope WPObject *  SOMLINK wpstut_wpCreateFromTemplate(WPSTutorial *somSelf,
  327.         WPFolder *folder,
  328.         BOOL fLock);
  329. #ifndef parent_wpCreateFromTemplate
  330. static char *somMN_wpCreateFromTemplate = "wpCreateFromTemplate";
  331. static somId somId_wpCreateFromTemplate = &somMN_wpCreateFromTemplate;
  332. #define parent_wpCreateFromTemplate(somSelf,folder,fLock) \
  333.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpCreateFromTemplate)) \
  334.      (somSelf,folder,fLock))
  335. #endif
  336. #define WPSTutorialParent_wpCreateFromTemplate parent_wpCreateFromTemplate
  337.  
  338. /*
  339.  * Overridden method: wpCreateShadowObject
  340.  */
  341. #pragma linkage(wpstut_wpCreateShadowObject, system)
  342. SOM_Scope WPObject *  SOMLINK wpstut_wpCreateShadowObject(WPSTutorial *somSelf,
  343.         WPFolder *Folder,
  344.         BOOL fLock);
  345. #ifndef parent_wpCreateShadowObject
  346. static char *somMN_wpCreateShadowObject = "wpCreateShadowObject";
  347. static somId somId_wpCreateShadowObject = &somMN_wpCreateShadowObject;
  348. #define parent_wpCreateShadowObject(somSelf,Folder,fLock) \
  349.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpCreateShadowObject)) \
  350.      (somSelf,Folder,fLock))
  351. #endif
  352. #define WPSTutorialParent_wpCreateShadowObject parent_wpCreateShadowObject
  353.  
  354. /*
  355.  * Overridden method: wpDelete
  356.  */
  357. #pragma linkage(wpstut_wpDelete, system)
  358. SOM_Scope ULONG   SOMLINK wpstut_wpDelete(WPSTutorial *somSelf,
  359.         ULONG fConfirmations);
  360. #ifndef parent_wpDelete
  361. static char *somMN_wpDelete = "wpDelete";
  362. static somId somId_wpDelete = &somMN_wpDelete;
  363. #define parent_wpDelete(somSelf,fConfirmations) \
  364.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDelete)) \
  365.      (somSelf,fConfirmations))
  366. #endif
  367. #define WPSTutorialParent_wpDelete parent_wpDelete
  368.  
  369. /*
  370.  * Overridden method: wpDeleteFromObjUseList
  371.  */
  372. #pragma linkage(wpstut_wpDeleteFromObjUseList, system)
  373. SOM_Scope BOOL   SOMLINK wpstut_wpDeleteFromObjUseList(WPSTutorial *somSelf,
  374.         PUSEITEM pUseItem);
  375. #ifndef parent_wpDeleteFromObjUseList
  376. static char *somMN_wpDeleteFromObjUseList = "wpDeleteFromObjUseList";
  377. static somId somId_wpDeleteFromObjUseList = &somMN_wpDeleteFromObjUseList;
  378. #define parent_wpDeleteFromObjUseList(somSelf,pUseItem) \
  379.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDeleteFromObjUseList)) \
  380.      (somSelf,pUseItem))
  381. #endif
  382. #define WPSTutorialParent_wpDeleteFromObjUseList parent_wpDeleteFromObjUseList
  383.  
  384. /*
  385.  * Overridden method: wpDoesObjectMatch
  386.  */
  387. #pragma linkage(wpstut_wpDoesObjectMatch, system)
  388. SOM_Scope BOOL   SOMLINK wpstut_wpDoesObjectMatch(WPSTutorial *somSelf,
  389.         PVOID pvoidExtendedCriteria);
  390. #ifndef parent_wpDoesObjectMatch
  391. static char *somMN_wpDoesObjectMatch = "wpDoesObjectMatch";
  392. static somId somId_wpDoesObjectMatch = &somMN_wpDoesObjectMatch;
  393. #define parent_wpDoesObjectMatch(somSelf,pvoidExtendedCriteria) \
  394.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDoesObjectMatch)) \
  395.      (somSelf,pvoidExtendedCriteria))
  396. #endif
  397. #define WPSTutorialParent_wpDoesObjectMatch parent_wpDoesObjectMatch
  398.  
  399. /*
  400.  * Overridden method: wpDraggedOverObject
  401.  */
  402. #pragma linkage(wpstut_wpDraggedOverObject, system)
  403. SOM_Scope MRESULT   SOMLINK wpstut_wpDraggedOverObject(WPSTutorial *somSelf,
  404.         WPObject *DraggedOverObject);
  405. #ifndef parent_wpDraggedOverObject
  406. static char *somMN_wpDraggedOverObject = "wpDraggedOverObject";
  407. static somId somId_wpDraggedOverObject = &somMN_wpDraggedOverObject;
  408. #define parent_wpDraggedOverObject(somSelf,DraggedOverObject) \
  409.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDraggedOverObject)) \
  410.      (somSelf,DraggedOverObject))
  411. #endif
  412. #define WPSTutorialParent_wpDraggedOverObject parent_wpDraggedOverObject
  413.  
  414. /*
  415.  * Overridden method: wpDragOver
  416.  */
  417. #pragma linkage(wpstut_wpDragOver, system)
  418. SOM_Scope MRESULT   SOMLINK wpstut_wpDragOver(WPSTutorial *somSelf,
  419.         HWND hwndCnr,
  420.         PDRAGINFO pdrgInfo);
  421. #ifndef parent_wpDragOver
  422. static char *somMN_wpDragOver = "wpDragOver";
  423. static somId somId_wpDragOver = &somMN_wpDragOver;
  424. #define parent_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
  425.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDragOver)) \
  426.      (somSelf,hwndCnr,pdrgInfo))
  427. #endif
  428. #define WPSTutorialParent_wpDragOver parent_wpDragOver
  429.  
  430. /*
  431.  * Overridden method: wpDrop
  432.  */
  433. #pragma linkage(wpstut_wpDrop, system)
  434. SOM_Scope MRESULT   SOMLINK wpstut_wpDrop(WPSTutorial *somSelf,
  435.         HWND hwndCnr,
  436.         PDRAGINFO pdrgInfo,
  437.         PDRAGITEM pdrgItem);
  438. #ifndef parent_wpDrop
  439. static char *somMN_wpDrop = "wpDrop";
  440. static somId somId_wpDrop = &somMN_wpDrop;
  441. #define parent_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
  442.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDrop)) \
  443.      (somSelf,hwndCnr,pdrgInfo,pdrgItem))
  444. #endif
  445. #define WPSTutorialParent_wpDrop parent_wpDrop
  446.  
  447. /*
  448.  * Overridden method: wpDroppedOnObject
  449.  */
  450. #pragma linkage(wpstut_wpDroppedOnObject, system)
  451. SOM_Scope BOOL   SOMLINK wpstut_wpDroppedOnObject(WPSTutorial *somSelf,
  452.         WPObject *DroppedOnObject);
  453. #ifndef parent_wpDroppedOnObject
  454. static char *somMN_wpDroppedOnObject = "wpDroppedOnObject";
  455. static somId somId_wpDroppedOnObject = &somMN_wpDroppedOnObject;
  456. #define parent_wpDroppedOnObject(somSelf,DroppedOnObject) \
  457.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpDroppedOnObject)) \
  458.      (somSelf,DroppedOnObject))
  459. #endif
  460. #define WPSTutorialParent_wpDroppedOnObject parent_wpDroppedOnObject
  461.  
  462. /*
  463.  * Overridden method: wpEndConversation
  464.  */
  465. #pragma linkage(wpstut_wpEndConversation, system)
  466. SOM_Scope MRESULT   SOMLINK wpstut_wpEndConversation(WPSTutorial *somSelf,
  467.         ULONG ulItemID,
  468.         ULONG flResult);
  469. #ifndef parent_wpEndConversation
  470. static char *somMN_wpEndConversation = "wpEndConversation";
  471. static somId somId_wpEndConversation = &somMN_wpEndConversation;
  472. #define parent_wpEndConversation(somSelf,ulItemID,flResult) \
  473.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpEndConversation)) \
  474.      (somSelf,ulItemID,flResult))
  475. #endif
  476. #define WPSTutorialParent_wpEndConversation parent_wpEndConversation
  477.  
  478. /*
  479.  * Overridden method: wpFilterPopupMenu
  480.  */
  481. #pragma linkage(wpstut_wpFilterPopupMenu, system)
  482. SOM_Scope ULONG   SOMLINK wpstut_wpFilterPopupMenu(WPSTutorial *somSelf,
  483.         ULONG ulFlags,
  484.         HWND hwndCnr,
  485.         BOOL fMultiSelect);
  486. #ifndef parent_wpFilterPopupMenu
  487. static char *somMN_wpFilterPopupMenu = "wpFilterPopupMenu";
  488. static somId somId_wpFilterPopupMenu = &somMN_wpFilterPopupMenu;
  489. #define parent_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
  490.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpFilterPopupMenu)) \
  491.      (somSelf,ulFlags,hwndCnr,fMultiSelect))
  492. #endif
  493. #define WPSTutorialParent_wpFilterPopupMenu parent_wpFilterPopupMenu
  494.  
  495. /*
  496.  * Overridden method: wpFindUseItem
  497.  */
  498. #pragma linkage(wpstut_wpFindUseItem, system)
  499. SOM_Scope PUSEITEM   SOMLINK wpstut_wpFindUseItem(WPSTutorial *somSelf,
  500.         ULONG type,
  501.         PUSEITEM pCurrentItem);
  502. #ifndef parent_wpFindUseItem
  503. static char *somMN_wpFindUseItem = "wpFindUseItem";
  504. static somId somId_wpFindUseItem = &somMN_wpFindUseItem;
  505. #define parent_wpFindUseItem(somSelf,type,pCurrentItem) \
  506.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpFindUseItem)) \
  507.      (somSelf,type,pCurrentItem))
  508. #endif
  509. #define WPSTutorialParent_wpFindUseItem parent_wpFindUseItem
  510.  
  511. /*
  512.  * Overridden method: wpFormatDragItem
  513.  */
  514. #pragma linkage(wpstut_wpFormatDragItem, system)
  515. SOM_Scope BOOL   SOMLINK wpstut_wpFormatDragItem(WPSTutorial *somSelf,
  516.         PDRAGITEM pdrgItem);
  517. #ifndef parent_wpFormatDragItem
  518. static char *somMN_wpFormatDragItem = "wpFormatDragItem";
  519. static somId somId_wpFormatDragItem = &somMN_wpFormatDragItem;
  520. #define parent_wpFormatDragItem(somSelf,pdrgItem) \
  521.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpFormatDragItem)) \
  522.      (somSelf,pdrgItem))
  523. #endif
  524. #define WPSTutorialParent_wpFormatDragItem parent_wpFormatDragItem
  525.  
  526. /*
  527.  * Overridden method: wpFree
  528.  */
  529. #pragma linkage(wpstut_wpFree, system)
  530. SOM_Scope BOOL   SOMLINK wpstut_wpFree(WPSTutorial *somSelf);
  531. #ifndef parent_wpFree
  532. static char *somMN_wpFree = "wpFree";
  533. static somId somId_wpFree = &somMN_wpFree;
  534. #define parent_wpFree(somSelf) \
  535.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpFree)) \
  536.      (somSelf))
  537. #endif
  538. #define WPSTutorialParent_wpFree parent_wpFree
  539.  
  540. /*
  541.  * Overridden method: wpFreeMem
  542.  */
  543. #pragma linkage(wpstut_wpFreeMem, system)
  544. SOM_Scope BOOL   SOMLINK wpstut_wpFreeMem(WPSTutorial *somSelf,
  545.         PBYTE pByte);
  546. #ifndef parent_wpFreeMem
  547. static char *somMN_wpFreeMem = "wpFreeMem";
  548. static somId somId_wpFreeMem = &somMN_wpFreeMem;
  549. #define parent_wpFreeMem(somSelf,pByte) \
  550.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpFreeMem)) \
  551.      (somSelf,pByte))
  552. #endif
  553. #define WPSTutorialParent_wpFreeMem parent_wpFreeMem
  554.  
  555. /*
  556.  * Overridden method: wpHide
  557.  */
  558. #pragma linkage(wpstut_wpHide, system)
  559. SOM_Scope BOOL   SOMLINK wpstut_wpHide(WPSTutorial *somSelf);
  560. #ifndef parent_wpHide
  561. static char *somMN_wpHide = "wpHide";
  562. static somId somId_wpHide = &somMN_wpHide;
  563. #define parent_wpHide(somSelf) \
  564.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpHide)) \
  565.      (somSelf))
  566. #endif
  567. #define WPSTutorialParent_wpHide parent_wpHide
  568.  
  569. /*
  570.  * Overridden method: wpInitData
  571.  */
  572. #pragma linkage(wpstut_wpInitData, system)
  573. SOM_Scope void   SOMLINK wpstut_wpInitData(WPSTutorial *somSelf);
  574. #ifndef parent_wpInitData
  575. static char *somMN_wpInitData = "wpInitData";
  576. static somId somId_wpInitData = &somMN_wpInitData;
  577. #define parent_wpInitData(somSelf) \
  578.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpInitData)) \
  579.      (somSelf))
  580. #endif
  581. #define WPSTutorialParent_wpInitData parent_wpInitData
  582.  
  583. /*
  584.  * Overridden method: wpInsertPopupMenuItems
  585.  */
  586. #pragma linkage(wpstut_wpInsertPopupMenuItems, system)
  587. SOM_Scope BOOL   SOMLINK wpstut_wpInsertPopupMenuItems(WPSTutorial *somSelf,
  588.         HWND hwndMenu,
  589.         ULONG iPosition,
  590.         HMODULE hmod,
  591.         ULONG MenuID,
  592.         ULONG SubMenuID);
  593. #ifndef parent_wpInsertPopupMenuItems
  594. static char *somMN_wpInsertPopupMenuItems = "wpInsertPopupMenuItems";
  595. static somId somId_wpInsertPopupMenuItems = &somMN_wpInsertPopupMenuItems;
  596. #define parent_wpInsertPopupMenuItems(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID) \
  597.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpInsertPopupMenuItems)) \
  598.      (somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID))
  599. #endif
  600. #define WPSTutorialParent_wpInsertPopupMenuItems parent_wpInsertPopupMenuItems
  601.  
  602. /*
  603.  * Overridden method: wpInsertSettingsPage
  604.  */
  605. #pragma linkage(wpstut_wpInsertSettingsPage, system)
  606. SOM_Scope ULONG   SOMLINK wpstut_wpInsertSettingsPage(WPSTutorial *somSelf,
  607.         HWND hwndNotebook,
  608.         PPAGEINFO ppageinfo);
  609. #ifndef parent_wpInsertSettingsPage
  610. static char *somMN_wpInsertSettingsPage = "wpInsertSettingsPage";
  611. static somId somId_wpInsertSettingsPage = &somMN_wpInsertSettingsPage;
  612. #define parent_wpInsertSettingsPage(somSelf,hwndNotebook,ppageinfo) \
  613.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpInsertSettingsPage)) \
  614.      (somSelf,hwndNotebook,ppageinfo))
  615. #endif
  616. #define WPSTutorialParent_wpInsertSettingsPage parent_wpInsertSettingsPage
  617.  
  618. /*
  619.  * Overridden method: wpMenuItemSelected
  620.  */
  621. #pragma linkage(wpstut_wpMenuItemSelected, system)
  622. SOM_Scope BOOL   SOMLINK wpstut_wpMenuItemSelected(WPSTutorial *somSelf,
  623.         HWND hwndFrame,
  624.         ULONG ulMenuId);
  625. #ifndef parent_wpMenuItemSelected
  626. static char *somMN_wpMenuItemSelected = "wpMenuItemSelected";
  627. static somId somId_wpMenuItemSelected = &somMN_wpMenuItemSelected;
  628. #define parent_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
  629.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpMenuItemSelected)) \
  630.      (somSelf,hwndFrame,ulMenuId))
  631. #endif
  632. #define WPSTutorialParent_wpMenuItemSelected parent_wpMenuItemSelected
  633.  
  634. /*
  635.  * Overridden method: wpModifyPopupMenu
  636.  */
  637. #pragma linkage(wpstut_wpModifyPopupMenu, system)
  638. SOM_Scope BOOL   SOMLINK wpstut_wpModifyPopupMenu(WPSTutorial *somSelf,
  639.         HWND hwndMenu,
  640.         HWND hwndCnr,
  641.         ULONG iPosition);
  642. #ifndef parent_wpModifyPopupMenu
  643. static char *somMN_wpModifyPopupMenu = "wpModifyPopupMenu";
  644. static somId somId_wpModifyPopupMenu = &somMN_wpModifyPopupMenu;
  645. #define parent_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
  646.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpModifyPopupMenu)) \
  647.      (somSelf,hwndMenu,hwndCnr,iPosition))
  648. #endif
  649. #define WPSTutorialParent_wpModifyPopupMenu parent_wpModifyPopupMenu
  650.  
  651. /*
  652.  * Overridden method: wpOpen
  653.  */
  654. #pragma linkage(wpstut_wpOpen, system)
  655. SOM_Scope HWND   SOMLINK wpstut_wpOpen(WPSTutorial *somSelf,
  656.         HWND hwndCnr,
  657.         ULONG ulView,
  658.         ULONG param);
  659. #ifndef parent_wpOpen
  660. static char *somMN_wpOpen = "wpOpen";
  661. static somId somId_wpOpen = &somMN_wpOpen;
  662. #define parent_wpOpen(somSelf,hwndCnr,ulView,param) \
  663.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpOpen)) \
  664.      (somSelf,hwndCnr,ulView,param))
  665. #endif
  666. #define WPSTutorialParent_wpOpen parent_wpOpen
  667.  
  668. /*
  669.  * Overridden method: wpQueryConfirmations
  670.  */
  671. #pragma linkage(wpstut_wpQueryConfirmations, system)
  672. SOM_Scope ULONG   SOMLINK wpstut_wpQueryConfirmations(WPSTutorial *somSelf);
  673. #ifndef parent_wpQueryConfirmations
  674. static char *somMN_wpQueryConfirmations = "wpQueryConfirmations";
  675. static somId somId_wpQueryConfirmations = &somMN_wpQueryConfirmations;
  676. #define parent_wpQueryConfirmations(somSelf) \
  677.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryConfirmations)) \
  678.      (somSelf))
  679. #endif
  680. #define WPSTutorialParent_wpQueryConfirmations parent_wpQueryConfirmations
  681.  
  682. /*
  683.  * Overridden method: wpQueryDefaultView
  684.  */
  685. #pragma linkage(wpstut_wpQueryDefaultView, system)
  686. SOM_Scope ULONG   SOMLINK wpstut_wpQueryDefaultView(WPSTutorial *somSelf);
  687. #ifndef parent_wpQueryDefaultView
  688. static char *somMN_wpQueryDefaultView = "wpQueryDefaultView";
  689. static somId somId_wpQueryDefaultView = &somMN_wpQueryDefaultView;
  690. #define parent_wpQueryDefaultView(somSelf) \
  691.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryDefaultView)) \
  692.      (somSelf))
  693. #endif
  694. #define WPSTutorialParent_wpQueryDefaultView parent_wpQueryDefaultView
  695.  
  696. /*
  697.  * Overridden method: wpQueryDetailsData
  698.  */
  699. #pragma linkage(wpstut_wpQueryDetailsData, system)
  700. SOM_Scope ULONG   SOMLINK wpstut_wpQueryDetailsData(WPSTutorial *somSelf,
  701.         PVOID *ppDetailsData,
  702.         PULONG pcp);
  703. #ifndef parent_wpQueryDetailsData
  704. static char *somMN_wpQueryDetailsData = "wpQueryDetailsData";
  705. static somId somId_wpQueryDetailsData = &somMN_wpQueryDetailsData;
  706. #define parent_wpQueryDetailsData(somSelf,ppDetailsData,pcp) \
  707.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryDetailsData)) \
  708.      (somSelf,ppDetailsData,pcp))
  709. #endif
  710. #define WPSTutorialParent_wpQueryDetailsData parent_wpQueryDetailsData
  711.  
  712. /*
  713.  * Overridden method: wpQueryHandle
  714.  */
  715. #pragma linkage(wpstut_wpQueryHandle, system)
  716. SOM_Scope HOBJECT   SOMLINK wpstut_wpQueryHandle(WPSTutorial *somSelf);
  717. #ifndef parent_wpQueryHandle
  718. static char *somMN_wpQueryHandle = "wpQueryHandle";
  719. static somId somId_wpQueryHandle = &somMN_wpQueryHandle;
  720. #define parent_wpQueryHandle(somSelf) \
  721.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryHandle)) \
  722.      (somSelf))
  723. #endif
  724. #define WPSTutorialParent_wpQueryHandle parent_wpQueryHandle
  725.  
  726. /*
  727.  * Overridden method: wpQueryIcon
  728.  */
  729. #pragma linkage(wpstut_wpQueryIcon, system)
  730. SOM_Scope HPOINTER   SOMLINK wpstut_wpQueryIcon(WPSTutorial *somSelf);
  731. #ifndef parent_wpQueryIcon
  732. static char *somMN_wpQueryIcon = "wpQueryIcon";
  733. static somId somId_wpQueryIcon = &somMN_wpQueryIcon;
  734. #define parent_wpQueryIcon(somSelf) \
  735.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryIcon)) \
  736.      (somSelf))
  737. #endif
  738. #define WPSTutorialParent_wpQueryIcon parent_wpQueryIcon
  739.  
  740. /*
  741.  * Overridden method: wpQueryIconData
  742.  */
  743. #pragma linkage(wpstut_wpQueryIconData, system)
  744. SOM_Scope ULONG   SOMLINK wpstut_wpQueryIconData(WPSTutorial *somSelf,
  745.         PICONINFO pIconInfo);
  746. #ifndef parent_wpQueryIconData
  747. static char *somMN_wpQueryIconData = "wpQueryIconData";
  748. static somId somId_wpQueryIconData = &somMN_wpQueryIconData;
  749. #define parent_wpQueryIconData(somSelf,pIconInfo) \
  750.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryIconData)) \
  751.      (somSelf,pIconInfo))
  752. #endif
  753. #define WPSTutorialParent_wpQueryIconData parent_wpQueryIconData
  754.  
  755. /*
  756.  * Overridden method: wpQueryRealName
  757.  */
  758. #pragma linkage(wpstut_wpQueryRealName, system)
  759. SOM_Scope BOOL   SOMLINK wpstut_wpQueryRealName(WPSTutorial *somSelf,
  760.         PSZ pszFilename,
  761.         PULONG pcb,
  762.         BOOL fQualified);
  763. #ifndef parent_wpQueryRealName
  764. static char *somMN_wpQueryRealName = "wpQueryRealName";
  765. static somId somId_wpQueryRealName = &somMN_wpQueryRealName;
  766. #define parent_wpQueryRealName(somSelf,pszFilename,pcb,fQualified) \
  767.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpQueryRealName)) \
  768.      (somSelf,pszFilename,pcb,fQualified))
  769. #endif
  770. #define WPSTutorialParent_wpQueryRealName parent_wpQueryRealName
  771.  
  772. /*
  773.  * Overridden method: wpQueryStyle
  774.  */
  775. #pragma linkage(wpstut_wpQueryStyle, system)
  776. SOM_Scope ULONG   SOMLINK wpstut_wpQueryStyle(WPSTutorial *somSelf);
  777. #ifndef parent_wpQueryStyle
  778. static char *somMN_wpQueryStyle = "wpQueryStyle";
  779. static somId somId_wpQueryStyle = &somMN_wpQueryStyle;
  780. #define parent_wpQueryStyle(somSelf) \
  781.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryStyle)) \
  782.      (somSelf))
  783. #endif
  784. #define WPSTutorialParent_wpQueryStyle parent_wpQueryStyle
  785.  
  786. /*
  787.  * Overridden method: wpQueryTitle
  788.  */
  789. #pragma linkage(wpstut_wpQueryTitle, system)
  790. SOM_Scope PSZ   SOMLINK wpstut_wpQueryTitle(WPSTutorial *somSelf);
  791. #ifndef parent_wpQueryTitle
  792. static char *somMN_wpQueryTitle = "wpQueryTitle";
  793. static somId somId_wpQueryTitle = &somMN_wpQueryTitle;
  794. #define parent_wpQueryTitle(somSelf) \
  795.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpQueryTitle)) \
  796.      (somSelf))
  797. #endif
  798. #define WPSTutorialParent_wpQueryTitle parent_wpQueryTitle
  799.  
  800. /*
  801.  * Overridden method: wpQueryType
  802.  */
  803. #pragma linkage(wpstut_wpQueryType, system)
  804. SOM_Scope PSZ   SOMLINK wpstut_wpQueryType(WPSTutorial *somSelf);
  805. #ifndef parent_wpQueryType
  806. static char *somMN_wpQueryType = "wpQueryType";
  807. static somId somId_wpQueryType = &somMN_wpQueryType;
  808. #define parent_wpQueryType(somSelf) \
  809.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpQueryType)) \
  810.      (somSelf))
  811. #endif
  812. #define WPSTutorialParent_wpQueryType parent_wpQueryType
  813.  
  814. /*
  815.  * Overridden method: wpRegisterView
  816.  */
  817. #pragma linkage(wpstut_wpRegisterView, system)
  818. SOM_Scope BOOL   SOMLINK wpstut_wpRegisterView(WPSTutorial *somSelf,
  819.         HWND hwndFrame,
  820.         PSZ pszViewTitle);
  821. #ifndef parent_wpRegisterView
  822. static char *somMN_wpRegisterView = "wpRegisterView";
  823. static somId somId_wpRegisterView = &somMN_wpRegisterView;
  824. #define parent_wpRegisterView(somSelf,hwndFrame,pszViewTitle) \
  825.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRegisterView)) \
  826.      (somSelf,hwndFrame,pszViewTitle))
  827. #endif
  828. #define WPSTutorialParent_wpRegisterView parent_wpRegisterView
  829.  
  830. /*
  831.  * Overridden method: wpRender
  832.  */
  833. #pragma linkage(wpstut_wpRender, system)
  834. SOM_Scope MRESULT   SOMLINK wpstut_wpRender(WPSTutorial *somSelf,
  835.         PDRAGTRANSFER pdxfer);
  836. #ifndef parent_wpRender
  837. static char *somMN_wpRender = "wpRender";
  838. static somId somId_wpRender = &somMN_wpRender;
  839. #define parent_wpRender(somSelf,pdxfer) \
  840.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRender)) \
  841.      (somSelf,pdxfer))
  842. #endif
  843. #define WPSTutorialParent_wpRender parent_wpRender
  844.  
  845. /*
  846.  * Overridden method: wpRenderComplete
  847.  */
  848. #pragma linkage(wpstut_wpRenderComplete, system)
  849. SOM_Scope MRESULT   SOMLINK wpstut_wpRenderComplete(WPSTutorial *somSelf,
  850.         PDRAGTRANSFER pdxfer,
  851.         ULONG ulResult);
  852. #ifndef parent_wpRenderComplete
  853. static char *somMN_wpRenderComplete = "wpRenderComplete";
  854. static somId somId_wpRenderComplete = &somMN_wpRenderComplete;
  855. #define parent_wpRenderComplete(somSelf,pdxfer,ulResult) \
  856.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRenderComplete)) \
  857.      (somSelf,pdxfer,ulResult))
  858. #endif
  859. #define WPSTutorialParent_wpRenderComplete parent_wpRenderComplete
  860.  
  861. /*
  862.  * Overridden method: wpRestore
  863.  */
  864. #pragma linkage(wpstut_wpRestore, system)
  865. SOM_Scope BOOL   SOMLINK wpstut_wpRestore(WPSTutorial *somSelf);
  866. #ifndef parent_wpRestore
  867. static char *somMN_wpRestore = "wpRestore";
  868. static somId somId_wpRestore = &somMN_wpRestore;
  869. #define parent_wpRestore(somSelf) \
  870.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRestore)) \
  871.      (somSelf))
  872. #endif
  873. #define WPSTutorialParent_wpRestore parent_wpRestore
  874.  
  875. /*
  876.  * Overridden method: wpRestoreData
  877.  */
  878. #pragma linkage(wpstut_wpRestoreData, system)
  879. SOM_Scope BOOL   SOMLINK wpstut_wpRestoreData(WPSTutorial *somSelf,
  880.         PSZ pszClass,
  881.         ULONG ulKey,
  882.         PBYTE pValue,
  883.         PULONG pcbValue);
  884. #ifndef parent_wpRestoreData
  885. static char *somMN_wpRestoreData = "wpRestoreData";
  886. static somId somId_wpRestoreData = &somMN_wpRestoreData;
  887. #define parent_wpRestoreData(somSelf,pszClass,ulKey,pValue,pcbValue) \
  888.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRestoreData)) \
  889.      (somSelf,pszClass,ulKey,pValue,pcbValue))
  890. #endif
  891. #define WPSTutorialParent_wpRestoreData parent_wpRestoreData
  892.  
  893. /*
  894.  * Overridden method: wpRestoreLong
  895.  */
  896. #pragma linkage(wpstut_wpRestoreLong, system)
  897. SOM_Scope BOOL   SOMLINK wpstut_wpRestoreLong(WPSTutorial *somSelf,
  898.         PSZ pszClass,
  899.         ULONG ulKey,
  900.         PULONG pulValue);
  901. #ifndef parent_wpRestoreLong
  902. static char *somMN_wpRestoreLong = "wpRestoreLong";
  903. static somId somId_wpRestoreLong = &somMN_wpRestoreLong;
  904. #define parent_wpRestoreLong(somSelf,pszClass,ulKey,pulValue) \
  905.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRestoreLong)) \
  906.      (somSelf,pszClass,ulKey,pulValue))
  907. #endif
  908. #define WPSTutorialParent_wpRestoreLong parent_wpRestoreLong
  909.  
  910. /*
  911.  * Overridden method: wpRestoreState
  912.  */
  913. #pragma linkage(wpstut_wpRestoreState, system)
  914. SOM_Scope BOOL   SOMLINK wpstut_wpRestoreState(WPSTutorial *somSelf,
  915.         ULONG ulReserved);
  916. #ifndef parent_wpRestoreState
  917. static char *somMN_wpRestoreState = "wpRestoreState";
  918. static somId somId_wpRestoreState = &somMN_wpRestoreState;
  919. #define parent_wpRestoreState(somSelf,ulReserved) \
  920.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRestoreState)) \
  921.      (somSelf,ulReserved))
  922. #endif
  923. #define WPSTutorialParent_wpRestoreState parent_wpRestoreState
  924.  
  925. /*
  926.  * Overridden method: wpRestoreString
  927.  */
  928. #pragma linkage(wpstut_wpRestoreString, system)
  929. SOM_Scope BOOL   SOMLINK wpstut_wpRestoreString(WPSTutorial *somSelf,
  930.         PSZ pszClass,
  931.         ULONG ulKey,
  932.         PSZ pszValue,
  933.         PULONG pcbValue);
  934. #ifndef parent_wpRestoreString
  935. static char *somMN_wpRestoreString = "wpRestoreString";
  936. static somId somId_wpRestoreString = &somMN_wpRestoreString;
  937. #define parent_wpRestoreString(somSelf,pszClass,ulKey,pszValue,pcbValue) \
  938.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpRestoreString)) \
  939.      (somSelf,pszClass,ulKey,pszValue,pcbValue))
  940. #endif
  941. #define WPSTutorialParent_wpRestoreString parent_wpRestoreString
  942.  
  943. /*
  944.  * Overridden method: wpSaveData
  945.  */
  946. #pragma linkage(wpstut_wpSaveData, system)
  947. SOM_Scope BOOL   SOMLINK wpstut_wpSaveData(WPSTutorial *somSelf,
  948.         PSZ pszClass,
  949.         ULONG ulKey,
  950.         PBYTE pValue,
  951.         ULONG cbValue);
  952. #ifndef parent_wpSaveData
  953. static char *somMN_wpSaveData = "wpSaveData";
  954. static somId somId_wpSaveData = &somMN_wpSaveData;
  955. #define parent_wpSaveData(somSelf,pszClass,ulKey,pValue,cbValue) \
  956.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSaveData)) \
  957.      (somSelf,pszClass,ulKey,pValue,cbValue))
  958. #endif
  959. #define WPSTutorialParent_wpSaveData parent_wpSaveData
  960.  
  961. /*
  962.  * Overridden method: wpSaveDeferred
  963.  */
  964. #pragma linkage(wpstut_wpSaveDeferred, system)
  965. SOM_Scope BOOL   SOMLINK wpstut_wpSaveDeferred(WPSTutorial *somSelf);
  966. #ifndef parent_wpSaveDeferred
  967. static char *somMN_wpSaveDeferred = "wpSaveDeferred";
  968. static somId somId_wpSaveDeferred = &somMN_wpSaveDeferred;
  969. #define parent_wpSaveDeferred(somSelf) \
  970.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSaveDeferred)) \
  971.      (somSelf))
  972. #endif
  973. #define WPSTutorialParent_wpSaveDeferred parent_wpSaveDeferred
  974.  
  975. /*
  976.  * Overridden method: wpSaveImmediate
  977.  */
  978. #pragma linkage(wpstut_wpSaveImmediate, system)
  979. SOM_Scope BOOL   SOMLINK wpstut_wpSaveImmediate(WPSTutorial *somSelf);
  980. #ifndef parent_wpSaveImmediate
  981. static char *somMN_wpSaveImmediate = "wpSaveImmediate";
  982. static somId somId_wpSaveImmediate = &somMN_wpSaveImmediate;
  983. #define parent_wpSaveImmediate(somSelf) \
  984.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSaveImmediate)) \
  985.      (somSelf))
  986. #endif
  987. #define WPSTutorialParent_wpSaveImmediate parent_wpSaveImmediate
  988.  
  989. /*
  990.  * Overridden method: wpSaveLong
  991.  */
  992. #pragma linkage(wpstut_wpSaveLong, system)
  993. SOM_Scope BOOL   SOMLINK wpstut_wpSaveLong(WPSTutorial *somSelf,
  994.         PSZ pszClass,
  995.         ULONG ulKey,
  996.         ULONG ulValue);
  997. #ifndef parent_wpSaveLong
  998. static char *somMN_wpSaveLong = "wpSaveLong";
  999. static somId somId_wpSaveLong = &somMN_wpSaveLong;
  1000. #define parent_wpSaveLong(somSelf,pszClass,ulKey,ulValue) \
  1001.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSaveLong)) \
  1002.      (somSelf,pszClass,ulKey,ulValue))
  1003. #endif
  1004. #define WPSTutorialParent_wpSaveLong parent_wpSaveLong
  1005.  
  1006. /*
  1007.  * Overridden method: wpSaveState
  1008.  */
  1009. #pragma linkage(wpstut_wpSaveState, system)
  1010. SOM_Scope BOOL   SOMLINK wpstut_wpSaveState(WPSTutorial *somSelf);
  1011. #ifndef parent_wpSaveState
  1012. static char *somMN_wpSaveState = "wpSaveState";
  1013. static somId somId_wpSaveState = &somMN_wpSaveState;
  1014. #define parent_wpSaveState(somSelf) \
  1015.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSaveState)) \
  1016.      (somSelf))
  1017. #endif
  1018. #define WPSTutorialParent_wpSaveState parent_wpSaveState
  1019.  
  1020. /*
  1021.  * Overridden method: wpSaveString
  1022.  */
  1023. #pragma linkage(wpstut_wpSaveString, system)
  1024. SOM_Scope BOOL   SOMLINK wpstut_wpSaveString(WPSTutorial *somSelf,
  1025.         PSZ pszClass,
  1026.         ULONG ulKey,
  1027.         PSZ pszValue);
  1028. #ifndef parent_wpSaveString
  1029. static char *somMN_wpSaveString = "wpSaveString";
  1030. static somId somId_wpSaveString = &somMN_wpSaveString;
  1031. #define parent_wpSaveString(somSelf,pszClass,ulKey,pszValue) \
  1032.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSaveString)) \
  1033.      (somSelf,pszClass,ulKey,pszValue))
  1034. #endif
  1035. #define WPSTutorialParent_wpSaveString parent_wpSaveString
  1036.  
  1037. /*
  1038.  * Overridden method: wpSetDefaultView
  1039.  */
  1040. #pragma linkage(wpstut_wpSetDefaultView, system)
  1041. SOM_Scope BOOL   SOMLINK wpstut_wpSetDefaultView(WPSTutorial *somSelf,
  1042.         ULONG ulView);
  1043. #ifndef parent_wpSetDefaultView
  1044. static char *somMN_wpSetDefaultView = "wpSetDefaultView";
  1045. static somId somId_wpSetDefaultView = &somMN_wpSetDefaultView;
  1046. #define parent_wpSetDefaultView(somSelf,ulView) \
  1047.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSetDefaultView)) \
  1048.      (somSelf,ulView))
  1049. #endif
  1050. #define WPSTutorialParent_wpSetDefaultView parent_wpSetDefaultView
  1051.  
  1052. /*
  1053.  * Overridden method: wpSetIcon
  1054.  */
  1055. #pragma linkage(wpstut_wpSetIcon, system)
  1056. SOM_Scope BOOL   SOMLINK wpstut_wpSetIcon(WPSTutorial *somSelf,
  1057.         HPOINTER hptrNewIcon);
  1058. #ifndef parent_wpSetIcon
  1059. static char *somMN_wpSetIcon = "wpSetIcon";
  1060. static somId somId_wpSetIcon = &somMN_wpSetIcon;
  1061. #define parent_wpSetIcon(somSelf,hptrNewIcon) \
  1062.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSetIcon)) \
  1063.      (somSelf,hptrNewIcon))
  1064. #endif
  1065. #define WPSTutorialParent_wpSetIcon parent_wpSetIcon
  1066.  
  1067. /*
  1068.  * Overridden method: wpSetIconData
  1069.  */
  1070. #pragma linkage(wpstut_wpSetIconData, system)
  1071. SOM_Scope BOOL   SOMLINK wpstut_wpSetIconData(WPSTutorial *somSelf,
  1072.         PICONINFO pIconInfo);
  1073. #ifndef parent_wpSetIconData
  1074. static char *somMN_wpSetIconData = "wpSetIconData";
  1075. static somId somId_wpSetIconData = &somMN_wpSetIconData;
  1076. #define parent_wpSetIconData(somSelf,pIconInfo) \
  1077.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSetIconData)) \
  1078.      (somSelf,pIconInfo))
  1079. #endif
  1080. #define WPSTutorialParent_wpSetIconData parent_wpSetIconData
  1081.  
  1082. /*
  1083.  * Overridden method: wpSetRealName
  1084.  */
  1085. #pragma linkage(wpstut_wpSetRealName, system)
  1086. SOM_Scope BOOL   SOMLINK wpstut_wpSetRealName(WPSTutorial *somSelf,
  1087.         PSZ pszName);
  1088. #ifndef parent_wpSetRealName
  1089. static char *somMN_wpSetRealName = "wpSetRealName";
  1090. static somId somId_wpSetRealName = &somMN_wpSetRealName;
  1091. #define parent_wpSetRealName(somSelf,pszName) \
  1092.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpSetRealName)) \
  1093.      (somSelf,pszName))
  1094. #endif
  1095. #define WPSTutorialParent_wpSetRealName parent_wpSetRealName
  1096.  
  1097. /*
  1098.  * Overridden method: wpSetStyle
  1099.  */
  1100. #pragma linkage(wpstut_wpSetStyle, system)
  1101. SOM_Scope BOOL   SOMLINK wpstut_wpSetStyle(WPSTutorial *somSelf,
  1102.         ULONG ulNewStyle);
  1103. #ifndef parent_wpSetStyle
  1104. static char *somMN_wpSetStyle = "wpSetStyle";
  1105. static somId somId_wpSetStyle = &somMN_wpSetStyle;
  1106. #define parent_wpSetStyle(somSelf,ulNewStyle) \
  1107.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSetStyle)) \
  1108.      (somSelf,ulNewStyle))
  1109. #endif
  1110. #define WPSTutorialParent_wpSetStyle parent_wpSetStyle
  1111.  
  1112. /*
  1113.  * Overridden method: wpSetTitle
  1114.  */
  1115. #pragma linkage(wpstut_wpSetTitle, system)
  1116. SOM_Scope BOOL   SOMLINK wpstut_wpSetTitle(WPSTutorial *somSelf,
  1117.         PSZ pszNewTitle);
  1118. #ifndef parent_wpSetTitle
  1119. static char *somMN_wpSetTitle = "wpSetTitle";
  1120. static somId somId_wpSetTitle = &somMN_wpSetTitle;
  1121. #define parent_wpSetTitle(somSelf,pszNewTitle) \
  1122.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSetTitle)) \
  1123.      (somSelf,pszNewTitle))
  1124. #endif
  1125. #define WPSTutorialParent_wpSetTitle parent_wpSetTitle
  1126.  
  1127. /*
  1128.  * Overridden method: wpSetType
  1129.  */
  1130. #pragma linkage(wpstut_wpSetType, system)
  1131. SOM_Scope BOOL   SOMLINK wpstut_wpSetType(WPSTutorial *somSelf,
  1132.         PSZ pszTypes,
  1133.         PFEA2LIST pfeal);
  1134. #ifndef parent_wpSetType
  1135. static char *somMN_wpSetType = "wpSetType";
  1136. static somId somId_wpSetType = &somMN_wpSetType;
  1137. #define parent_wpSetType(somSelf,pszTypes,pfeal) \
  1138.     ((SOM_ParentResolveE(WPFileSystem, SOM_CurrentClass, wpSetType)) \
  1139.      (somSelf,pszTypes,pfeal))
  1140. #endif
  1141. #define WPSTutorialParent_wpSetType parent_wpSetType
  1142.  
  1143. /*
  1144.  * Overridden method: wpSetup
  1145.  */
  1146. #pragma linkage(wpstut_wpSetup, system)
  1147. SOM_Scope BOOL   SOMLINK wpstut_wpSetup(WPSTutorial *somSelf,
  1148.         PSZ pszSetupString);
  1149. #ifndef parent_wpSetup
  1150. static char *somMN_wpSetup = "wpSetup";
  1151. static somId somId_wpSetup = &somMN_wpSetup;
  1152. #define parent_wpSetup(somSelf,pszSetupString) \
  1153.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSetup)) \
  1154.      (somSelf,pszSetupString))
  1155. #endif
  1156. #define WPSTutorialParent_wpSetup parent_wpSetup
  1157.  
  1158. /*
  1159.  * Overridden method: wpSwitchTo
  1160.  */
  1161. #pragma linkage(wpstut_wpSwitchTo, system)
  1162. SOM_Scope BOOL   SOMLINK wpstut_wpSwitchTo(WPSTutorial *somSelf,
  1163.         ULONG View);
  1164. #ifndef parent_wpSwitchTo
  1165. static char *somMN_wpSwitchTo = "wpSwitchTo";
  1166. static somId somId_wpSwitchTo = &somMN_wpSwitchTo;
  1167. #define parent_wpSwitchTo(somSelf,View) \
  1168.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpSwitchTo)) \
  1169.      (somSelf,View))
  1170. #endif
  1171. #define WPSTutorialParent_wpSwitchTo parent_wpSwitchTo
  1172.  
  1173. /*
  1174.  * Overridden method: wpUnlockObject
  1175.  */
  1176. #pragma linkage(wpstut_wpUnlockObject, system)
  1177. SOM_Scope BOOL   SOMLINK wpstut_wpUnlockObject(WPSTutorial *somSelf);
  1178. #ifndef parent_wpUnlockObject
  1179. static char *somMN_wpUnlockObject = "wpUnlockObject";
  1180. static somId somId_wpUnlockObject = &somMN_wpUnlockObject;
  1181. #define parent_wpUnlockObject(somSelf) \
  1182.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpUnlockObject)) \
  1183.      (somSelf))
  1184. #endif
  1185. #define WPSTutorialParent_wpUnlockObject parent_wpUnlockObject
  1186.  
  1187. /*
  1188.  * Overridden method: wpUnInitData
  1189.  */
  1190. #pragma linkage(wpstut_wpUnInitData, system)
  1191. SOM_Scope void   SOMLINK wpstut_wpUnInitData(WPSTutorial *somSelf);
  1192. #ifndef parent_wpUnInitData
  1193. static char *somMN_wpUnInitData = "wpUnInitData";
  1194. static somId somId_wpUnInitData = &somMN_wpUnInitData;
  1195. #define parent_wpUnInitData(somSelf) \
  1196.     ((SOM_ParentResolveE(WPObject, SOM_CurrentClass, wpUnInitData)) \
  1197.      (somSelf))
  1198. #endif
  1199. #define WPSTutorialParent_wpUnInitData parent_wpUnInitData
  1200.  
  1201. /*
  1202.  * Temporary class data structure used only in class creation
  1203.  */
  1204. static somClassDataStructure WPSTutorialtempClassData;
  1205.  
  1206. /*
  1207.  * Initialize the class data structure
  1208.  */
  1209. struct WPSTutorialClassDataStructure WPSTutorialClassData = {(SOMAny *) NULL};
  1210.  
  1211. /*
  1212.  * Define the C class data structure
  1213.  */
  1214. struct WPSTutorialCClassDataStructure WPSTutorialCClassData = {(somMethodTab *) NULL};
  1215.  
  1216. /*
  1217.  * New Method: DisplayTitleInfo
  1218.  */
  1219. #pragma linkage(wpstut_DisplayTitleInfo, system)
  1220. SOM_Scope HWND   SOMLINK wpstut_DisplayTitleInfo(WPSTutorial *somSelf);
  1221. static char *somMN_DisplayTitleInfo = "DisplayTitleInfo";
  1222. static somId somId_DisplayTitleInfo = &somMN_DisplayTitleInfo;
  1223. static char *somDS_DisplayTitleInfo = somMD_WPSTutorial_DisplayTitleInfo;
  1224. static somId somDI_DisplayTitleInfo = &somDS_DisplayTitleInfo;
  1225. #pragma linkage(somRD_DisplayTitleInfo, system)
  1226. static HWND   SOMLINK somRD_DisplayTitleInfo(WPSTutorial *somSelf)
  1227. {
  1228.     return ((HWND) va_somDispatchL(somSelf, somId_DisplayTitleInfo,
  1229.         _somGetMethodDescriptor(SOM_GetClass(somSelf),somId_DisplayTitleInfo)));
  1230. }
  1231.  
  1232. /*
  1233.  * Routines to create the class object
  1234.  */
  1235.  
  1236. /*
  1237.  * Declare the Static Methods table.
  1238.  */
  1239. static somStaticMethod_t WPSTutorialSM[] = {
  1240.     {    &WPSTutorialClassData.DisplayTitleInfo,
  1241.          &somId_DisplayTitleInfo,
  1242.          &somDI_DisplayTitleInfo,
  1243.          (somMethodProc *) wpstut_DisplayTitleInfo,
  1244.          (somMethodProc *) somRD_DisplayTitleInfo,
  1245.          (somMethodProc *) somAP_DisplayTitleInfo    },
  1246. };
  1247.  
  1248.  
  1249. /*
  1250.  * Declare the Override Methods table.
  1251.  */
  1252. static somOverrideMethod_t WPSTutorialOM[] = {
  1253.     {    &somId_wpAddFileMenuPage,
  1254.          (somMethodProc *) wpstut_wpAddFileMenuPage    },
  1255.     {    &somId_wpAddFileTypePage,
  1256.          (somMethodProc *) wpstut_wpAddFileTypePage    },
  1257.     {    &somId_wpAddFile1Page,
  1258.          (somMethodProc *) wpstut_wpAddFile1Page    },
  1259.     {    &somId_wpAddFile2Page,
  1260.          (somMethodProc *) wpstut_wpAddFile2Page    },
  1261.     {    &somId_wpAddFile3Page,
  1262.          (somMethodProc *) wpstut_wpAddFile3Page    },
  1263.     {    &somId_wpAddObjectGeneralPage,
  1264.          (somMethodProc *) wpstut_wpAddObjectGeneralPage    },
  1265.     {    &somId_wpAddSettingsPages,
  1266.          (somMethodProc *) wpstut_wpAddSettingsPages    },
  1267.     {    &somId_wpAddToObjUseList,
  1268.          (somMethodProc *) wpstut_wpAddToObjUseList    },
  1269.     {    &somId_wpAllocMem,
  1270.          (somMethodProc *) wpstut_wpAllocMem    },
  1271.     {    &somId_wpClose,
  1272.          (somMethodProc *) wpstut_wpClose    },
  1273.     {    &somId_wpCopiedFromTemplate,
  1274.          (somMethodProc *) wpstut_wpCopiedFromTemplate    },
  1275.     {    &somId_wpCopyObject,
  1276.          (somMethodProc *) wpstut_wpCopyObject    },
  1277.     {    &somId_wpCreateFromTemplate,
  1278.          (somMethodProc *) wpstut_wpCreateFromTemplate    },
  1279.     {    &somId_wpCreateShadowObject,
  1280.          (somMethodProc *) wpstut_wpCreateShadowObject    },
  1281.     {    &somId_wpDelete,
  1282.          (somMethodProc *) wpstut_wpDelete    },
  1283.     {    &somId_wpDeleteFromObjUseList,
  1284.          (somMethodProc *) wpstut_wpDeleteFromObjUseList    },
  1285.     {    &somId_wpDoesObjectMatch,
  1286.          (somMethodProc *) wpstut_wpDoesObjectMatch    },
  1287.     {    &somId_wpDraggedOverObject,
  1288.          (somMethodProc *) wpstut_wpDraggedOverObject    },
  1289.     {    &somId_wpDragOver,
  1290.          (somMethodProc *) wpstut_wpDragOver    },
  1291.     {    &somId_wpDrop,
  1292.          (somMethodProc *) wpstut_wpDrop    },
  1293.     {    &somId_wpDroppedOnObject,
  1294.          (somMethodProc *) wpstut_wpDroppedOnObject    },
  1295.     {    &somId_wpEndConversation,
  1296.          (somMethodProc *) wpstut_wpEndConversation    },
  1297.     {    &somId_wpFilterPopupMenu,
  1298.          (somMethodProc *) wpstut_wpFilterPopupMenu    },
  1299.     {    &somId_wpFindUseItem,
  1300.          (somMethodProc *) wpstut_wpFindUseItem    },
  1301.     {    &somId_wpFormatDragItem,
  1302.          (somMethodProc *) wpstut_wpFormatDragItem    },
  1303.     {    &somId_wpFree,
  1304.          (somMethodProc *) wpstut_wpFree    },
  1305.     {    &somId_wpFreeMem,
  1306.          (somMethodProc *) wpstut_wpFreeMem    },
  1307.     {    &somId_wpHide,
  1308.          (somMethodProc *) wpstut_wpHide    },
  1309.     {    &somId_wpInitData,
  1310.          (somMethodProc *) wpstut_wpInitData    },
  1311.     {    &somId_wpInsertPopupMenuItems,
  1312.          (somMethodProc *) wpstut_wpInsertPopupMenuItems    },
  1313.     {    &somId_wpInsertSettingsPage,
  1314.          (somMethodProc *) wpstut_wpInsertSettingsPage    },
  1315.     {    &somId_wpMenuItemSelected,
  1316.          (somMethodProc *) wpstut_wpMenuItemSelected    },
  1317.     {    &somId_wpModifyPopupMenu,
  1318.          (somMethodProc *) wpstut_wpModifyPopupMenu    },
  1319.     {    &somId_wpOpen,
  1320.          (somMethodProc *) wpstut_wpOpen    },
  1321.     {    &somId_wpQueryConfirmations,
  1322.          (somMethodProc *) wpstut_wpQueryConfirmations    },
  1323.     {    &somId_wpQueryDefaultView,
  1324.          (somMethodProc *) wpstut_wpQueryDefaultView    },
  1325.     {    &somId_wpQueryDetailsData,
  1326.          (somMethodProc *) wpstut_wpQueryDetailsData    },
  1327.     {    &somId_wpQueryHandle,
  1328.          (somMethodProc *) wpstut_wpQueryHandle    },
  1329.     {    &somId_wpQueryIcon,
  1330.          (somMethodProc *) wpstut_wpQueryIcon    },
  1331.     {    &somId_wpQueryIconData,
  1332.          (somMethodProc *) wpstut_wpQueryIconData    },
  1333.     {    &somId_wpQueryRealName,
  1334.          (somMethodProc *) wpstut_wpQueryRealName    },
  1335.     {    &somId_wpQueryStyle,
  1336.          (somMethodProc *) wpstut_wpQueryStyle    },
  1337.     {    &somId_wpQueryTitle,
  1338.          (somMethodProc *) wpstut_wpQueryTitle    },
  1339.     {    &somId_wpQueryType,
  1340.          (somMethodProc *) wpstut_wpQueryType    },
  1341.     {    &somId_wpRegisterView,
  1342.          (somMethodProc *) wpstut_wpRegisterView    },
  1343.     {    &somId_wpRender,
  1344.          (somMethodProc *) wpstut_wpRender    },
  1345.     {    &somId_wpRenderComplete,
  1346.          (somMethodProc *) wpstut_wpRenderComplete    },
  1347.     {    &somId_wpRestore,
  1348.          (somMethodProc *) wpstut_wpRestore    },
  1349.     {    &somId_wpRestoreData,
  1350.          (somMethodProc *) wpstut_wpRestoreData    },
  1351.     {    &somId_wpRestoreLong,
  1352.          (somMethodProc *) wpstut_wpRestoreLong    },
  1353.     {    &somId_wpRestoreState,
  1354.          (somMethodProc *) wpstut_wpRestoreState    },
  1355.     {    &somId_wpRestoreString,
  1356.          (somMethodProc *) wpstut_wpRestoreString    },
  1357.     {    &somId_wpSaveData,
  1358.          (somMethodProc *) wpstut_wpSaveData    },
  1359.     {    &somId_wpSaveDeferred,
  1360.          (somMethodProc *) wpstut_wpSaveDeferred    },
  1361.     {    &somId_wpSaveImmediate,
  1362.          (somMethodProc *) wpstut_wpSaveImmediate    },
  1363.     {    &somId_wpSaveLong,
  1364.          (somMethodProc *) wpstut_wpSaveLong    },
  1365.     {    &somId_wpSaveState,
  1366.          (somMethodProc *) wpstut_wpSaveState    },
  1367.     {    &somId_wpSaveString,
  1368.          (somMethodProc *) wpstut_wpSaveString    },
  1369.     {    &somId_wpSetDefaultView,
  1370.          (somMethodProc *) wpstut_wpSetDefaultView    },
  1371.     {    &somId_wpSetIcon,
  1372.          (somMethodProc *) wpstut_wpSetIcon    },
  1373.     {    &somId_wpSetIconData,
  1374.          (somMethodProc *) wpstut_wpSetIconData    },
  1375.     {    &somId_wpSetRealName,
  1376.          (somMethodProc *) wpstut_wpSetRealName    },
  1377.     {    &somId_wpSetStyle,
  1378.          (somMethodProc *) wpstut_wpSetStyle    },
  1379.     {    &somId_wpSetTitle,
  1380.          (somMethodProc *) wpstut_wpSetTitle    },
  1381.     {    &somId_wpSetType,
  1382.          (somMethodProc *) wpstut_wpSetType    },
  1383.     {    &somId_wpSetup,
  1384.          (somMethodProc *) wpstut_wpSetup    },
  1385.     {    &somId_wpSwitchTo,
  1386.          (somMethodProc *) wpstut_wpSwitchTo    },
  1387.     {    &somId_wpUnlockObject,
  1388.          (somMethodProc *) wpstut_wpUnlockObject    },
  1389.     {    &somId_wpUnInitData,
  1390.          (somMethodProc *) wpstut_wpUnInitData    },
  1391. };
  1392.  
  1393. static void WPSTutorialsomInitializeClass ()
  1394. {
  1395.     int i;
  1396.     somStaticMethod_t *smp;
  1397.     somOverrideMethod_t *omp;
  1398.  
  1399. /*
  1400.  * Add the Static Methods.
  1401.  */
  1402.     for (smp = WPSTutorialSM, i = 0; i < 1; smp++, i++)
  1403.         *(smp->classData) =
  1404.             _somAddStaticMethod (WPSTutorialtempClassData.classObject,
  1405.                 *(smp->methodId), *(smp->methodDescriptor),
  1406.                 smp->method, smp->redispatchStub,
  1407.                 smp->applyStub);
  1408.  
  1409.  
  1410. /*
  1411.  * Override methods.
  1412.  */
  1413.     for (omp = WPSTutorialOM, i = 0; i < 69; omp++, i++)
  1414.         _somOverrideSMethod (WPSTutorialtempClassData.classObject,
  1415.             *(omp->methodId), omp->method);
  1416.  
  1417. }
  1418.  
  1419. #pragma linkage(WPSTutorialsomCreateClass, system)
  1420. static void SOMLINK WPSTutorialsomCreateClass(SOMClass *pClsObj,
  1421.                            SOMClass *mClsObj)
  1422. {
  1423.     WPSTutorialtempClassData.classObject = _somNew (mClsObj);
  1424.     _somInitClass (WPSTutorialtempClassData.classObject,
  1425.         "WPSTutorial",
  1426.         pClsObj,
  1427.         0,
  1428.         WPSTutorial_MaxNoMethods,
  1429.         WPSTutorial_MajorVersion,
  1430.         WPSTutorial_MinorVersion);
  1431.     WPSTutorialCClassData.instanceDataToken = 
  1432.     _somGetInstanceToken(WPSTutorialtempClassData.classObject);
  1433.     WPSTutorialsomInitializeClass();
  1434.     WPSTutorialCClassData.parentMtab =
  1435.     _somGetPClsMtab(WPSTutorialtempClassData.classObject);
  1436.     _somSetClassData(WPSTutorialtempClassData.classObject, (somClassDataStructure *)&WPSTutorialClassData);
  1437.     _somClassReady(WPSTutorialtempClassData.classObject);
  1438.     /* make newly created class object visible */
  1439.     WPSTutorialClassData.classObject = WPSTutorialtempClassData.classObject;
  1440. }
  1441.  
  1442. WPSTutorial * SOMLINK WPSTutorialNewClass (integer4 scemajorVersion,
  1443.         integer4 sceminorVersion)
  1444. {
  1445.     SOMClass *pClsObj;
  1446.     SOMClass *mClsObj;
  1447.  
  1448.     /* Check the version numbers */
  1449.     if (((scemajorVersion != 0) && 
  1450.          (scemajorVersion != WPSTutorial_MajorVersion)) ||
  1451.         ((sceminorVersion != 0) && 
  1452.          (sceminorVersion > WPSTutorial_MinorVersion))) {
  1453.     somPrintf("WPSTutorialNewClass: Error, bad version numbers.\n");
  1454.     SOM_Error(SOMERROR_BadVersion);
  1455.     }
  1456.     /* Don't do anything if class object is already created. */
  1457.     if (WPSTutorialClassData.classObject != (SOMAny *) NULL)
  1458.     return(WPSTutorialClassData.classObject);
  1459.  
  1460.     /* Make sure the environment is initialized. */
  1461.     if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
  1462.     if (SOMClassMgrObject == (SOMAny *) NULL)
  1463.     SOM_Error(SOMERROR_CouldNotStartup);
  1464.  
  1465.     /* Get the parent class object. */
  1466.     WPDataFileNewClass(1,2);    /* static reference */
  1467.     pClsObj = _somFindClass(SOMClassMgrObject,
  1468.         SOM_IdFromString("WPDataFile"), 1, 2);
  1469.     if (pClsObj == (SOMClass *) NULL)
  1470.     SOM_Error(SOMERROR_NoParentClass);
  1471.  
  1472.     /* Explicit metaclass, so get it */ 
  1473.     M_WPSTutorialNewClass(0,0);    /* static reference */
  1474.     mClsObj = _somFindClass(SOMClassMgrObject,
  1475.         SOM_IdFromString("M_WPSTutorial"), 0, 0);
  1476.     if (mClsObj == (SOMClass *) NULL)
  1477.     SOM_Error(SOMERROR_NoMetaClass);
  1478.  
  1479.     somConstructClass(WPSTutorialsomCreateClass, pClsObj, mClsObj,
  1480.              &WPSTutorialtempClassData);
  1481.     return (WPSTutorialClassData.classObject);
  1482. }
  1483.  
  1484. #endif                   /* WPSTutorial_Class_Source */
  1485.  
  1486. #endif       /* wpstutor_ih */
  1487.  
  1488. /*
  1489.  * This file was generated by the SOM Compiler.
  1490.  * FileName: wpstutor.ih.
  1491.  * Generated using:
  1492.  *     SOM Precompiler spc: 1.22
  1493.  *     SOM Emitter emitih: 1.59
  1494.  */
  1495.  
  1496. #ifndef wpstutor_mih
  1497. #define wpstutor_mih
  1498.  
  1499.  
  1500. /*
  1501.  * Set the scope of methods functions
  1502.  */
  1503. #ifndef SOM_Scope
  1504. #ifdef __cplusplus
  1505. #define SOM_Scope extern "C"
  1506. #else
  1507. #define SOM_Scope extern
  1508. #endif
  1509. #endif
  1510.  
  1511. #ifndef SOM_CurrentClass
  1512. #define SOM_CurrentClass M_WPSTutorialCClassData.parentMtab
  1513. #endif
  1514.  
  1515. #define M_WPSTutorial_MaxNoMethods 1
  1516.  
  1517. /*
  1518.  * Instance data
  1519.  */
  1520. typedef void M_WPSTutorialData;
  1521.  
  1522. /*
  1523.  * Trace/Debug macro
  1524.  */
  1525. #ifndef M_WPSTutorialMethodDebug
  1526. #define M_WPSTutorialMethodDebug(c,m) SOMMethodDebug(c,m)
  1527. #endif
  1528.  
  1529. /*
  1530.  * Begin stuff that only goes in the primary file
  1531.  */
  1532. #ifdef M_WPSTutorial_Class_Source
  1533.  
  1534. /*
  1535.  * Current class macros for Instance and Meta classes.
  1536.  */
  1537.  
  1538. /*
  1539.  * Generate the Apply Stubs.
  1540.  */
  1541. #pragma linkage(somAP_clsQueryModuleHandle, system)
  1542. static HMODULE   SOMLINK somAP_clsQueryModuleHandle(M_WPSTutorial *somSelf,
  1543.         somId __id,
  1544.         somId __desc,
  1545.         va_list __ap)
  1546. {
  1547.     __ap; __id; __desc;           /* Referenced to prevent warning msg */
  1548.  
  1549.     return (M_WPSTutorial_clsQueryModuleHandle(somSelf));
  1550. }
  1551.  
  1552.  
  1553. /*
  1554.  * Overridden method: wpclsCreateDefaultTemplates
  1555.  */
  1556. #pragma linkage(wpstutM_wpclsCreateDefaultTemplates, system)
  1557. SOM_Scope BOOL   SOMLINK wpstutM_wpclsCreateDefaultTemplates(M_WPSTutorial *somSelf,
  1558.         WPObject *Folder);
  1559. #ifndef parent_wpclsCreateDefaultTemplates
  1560. static char *somMN_wpclsCreateDefaultTemplates = "wpclsCreateDefaultTemplates";
  1561. static somId somId_wpclsCreateDefaultTemplates = &somMN_wpclsCreateDefaultTemplates;
  1562. #define parent_wpclsCreateDefaultTemplates(somSelf,Folder) \
  1563.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsCreateDefaultTemplates)) \
  1564.      (somSelf,Folder))
  1565. #endif
  1566. #define M_WPSTutorialParent_wpclsCreateDefaultTemplates parent_wpclsCreateDefaultTemplates
  1567.  
  1568. /*
  1569.  * Overridden method: wpclsFindObjectEnd
  1570.  */
  1571. #pragma linkage(wpstutM_wpclsFindObjectEnd, system)
  1572. SOM_Scope BOOL   SOMLINK wpstutM_wpclsFindObjectEnd(M_WPSTutorial *somSelf,
  1573.         HFIND hFind);
  1574. #ifndef parent_wpclsFindObjectEnd
  1575. static char *somMN_wpclsFindObjectEnd = "wpclsFindObjectEnd";
  1576. static somId somId_wpclsFindObjectEnd = &somMN_wpclsFindObjectEnd;
  1577. #define parent_wpclsFindObjectEnd(somSelf,hFind) \
  1578.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsFindObjectEnd)) \
  1579.      (somSelf,hFind))
  1580. #endif
  1581. #define M_WPSTutorialParent_wpclsFindObjectEnd parent_wpclsFindObjectEnd
  1582.  
  1583. /*
  1584.  * Overridden method: wpclsFindObjectFirst
  1585.  */
  1586. #pragma linkage(wpstutM_wpclsFindObjectFirst, system)
  1587. SOM_Scope BOOL   SOMLINK wpstutM_wpclsFindObjectFirst(M_WPSTutorial *somSelf,
  1588.         PCLASS pClassList,
  1589.         PHFIND phFind,
  1590.         PSZ pszTitle,
  1591.         WPFolder *Folder,
  1592.         BOOL fSubfolders,
  1593.         PVOID pExtendedCriteria,
  1594.         POBJECT pBuffer,
  1595.         PULONG pCount);
  1596. #ifndef parent_wpclsFindObjectFirst
  1597. static char *somMN_wpclsFindObjectFirst = "wpclsFindObjectFirst";
  1598. static somId somId_wpclsFindObjectFirst = &somMN_wpclsFindObjectFirst;
  1599. #define parent_wpclsFindObjectFirst(somSelf,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount) \
  1600.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsFindObjectFirst)) \
  1601.      (somSelf,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount))
  1602. #endif
  1603. #define M_WPSTutorialParent_wpclsFindObjectFirst parent_wpclsFindObjectFirst
  1604.  
  1605. /*
  1606.  * Overridden method: wpclsFindObjectNext
  1607.  */
  1608. #pragma linkage(wpstutM_wpclsFindObjectNext, system)
  1609. SOM_Scope BOOL   SOMLINK wpstutM_wpclsFindObjectNext(M_WPSTutorial *somSelf,
  1610.         HFIND hFind,
  1611.         POBJECT pBuffer,
  1612.         PULONG pCount);
  1613. #ifndef parent_wpclsFindObjectNext
  1614. static char *somMN_wpclsFindObjectNext = "wpclsFindObjectNext";
  1615. static somId somId_wpclsFindObjectNext = &somMN_wpclsFindObjectNext;
  1616. #define parent_wpclsFindObjectNext(somSelf,hFind,pBuffer,pCount) \
  1617.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsFindObjectNext)) \
  1618.      (somSelf,hFind,pBuffer,pCount))
  1619. #endif
  1620. #define M_WPSTutorialParent_wpclsFindObjectNext parent_wpclsFindObjectNext
  1621.  
  1622. /*
  1623.  * Overridden method: wpclsInitData
  1624.  */
  1625. #pragma linkage(wpstutM_wpclsInitData, system)
  1626. SOM_Scope void   SOMLINK wpstutM_wpclsInitData(M_WPSTutorial *somSelf);
  1627. #ifndef parent_wpclsInitData
  1628. static char *somMN_wpclsInitData = "wpclsInitData";
  1629. static somId somId_wpclsInitData = &somMN_wpclsInitData;
  1630. #define parent_wpclsInitData(somSelf) \
  1631.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsInitData)) \
  1632.      (somSelf))
  1633. #endif
  1634. #define M_WPSTutorialParent_wpclsInitData parent_wpclsInitData
  1635.  
  1636. /*
  1637.  * Overridden method: wpclsMakeAwake
  1638.  */
  1639. #pragma linkage(wpstutM_wpclsMakeAwake, system)
  1640. SOM_Scope WPObject *  SOMLINK wpstutM_wpclsMakeAwake(M_WPSTutorial *somSelf,
  1641.         PSZ pszTitle,
  1642.         ULONG ulStyle,
  1643.         HPOINTER hptrIcon,
  1644.         POBJDATA pObjData,
  1645.         WPFolder *Folder,
  1646.         ULONG ulUser);
  1647. #ifndef parent_wpclsMakeAwake
  1648. static char *somMN_wpclsMakeAwake = "wpclsMakeAwake";
  1649. static somId somId_wpclsMakeAwake = &somMN_wpclsMakeAwake;
  1650. #define parent_wpclsMakeAwake(somSelf,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser) \
  1651.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsMakeAwake)) \
  1652.      (somSelf,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser))
  1653. #endif
  1654. #define M_WPSTutorialParent_wpclsMakeAwake parent_wpclsMakeAwake
  1655.  
  1656. /*
  1657.  * Overridden method: wpclsNew
  1658.  */
  1659. #pragma linkage(wpstutM_wpclsNew, system)
  1660. SOM_Scope WPObject *  SOMLINK wpstutM_wpclsNew(M_WPSTutorial *somSelf,
  1661.         PSZ pszTitle,
  1662.         PSZ pszSetupEnv,
  1663.         WPFolder *Folder,
  1664.         BOOL fLock);
  1665. #ifndef parent_wpclsNew
  1666. static char *somMN_wpclsNew = "wpclsNew";
  1667. static somId somId_wpclsNew = &somMN_wpclsNew;
  1668. #define parent_wpclsNew(somSelf,pszTitle,pszSetupEnv,Folder,fLock) \
  1669.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsNew)) \
  1670.      (somSelf,pszTitle,pszSetupEnv,Folder,fLock))
  1671. #endif
  1672. #define M_WPSTutorialParent_wpclsNew parent_wpclsNew
  1673.  
  1674. /*
  1675.  * Overridden method: wpclsQueryDefaultView
  1676.  */
  1677. #pragma linkage(wpstutM_wpclsQueryDefaultView, system)
  1678. SOM_Scope ULONG   SOMLINK wpstutM_wpclsQueryDefaultView(M_WPSTutorial *somSelf);
  1679. #ifndef parent_wpclsQueryDefaultView
  1680. static char *somMN_wpclsQueryDefaultView = "wpclsQueryDefaultView";
  1681. static somId somId_wpclsQueryDefaultView = &somMN_wpclsQueryDefaultView;
  1682. #define parent_wpclsQueryDefaultView(somSelf) \
  1683.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryDefaultView)) \
  1684.      (somSelf))
  1685. #endif
  1686. #define M_WPSTutorialParent_wpclsQueryDefaultView parent_wpclsQueryDefaultView
  1687.  
  1688. /*
  1689.  * Overridden method: wpclsQueryDetails
  1690.  */
  1691. #pragma linkage(wpstutM_wpclsQueryDetails, system)
  1692. SOM_Scope PCLASSDETAILS   SOMLINK wpstutM_wpclsQueryDetails(M_WPSTutorial *somSelf);
  1693. #ifndef parent_wpclsQueryDetails
  1694. static char *somMN_wpclsQueryDetails = "wpclsQueryDetails";
  1695. static somId somId_wpclsQueryDetails = &somMN_wpclsQueryDetails;
  1696. #define parent_wpclsQueryDetails(somSelf) \
  1697.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryDetails)) \
  1698.      (somSelf))
  1699. #endif
  1700. #define M_WPSTutorialParent_wpclsQueryDetails parent_wpclsQueryDetails
  1701.  
  1702. /*
  1703.  * Overridden method: wpclsQueryDetailsInfo
  1704.  */
  1705. #pragma linkage(wpstutM_wpclsQueryDetailsInfo, system)
  1706. SOM_Scope ULONG   SOMLINK wpstutM_wpclsQueryDetailsInfo(M_WPSTutorial *somSelf,
  1707.         PCLASSFIELDINFO *ppClassFieldInfo,
  1708.         PULONG pSize);
  1709. #ifndef parent_wpclsQueryDetailsInfo
  1710. static char *somMN_wpclsQueryDetailsInfo = "wpclsQueryDetailsInfo";
  1711. static somId somId_wpclsQueryDetailsInfo = &somMN_wpclsQueryDetailsInfo;
  1712. #define parent_wpclsQueryDetailsInfo(somSelf,ppClassFieldInfo,pSize) \
  1713.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryDetailsInfo)) \
  1714.      (somSelf,ppClassFieldInfo,pSize))
  1715. #endif
  1716. #define M_WPSTutorialParent_wpclsQueryDetailsInfo parent_wpclsQueryDetailsInfo
  1717.  
  1718. /*
  1719.  * Overridden method: wpclsQueryFolder
  1720.  */
  1721. #pragma linkage(wpstutM_wpclsQueryFolder, system)
  1722. SOM_Scope WPObject *  SOMLINK wpstutM_wpclsQueryFolder(M_WPSTutorial *somSelf,
  1723.         PSZ pszLocation,
  1724.         BOOL fLock);
  1725. #ifndef parent_wpclsQueryFolder
  1726. static char *somMN_wpclsQueryFolder = "wpclsQueryFolder";
  1727. static somId somId_wpclsQueryFolder = &somMN_wpclsQueryFolder;
  1728. #define parent_wpclsQueryFolder(somSelf,pszLocation,fLock) \
  1729.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryFolder)) \
  1730.      (somSelf,pszLocation,fLock))
  1731. #endif
  1732. #define M_WPSTutorialParent_wpclsQueryFolder parent_wpclsQueryFolder
  1733.  
  1734. /*
  1735.  * Overridden method: wpclsQueryIcon
  1736.  */
  1737. #pragma linkage(wpstutM_wpclsQueryIcon, system)
  1738. SOM_Scope HPOINTER   SOMLINK wpstutM_wpclsQueryIcon(M_WPSTutorial *somSelf);
  1739. #ifndef parent_wpclsQueryIcon
  1740. static char *somMN_wpclsQueryIcon = "wpclsQueryIcon";
  1741. static somId somId_wpclsQueryIcon = &somMN_wpclsQueryIcon;
  1742. #define parent_wpclsQueryIcon(somSelf) \
  1743.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryIcon)) \
  1744.      (somSelf))
  1745. #endif
  1746. #define M_WPSTutorialParent_wpclsQueryIcon parent_wpclsQueryIcon
  1747.  
  1748. /*
  1749.  * Overridden method: wpclsQueryIconData
  1750.  */
  1751. #pragma linkage(wpstutM_wpclsQueryIconData, system)
  1752. SOM_Scope ULONG   SOMLINK wpstutM_wpclsQueryIconData(M_WPSTutorial *somSelf,
  1753.         PICONINFO pIconInfo);
  1754. #ifndef parent_wpclsQueryIconData
  1755. static char *somMN_wpclsQueryIconData = "wpclsQueryIconData";
  1756. static somId somId_wpclsQueryIconData = &somMN_wpclsQueryIconData;
  1757. #define parent_wpclsQueryIconData(somSelf,pIconInfo) \
  1758.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryIconData)) \
  1759.      (somSelf,pIconInfo))
  1760. #endif
  1761. #define M_WPSTutorialParent_wpclsQueryIconData parent_wpclsQueryIconData
  1762.  
  1763. /*
  1764.  * Overridden method: wpclsQueryInstanceFilter
  1765.  */
  1766. #pragma linkage(wpstutM_wpclsQueryInstanceFilter, system)
  1767. SOM_Scope PSZ   SOMLINK wpstutM_wpclsQueryInstanceFilter(M_WPSTutorial *somSelf);
  1768. #ifndef parent_wpclsQueryInstanceFilter
  1769. static char *somMN_wpclsQueryInstanceFilter = "wpclsQueryInstanceFilter";
  1770. static somId somId_wpclsQueryInstanceFilter = &somMN_wpclsQueryInstanceFilter;
  1771. #define parent_wpclsQueryInstanceFilter(somSelf) \
  1772.     ((SOM_ParentResolveE(M_WPFileSystem, SOM_CurrentClass, wpclsQueryInstanceFilter)) \
  1773.      (somSelf))
  1774. #endif
  1775. #define M_WPSTutorialParent_wpclsQueryInstanceFilter parent_wpclsQueryInstanceFilter
  1776.  
  1777. /*
  1778.  * Overridden method: wpclsQueryInstanceType
  1779.  */
  1780. #pragma linkage(wpstutM_wpclsQueryInstanceType, system)
  1781. SOM_Scope PSZ   SOMLINK wpstutM_wpclsQueryInstanceType(M_WPSTutorial *somSelf);
  1782. #ifndef parent_wpclsQueryInstanceType
  1783. static char *somMN_wpclsQueryInstanceType = "wpclsQueryInstanceType";
  1784. static somId somId_wpclsQueryInstanceType = &somMN_wpclsQueryInstanceType;
  1785. #define parent_wpclsQueryInstanceType(somSelf) \
  1786.     ((SOM_ParentResolveE(M_WPFileSystem, SOM_CurrentClass, wpclsQueryInstanceType)) \
  1787.      (somSelf))
  1788. #endif
  1789. #define M_WPSTutorialParent_wpclsQueryInstanceType parent_wpclsQueryInstanceType
  1790.  
  1791. /*
  1792.  * Overridden method: wpclsQueryObject
  1793.  */
  1794. #pragma linkage(wpstutM_wpclsQueryObject, system)
  1795. SOM_Scope WPObject *  SOMLINK wpstutM_wpclsQueryObject(M_WPSTutorial *somSelf,
  1796.         HOBJECT hObject);
  1797. #ifndef parent_wpclsQueryObject
  1798. static char *somMN_wpclsQueryObject = "wpclsQueryObject";
  1799. static somId somId_wpclsQueryObject = &somMN_wpclsQueryObject;
  1800. #define parent_wpclsQueryObject(somSelf,hObject) \
  1801.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryObject)) \
  1802.      (somSelf,hObject))
  1803. #endif
  1804. #define M_WPSTutorialParent_wpclsQueryObject parent_wpclsQueryObject
  1805.  
  1806. /*
  1807.  * Overridden method: wpclsQuerySettingsPageSize
  1808.  */
  1809. #pragma linkage(wpstutM_wpclsQuerySettingsPageSize, system)
  1810. SOM_Scope BOOL   SOMLINK wpstutM_wpclsQuerySettingsPageSize(M_WPSTutorial *somSelf,
  1811.         PSIZEL pSizl);
  1812. #ifndef parent_wpclsQuerySettingsPageSize
  1813. static char *somMN_wpclsQuerySettingsPageSize = "wpclsQuerySettingsPageSize";
  1814. static somId somId_wpclsQuerySettingsPageSize = &somMN_wpclsQuerySettingsPageSize;
  1815. #define parent_wpclsQuerySettingsPageSize(somSelf,pSizl) \
  1816.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQuerySettingsPageSize)) \
  1817.      (somSelf,pSizl))
  1818. #endif
  1819. #define M_WPSTutorialParent_wpclsQuerySettingsPageSize parent_wpclsQuerySettingsPageSize
  1820.  
  1821. /*
  1822.  * Overridden method: wpclsQueryStyle
  1823.  */
  1824. #pragma linkage(wpstutM_wpclsQueryStyle, system)
  1825. SOM_Scope ULONG   SOMLINK wpstutM_wpclsQueryStyle(M_WPSTutorial *somSelf);
  1826. #ifndef parent_wpclsQueryStyle
  1827. static char *somMN_wpclsQueryStyle = "wpclsQueryStyle";
  1828. static somId somId_wpclsQueryStyle = &somMN_wpclsQueryStyle;
  1829. #define parent_wpclsQueryStyle(somSelf) \
  1830.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryStyle)) \
  1831.      (somSelf))
  1832. #endif
  1833. #define M_WPSTutorialParent_wpclsQueryStyle parent_wpclsQueryStyle
  1834.  
  1835. /*
  1836.  * Overridden method: wpclsQueryTitle
  1837.  */
  1838. #pragma linkage(wpstutM_wpclsQueryTitle, system)
  1839. SOM_Scope PSZ   SOMLINK wpstutM_wpclsQueryTitle(M_WPSTutorial *somSelf);
  1840. #ifndef parent_wpclsQueryTitle
  1841. static char *somMN_wpclsQueryTitle = "wpclsQueryTitle";
  1842. static somId somId_wpclsQueryTitle = &somMN_wpclsQueryTitle;
  1843. #define parent_wpclsQueryTitle(somSelf) \
  1844.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsQueryTitle)) \
  1845.      (somSelf))
  1846. #endif
  1847. #define M_WPSTutorialParent_wpclsQueryTitle parent_wpclsQueryTitle
  1848.  
  1849. /*
  1850.  * Overridden method: wpclsUnInitData
  1851.  */
  1852. #pragma linkage(wpstutM_wpclsUnInitData, system)
  1853. SOM_Scope void   SOMLINK wpstutM_wpclsUnInitData(M_WPSTutorial *somSelf);
  1854. #ifndef parent_wpclsUnInitData
  1855. static char *somMN_wpclsUnInitData = "wpclsUnInitData";
  1856. static somId somId_wpclsUnInitData = &somMN_wpclsUnInitData;
  1857. #define parent_wpclsUnInitData(somSelf) \
  1858.     ((SOM_ParentResolveE(M_WPObject, SOM_CurrentClass, wpclsUnInitData)) \
  1859.      (somSelf))
  1860. #endif
  1861. #define M_WPSTutorialParent_wpclsUnInitData parent_wpclsUnInitData
  1862.  
  1863. /*
  1864.  * Temporary class data structure used only in class creation
  1865.  */
  1866. static somClassDataStructure M_WPSTutorialtempClassData;
  1867.  
  1868. /*
  1869.  * Initialize the class data structure
  1870.  */
  1871. struct M_WPSTutorialClassDataStructure M_WPSTutorialClassData = {(SOMAny *) NULL};
  1872.  
  1873. /*
  1874.  * Define the C class data structure
  1875.  */
  1876. struct M_WPSTutorialCClassDataStructure M_WPSTutorialCClassData = {(somMethodTab *) NULL};
  1877.  
  1878. /*
  1879.  * New Method: clsQueryModuleHandle
  1880.  */
  1881. #pragma linkage(wpstutM_clsQueryModuleHandle, system)
  1882. SOM_Scope HMODULE   SOMLINK wpstutM_clsQueryModuleHandle(M_WPSTutorial *somSelf);
  1883. static char *somMN_clsQueryModuleHandle = "clsQueryModuleHandle";
  1884. static somId somId_clsQueryModuleHandle = &somMN_clsQueryModuleHandle;
  1885. static char *somDS_clsQueryModuleHandle = somMD_M_WPSTutorial_clsQueryModuleHandle;
  1886. static somId somDI_clsQueryModuleHandle = &somDS_clsQueryModuleHandle;
  1887. #pragma linkage(somRD_clsQueryModuleHandle, system)
  1888. static HMODULE   SOMLINK somRD_clsQueryModuleHandle(M_WPSTutorial *somSelf)
  1889. {
  1890.     return ((HMODULE) va_somDispatchL(somSelf, somId_clsQueryModuleHandle,
  1891.         _somGetMethodDescriptor(SOM_GetClass(somSelf),somId_clsQueryModuleHandle)));
  1892. }
  1893.  
  1894. /*
  1895.  * Routines to create the class object
  1896.  */
  1897.  
  1898. /*
  1899.  * Declare the Static Methods table.
  1900.  */
  1901. static somStaticMethod_t M_WPSTutorialSM[] = {
  1902.     {    &M_WPSTutorialClassData.clsQueryModuleHandle,
  1903.          &somId_clsQueryModuleHandle,
  1904.          &somDI_clsQueryModuleHandle,
  1905.          (somMethodProc *) wpstutM_clsQueryModuleHandle,
  1906.          (somMethodProc *) somRD_clsQueryModuleHandle,
  1907.          (somMethodProc *) somAP_clsQueryModuleHandle    },
  1908. };
  1909.  
  1910.  
  1911. /*
  1912.  * Declare the Override Methods table.
  1913.  */
  1914. static somOverrideMethod_t M_WPSTutorialOM[] = {
  1915.     {    &somId_wpclsCreateDefaultTemplates,
  1916.          (somMethodProc *) wpstutM_wpclsCreateDefaultTemplates    },
  1917.     {    &somId_wpclsFindObjectEnd,
  1918.          (somMethodProc *) wpstutM_wpclsFindObjectEnd    },
  1919.     {    &somId_wpclsFindObjectFirst,
  1920.          (somMethodProc *) wpstutM_wpclsFindObjectFirst    },
  1921.     {    &somId_wpclsFindObjectNext,
  1922.          (somMethodProc *) wpstutM_wpclsFindObjectNext    },
  1923.     {    &somId_wpclsInitData,
  1924.          (somMethodProc *) wpstutM_wpclsInitData    },
  1925.     {    &somId_wpclsMakeAwake,
  1926.          (somMethodProc *) wpstutM_wpclsMakeAwake    },
  1927.     {    &somId_wpclsNew,
  1928.          (somMethodProc *) wpstutM_wpclsNew    },
  1929.     {    &somId_wpclsQueryDefaultView,
  1930.          (somMethodProc *) wpstutM_wpclsQueryDefaultView    },
  1931.     {    &somId_wpclsQueryDetails,
  1932.          (somMethodProc *) wpstutM_wpclsQueryDetails    },
  1933.     {    &somId_wpclsQueryDetailsInfo,
  1934.          (somMethodProc *) wpstutM_wpclsQueryDetailsInfo    },
  1935.     {    &somId_wpclsQueryFolder,
  1936.          (somMethodProc *) wpstutM_wpclsQueryFolder    },
  1937.     {    &somId_wpclsQueryIcon,
  1938.          (somMethodProc *) wpstutM_wpclsQueryIcon    },
  1939.     {    &somId_wpclsQueryIconData,
  1940.          (somMethodProc *) wpstutM_wpclsQueryIconData    },
  1941.     {    &somId_wpclsQueryInstanceFilter,
  1942.          (somMethodProc *) wpstutM_wpclsQueryInstanceFilter    },
  1943.     {    &somId_wpclsQueryInstanceType,
  1944.          (somMethodProc *) wpstutM_wpclsQueryInstanceType    },
  1945.     {    &somId_wpclsQueryObject,
  1946.          (somMethodProc *) wpstutM_wpclsQueryObject    },
  1947.     {    &somId_wpclsQuerySettingsPageSize,
  1948.          (somMethodProc *) wpstutM_wpclsQuerySettingsPageSize    },
  1949.     {    &somId_wpclsQueryStyle,
  1950.          (somMethodProc *) wpstutM_wpclsQueryStyle    },
  1951.     {    &somId_wpclsQueryTitle,
  1952.          (somMethodProc *) wpstutM_wpclsQueryTitle    },
  1953.     {    &somId_wpclsUnInitData,
  1954.          (somMethodProc *) wpstutM_wpclsUnInitData    },
  1955. };
  1956.  
  1957. static void M_WPSTutorialsomInitializeClass ()
  1958. {
  1959.     int i;
  1960.     somStaticMethod_t *smp;
  1961.     somOverrideMethod_t *omp;
  1962.  
  1963. /*
  1964.  * Add the Static Methods.
  1965.  */
  1966.     for (smp = M_WPSTutorialSM, i = 0; i < 1; smp++, i++)
  1967.         *(smp->classData) =
  1968.             _somAddStaticMethod (M_WPSTutorialtempClassData.classObject,
  1969.                 *(smp->methodId), *(smp->methodDescriptor),
  1970.                 smp->method, smp->redispatchStub,
  1971.                 smp->applyStub);
  1972.  
  1973.  
  1974. /*
  1975.  * Override methods.
  1976.  */
  1977.     for (omp = M_WPSTutorialOM, i = 0; i < 20; omp++, i++)
  1978.         _somOverrideSMethod (M_WPSTutorialtempClassData.classObject,
  1979.             *(omp->methodId), omp->method);
  1980.  
  1981. }
  1982.  
  1983. #pragma linkage(M_WPSTutorialsomCreateClass, system)
  1984. static void SOMLINK M_WPSTutorialsomCreateClass(SOMClass *pClsObj,
  1985.                            SOMClass *mClsObj)
  1986. {
  1987.     M_WPSTutorialtempClassData.classObject = _somNew (mClsObj);
  1988.     _somInitClass (M_WPSTutorialtempClassData.classObject,
  1989.         "M_WPSTutorial",
  1990.         pClsObj,
  1991.         0,
  1992.         M_WPSTutorial_MaxNoMethods,
  1993.         M_WPSTutorial_MajorVersion,
  1994.         M_WPSTutorial_MinorVersion);
  1995.     M_WPSTutorialCClassData.instanceDataToken = 
  1996.     _somGetInstanceToken(M_WPSTutorialtempClassData.classObject);
  1997.     M_WPSTutorialsomInitializeClass();
  1998.     M_WPSTutorialCClassData.parentMtab =
  1999.     _somGetPClsMtab(M_WPSTutorialtempClassData.classObject);
  2000.     _somSetClassData(M_WPSTutorialtempClassData.classObject, (somClassDataStructure *)&M_WPSTutorialClassData);
  2001.     _somClassReady(M_WPSTutorialtempClassData.classObject);
  2002.     /* make newly created class object visible */
  2003.     M_WPSTutorialClassData.classObject = M_WPSTutorialtempClassData.classObject;
  2004. }
  2005.  
  2006. M_WPSTutorial * SOMLINK M_WPSTutorialNewClass (integer4 scemajorVersion,
  2007.         integer4 sceminorVersion)
  2008. {
  2009.     SOMClass *pClsObj;
  2010.     SOMClass *mClsObj;
  2011.  
  2012.     /* Check the version numbers */
  2013.     if (((scemajorVersion != 0) && 
  2014.          (scemajorVersion != M_WPSTutorial_MajorVersion)) ||
  2015.         ((sceminorVersion != 0) && 
  2016.          (sceminorVersion > M_WPSTutorial_MinorVersion))) {
  2017.     somPrintf("M_WPSTutorialNewClass: Error, bad version numbers.\n");
  2018.     SOM_Error(SOMERROR_BadVersion);
  2019.     }
  2020.     /* Don't do anything if class object is already created. */
  2021.     if (M_WPSTutorialClassData.classObject != (SOMAny *) NULL)
  2022.     return(M_WPSTutorialClassData.classObject);
  2023.  
  2024.     /* Make sure the environment is initialized. */
  2025.     if (SOMClassMgrObject == (SOMAny *) NULL) somEnvironmentNew();
  2026.     if (SOMClassMgrObject == (SOMAny *) NULL)
  2027.     SOM_Error(SOMERROR_CouldNotStartup);
  2028.  
  2029.     /* Get the parent class object. */
  2030.     M_WPDataFileNewClass(1,2);    /* static reference */
  2031.     pClsObj = _somFindClass(SOMClassMgrObject,
  2032.         SOM_IdFromString("M_WPDataFile"), 1, 2);
  2033.     if (pClsObj == (SOMClass *) NULL)
  2034.     SOM_Error(SOMERROR_NoParentClass);
  2035.  
  2036.     /* Use parent's metaclass */ 
  2037.     mClsObj = SOM_GetClass(pClsObj);
  2038.  
  2039.     somConstructClass(M_WPSTutorialsomCreateClass, pClsObj, mClsObj,
  2040.              &M_WPSTutorialtempClassData);
  2041.     return (M_WPSTutorialClassData.classObject);
  2042. }
  2043.  
  2044. #endif                   /* M_WPSTutorial_Class_Source */
  2045.  
  2046. #endif       /* wpstutor_ih */
  2047.