home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / wpsgpf.zip / SIM.IH < prev    next >
Text File  |  1995-02-22  |  39KB  |  1,084 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: sim.ih.
  5.  * Generated using:
  6.  *     SOM Precompiler somopc: 2.29.1.3
  7.  *     SOM Emitter emitih: 2.41
  8.  */
  9.  
  10. /*
  11.  * -- By default, for classes declared using OIDL,
  12.  * -- this emitter defines redispatch/apply stubs.
  13.  * -- To override this default, use "noapstubs", and/or "nordstubs".
  14.  */
  15.  
  16. #ifndef SOM_WPSimple_ih
  17. #define SOM_WPSimple_ih
  18.  
  19. #pragma checkout(suspend)
  20.  
  21. #include <sim.h>
  22.  
  23. /*
  24.  * Set the scope of methods functions
  25.  */
  26. #ifndef SOM_Scope
  27. #define SOM_Scope static
  28. #endif  /* SOM_Scope */
  29.  
  30. #ifndef SOM_CurrentClass
  31.     #define SOM_CurrentClass WPSimpleCClassData.parentMtab
  32. #endif  /* SOM_CurrentClass */
  33.  
  34. #define WPSimple_MaxNoMethods 3
  35.  
  36. /*
  37.  * -- Instance data
  38.  */
  39. typedef struct {
  40.     INT iDummy;
  41.     HPOINTER hptrDefault1;
  42.     HPOINTER hptrDefault2;
  43.     HPOINTER hptrDefault3;
  44.     LONG lIconState;
  45.     HWND hwndIconFileView;
  46.     HPOINTER hptrIconFile;
  47.     CHAR szIconFile[256];
  48.     CHAR szIconFileForUndo[256];
  49.     LONG lIconStateForUndo;
  50.     BOOL fFirstNotification;
  51.     LONG lPlayState;
  52.     LONG lPictureToDisplay;
  53.     HWND hwndTimer;
  54.     BOOL fTimerStarted;
  55.     HWND hwndInfoView;
  56.     HWND hwndListbox;
  57. } WPSimpleData;
  58.  
  59. /*
  60.  * GetData macro
  61.  */
  62.  
  63. /*
  64.  * -- This emitter treats Data Tokens as Thunks by default.
  65.  * -- Use the sc modifier "nothunks" to override this default.
  66.  */
  67. typedef WPSimpleData* SOMLINK somTP_WPSimple_DataThunk(void*);
  68. #ifdef __IBMC__
  69. #pragma linkage(somTP_WPSimple_DataThunk, system)
  70. #endif
  71. typedef somTP_WPSimple_DataThunk *somTD_WPSimple_DataThunk;
  72.  
  73. #define WPSimpleGetData(somSelf) \
  74.    (((somTD_WPSimple_DataThunk)(WPSimpleCClassData.instanceDataToken))(somSelf))
  75.  
  76. /*
  77.  * Instance variable access macros
  78.  */
  79. #define _iDummy (somThis->iDummy)
  80. #define _hptrDefault1 (somThis->hptrDefault1)
  81. #define _hptrDefault2 (somThis->hptrDefault2)
  82. #define _hptrDefault3 (somThis->hptrDefault3)
  83. #define _lIconState (somThis->lIconState)
  84. #define _hwndIconFileView (somThis->hwndIconFileView)
  85. #define _hptrIconFile (somThis->hptrIconFile)
  86. #define _szIconFile (somThis->szIconFile)
  87. #define _szIconFileForUndo (somThis->szIconFileForUndo)
  88. #define _lIconStateForUndo (somThis->lIconStateForUndo)
  89. #define _fFirstNotification (somThis->fFirstNotification)
  90. #define _lPlayState (somThis->lPlayState)
  91. #define _lPictureToDisplay (somThis->lPictureToDisplay)
  92. #define _hwndTimer (somThis->hwndTimer)
  93. #define _fTimerStarted (somThis->fTimerStarted)
  94. #define _hwndInfoView (somThis->hwndInfoView)
  95. #define _hwndListbox (somThis->hwndListbox)
  96.  
  97. /*
  98.  * Primary Implementation File Support
  99.  */
  100. #if (defined(WPSimple_Class_Source) || defined(SOM_Module_sim_Source))
  101.  
  102. /*
  103.  * Trace/Debug macro
  104.  */
  105. #ifndef WPSimpleMethodDebug
  106.    #define WPSimpleMethodDebug(c,m) SOMMethodDebug(c,m)
  107. #endif  /* WPSimpleMethodDebug */
  108.  
  109. /*
  110.  * Current class macros for Instance and Meta classes.
  111.  */
  112. #undef SOMMeta
  113. #define SOMMeta M_WPSimpleCClassData.parentMtab
  114. #undef SOMInstance
  115. #define SOMInstance WPSimpleCClassData.parentMtab
  116.  
  117. #ifndef M_WPSimple_Class_Source
  118.    #define M_WPSimple_Class_Source
  119. #endif    /* M_WPSimple_Class_Source */
  120.  
  121. /*
  122.  * -- Apply Stubs for New Methods
  123.  */
  124. #pragma linkage(somAP_RefreshViews, system)
  125. static void SOMLINK somAP_RefreshViews(WPSimple *somSelf,
  126.         VOID *__retVal,
  127.         somMethodProc *__methodPtr,
  128.         va_list __ap)
  129. {
  130.     WPSimple* __somSelf = va_arg(__ap, WPSimple*);
  131.     SOM_IgnoreWarning(__ap);
  132.     SOM_IgnoreWarning(__retVal);
  133.  
  134.     ((somTD_WPSimple_RefreshViews) __methodPtr) (__somSelf);
  135. }
  136.  
  137. #pragma linkage(somAP_AddIconFilePage, system)
  138. static void SOMLINK somAP_AddIconFilePage(WPSimple *somSelf,
  139.         BOOL *__retVal,
  140.         somMethodProc *__methodPtr,
  141.         va_list __ap)
  142. {
  143.     WPSimple* __somSelf = va_arg(__ap, WPSimple*);
  144.     HWND hwndNotebook = va_arg(__ap, HWND);
  145.  
  146.     *__retVal = ((somTD_WPSimple_AddIconFilePage) __methodPtr) (__somSelf, hwndNotebook);
  147. }
  148.  
  149. #pragma linkage(somAP_SetIcon, system)
  150. static void SOMLINK somAP_SetIcon(WPSimple *somSelf,
  151.         BOOL *__retVal,
  152.         somMethodProc *__methodPtr,
  153.         va_list __ap)
  154. {
  155.     WPSimple* __somSelf = va_arg(__ap, WPSimple*);
  156.     PSZ pszIconFile = va_arg(__ap, PSZ);
  157.  
  158.     *__retVal = ((somTD_WPSimple_SetIcon) __methodPtr) (__somSelf, pszIconFile);
  159. }
  160.  
  161.  
  162. /*
  163.  * Overridden method: wpInitData
  164.  */
  165. #pragma linkage(wpInitData, system)
  166. SOM_Scope void   SOMLINK wpInitData(WPSimple *somSelf);
  167. static char *somMN_WPSimplewpInitData = "WPObject::wpInitData";
  168. static somId somId_WPSimplewpInitData = &somMN_WPSimplewpInitData;
  169. #ifdef somId_wpInitData
  170. #undef somId_wpInitData
  171. #else
  172. #define somId_wpInitData somId_WPSimplewpInitData
  173. #endif
  174. static somMethodProc* WPSimple_parent_WPAbstract_wpInitData_resolved = 0;
  175. #define WPSimple_parent_WPAbstract_wpInitData(somSelf) \
  176.   ((( somTD_WPObject_wpInitData ) \
  177.     ((WPSimple_parent_WPAbstract_wpInitData_resolved)? \
  178.       WPSimple_parent_WPAbstract_wpInitData_resolved : \
  179.       (WPSimple_parent_WPAbstract_wpInitData_resolved = \
  180.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpInitData)))) \
  181.      (somSelf))
  182. #ifndef SOMGD_pmc_WPAbstract_wpInitData
  183.   #ifdef parent_WPAbstract_wpInitData
  184.      #undef parent_WPAbstract_wpInitData
  185.      #define SOMGD_pmc_WPAbstract_wpInitData 1
  186.   #else
  187.      #define parent_WPAbstract_wpInitData WPSimple_parent_WPAbstract_wpInitData
  188.   #endif /* parent_WPAbstract_wpInitData */
  189. #endif /* SOMGD_pmc_WPAbstract_wpInitData */
  190. #ifndef parent_wpInitData
  191.    #define parent_wpInitData(somSelf) \
  192.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpInitData)) \
  193.      (somSelf))
  194. #endif  /* parent_wpInitData */
  195. #define WPSimple_parents_wpInitData(arg0) (\
  196.    WPSimple_parent_WPAbstract_wpInitData(arg0))
  197.  
  198. /*
  199.  * Overridden method: wpUnInitData
  200.  */
  201. #pragma linkage(wpUnInitData, system)
  202. SOM_Scope void   SOMLINK wpUnInitData(WPSimple *somSelf);
  203. static char *somMN_WPSimplewpUnInitData = "WPObject::wpUnInitData";
  204. static somId somId_WPSimplewpUnInitData = &somMN_WPSimplewpUnInitData;
  205. #ifdef somId_wpUnInitData
  206. #undef somId_wpUnInitData
  207. #else
  208. #define somId_wpUnInitData somId_WPSimplewpUnInitData
  209. #endif
  210. static somMethodProc* WPSimple_parent_WPAbstract_wpUnInitData_resolved = 0;
  211. #define WPSimple_parent_WPAbstract_wpUnInitData(somSelf) \
  212.   ((( somTD_WPObject_wpUnInitData ) \
  213.     ((WPSimple_parent_WPAbstract_wpUnInitData_resolved)? \
  214.       WPSimple_parent_WPAbstract_wpUnInitData_resolved : \
  215.       (WPSimple_parent_WPAbstract_wpUnInitData_resolved = \
  216.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpUnInitData)))) \
  217.      (somSelf))
  218. #ifndef SOMGD_pmc_WPAbstract_wpUnInitData
  219.   #ifdef parent_WPAbstract_wpUnInitData
  220.      #undef parent_WPAbstract_wpUnInitData
  221.      #define SOMGD_pmc_WPAbstract_wpUnInitData 1
  222.   #else
  223.      #define parent_WPAbstract_wpUnInitData WPSimple_parent_WPAbstract_wpUnInitData
  224.   #endif /* parent_WPAbstract_wpUnInitData */
  225. #endif /* SOMGD_pmc_WPAbstract_wpUnInitData */
  226. #ifndef parent_wpUnInitData
  227.    #define parent_wpUnInitData(somSelf) \
  228.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpUnInitData)) \
  229.      (somSelf))
  230. #endif  /* parent_wpUnInitData */
  231. #define WPSimple_parents_wpUnInitData(arg0) (\
  232.    WPSimple_parent_WPAbstract_wpUnInitData(arg0))
  233.  
  234. /*
  235.  * Overridden method: wpSetup
  236.  */
  237. #pragma linkage(wpSetup, system)
  238. SOM_Scope BOOL   SOMLINK wpSetup(WPSimple *somSelf,
  239.         PSZ pszSetupString);
  240. static char *somMN_WPSimplewpSetup = "WPObject::wpSetup";
  241. static somId somId_WPSimplewpSetup = &somMN_WPSimplewpSetup;
  242. #ifdef somId_wpSetup
  243. #undef somId_wpSetup
  244. #else
  245. #define somId_wpSetup somId_WPSimplewpSetup
  246. #endif
  247. static somMethodProc* WPSimple_parent_WPAbstract_wpSetup_resolved = 0;
  248. #define WPSimple_parent_WPAbstract_wpSetup(somSelf,pszSetupString) \
  249.   ((( somTD_WPObject_wpSetup ) \
  250.     ((WPSimple_parent_WPAbstract_wpSetup_resolved)? \
  251.       WPSimple_parent_WPAbstract_wpSetup_resolved : \
  252.       (WPSimple_parent_WPAbstract_wpSetup_resolved = \
  253.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpSetup)))) \
  254.      (somSelf,pszSetupString))
  255. #ifndef SOMGD_pmc_WPAbstract_wpSetup
  256.   #ifdef parent_WPAbstract_wpSetup
  257.      #undef parent_WPAbstract_wpSetup
  258.      #define SOMGD_pmc_WPAbstract_wpSetup 1
  259.   #else
  260.      #define parent_WPAbstract_wpSetup WPSimple_parent_WPAbstract_wpSetup
  261.   #endif /* parent_WPAbstract_wpSetup */
  262. #endif /* SOMGD_pmc_WPAbstract_wpSetup */
  263. #ifndef parent_wpSetup
  264.    #define parent_wpSetup(somSelf,pszSetupString) \
  265.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpSetup)) \
  266.      (somSelf,pszSetupString))
  267. #endif  /* parent_wpSetup */
  268. #define WPSimple_parents_wpSetup(arg0,arg1) (\
  269.    WPSimple_parent_WPAbstract_wpSetup(arg0,arg1))
  270.  
  271. /*
  272.  * Overridden method: wpSaveState
  273.  */
  274. #pragma linkage(wpSaveState, system)
  275. SOM_Scope BOOL   SOMLINK wpSaveState(WPSimple *somSelf);
  276. static char *somMN_WPSimplewpSaveState = "WPObject::wpSaveState";
  277. static somId somId_WPSimplewpSaveState = &somMN_WPSimplewpSaveState;
  278. #ifdef somId_wpSaveState
  279. #undef somId_wpSaveState
  280. #else
  281. #define somId_wpSaveState somId_WPSimplewpSaveState
  282. #endif
  283. static somMethodProc* WPSimple_parent_WPAbstract_wpSaveState_resolved = 0;
  284. #define WPSimple_parent_WPAbstract_wpSaveState(somSelf) \
  285.   ((( somTD_WPObject_wpSaveState ) \
  286.     ((WPSimple_parent_WPAbstract_wpSaveState_resolved)? \
  287.       WPSimple_parent_WPAbstract_wpSaveState_resolved : \
  288.       (WPSimple_parent_WPAbstract_wpSaveState_resolved = \
  289.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpSaveState)))) \
  290.      (somSelf))
  291. #ifndef SOMGD_pmc_WPAbstract_wpSaveState
  292.   #ifdef parent_WPAbstract_wpSaveState
  293.      #undef parent_WPAbstract_wpSaveState
  294.      #define SOMGD_pmc_WPAbstract_wpSaveState 1
  295.   #else
  296.      #define parent_WPAbstract_wpSaveState WPSimple_parent_WPAbstract_wpSaveState
  297.   #endif /* parent_WPAbstract_wpSaveState */
  298. #endif /* SOMGD_pmc_WPAbstract_wpSaveState */
  299. #ifndef parent_wpSaveState
  300.    #define parent_wpSaveState(somSelf) \
  301.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpSaveState)) \
  302.      (somSelf))
  303. #endif  /* parent_wpSaveState */
  304. #define WPSimple_parents_wpSaveState(arg0) (\
  305.    WPSimple_parent_WPAbstract_wpSaveState(arg0))
  306.  
  307. /*
  308.  * Overridden method: wpRestoreState
  309.  */
  310. #pragma linkage(wpRestoreState, system)
  311. SOM_Scope BOOL   SOMLINK wpRestoreState(WPSimple *somSelf,
  312.         ULONG ulReserved);
  313. static char *somMN_WPSimplewpRestoreState = "WPObject::wpRestoreState";
  314. static somId somId_WPSimplewpRestoreState = &somMN_WPSimplewpRestoreState;
  315. #ifdef somId_wpRestoreState
  316. #undef somId_wpRestoreState
  317. #else
  318. #define somId_wpRestoreState somId_WPSimplewpRestoreState
  319. #endif
  320. static somMethodProc* WPSimple_parent_WPAbstract_wpRestoreState_resolved = 0;
  321. #define WPSimple_parent_WPAbstract_wpRestoreState(somSelf,ulReserved) \
  322.   ((( somTD_WPObject_wpRestoreState ) \
  323.     ((WPSimple_parent_WPAbstract_wpRestoreState_resolved)? \
  324.       WPSimple_parent_WPAbstract_wpRestoreState_resolved : \
  325.       (WPSimple_parent_WPAbstract_wpRestoreState_resolved = \
  326.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpRestoreState)))) \
  327.      (somSelf,ulReserved))
  328. #ifndef SOMGD_pmc_WPAbstract_wpRestoreState
  329.   #ifdef parent_WPAbstract_wpRestoreState
  330.      #undef parent_WPAbstract_wpRestoreState
  331.      #define SOMGD_pmc_WPAbstract_wpRestoreState 1
  332.   #else
  333.      #define parent_WPAbstract_wpRestoreState WPSimple_parent_WPAbstract_wpRestoreState
  334.   #endif /* parent_WPAbstract_wpRestoreState */
  335. #endif /* SOMGD_pmc_WPAbstract_wpRestoreState */
  336. #ifndef parent_wpRestoreState
  337.    #define parent_wpRestoreState(somSelf,ulReserved) \
  338.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpRestoreState)) \
  339.      (somSelf,ulReserved))
  340. #endif  /* parent_wpRestoreState */
  341. #define WPSimple_parents_wpRestoreState(arg0,arg1) (\
  342.    WPSimple_parent_WPAbstract_wpRestoreState(arg0,arg1))
  343.  
  344. /*
  345.  * Overridden method: wpAddSettingsPages
  346.  */
  347. #pragma linkage(wpAddSettingsPages, system)
  348. SOM_Scope BOOL   SOMLINK wpAddSettingsPages(WPSimple *somSelf,
  349.         HWND hwndNotebook);
  350. static char *somMN_WPSimplewpAddSettingsPages = "WPObject::wpAddSettingsPages";
  351. static somId somId_WPSimplewpAddSettingsPages = &somMN_WPSimplewpAddSettingsPages;
  352. #ifdef somId_wpAddSettingsPages
  353. #undef somId_wpAddSettingsPages
  354. #else
  355. #define somId_wpAddSettingsPages somId_WPSimplewpAddSettingsPages
  356. #endif
  357. static somMethodProc* WPSimple_parent_WPAbstract_wpAddSettingsPages_resolved = 0;
  358. #define WPSimple_parent_WPAbstract_wpAddSettingsPages(somSelf,hwndNotebook) \
  359.   ((( somTD_WPObject_wpAddSettingsPages ) \
  360.     ((WPSimple_parent_WPAbstract_wpAddSettingsPages_resolved)? \
  361.       WPSimple_parent_WPAbstract_wpAddSettingsPages_resolved : \
  362.       (WPSimple_parent_WPAbstract_wpAddSettingsPages_resolved = \
  363.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpAddSettingsPages)))) \
  364.      (somSelf,hwndNotebook))
  365. #ifndef SOMGD_pmc_WPAbstract_wpAddSettingsPages
  366.   #ifdef parent_WPAbstract_wpAddSettingsPages
  367.      #undef parent_WPAbstract_wpAddSettingsPages
  368.      #define SOMGD_pmc_WPAbstract_wpAddSettingsPages 1
  369.   #else
  370.      #define parent_WPAbstract_wpAddSettingsPages WPSimple_parent_WPAbstract_wpAddSettingsPages
  371.   #endif /* parent_WPAbstract_wpAddSettingsPages */
  372. #endif /* SOMGD_pmc_WPAbstract_wpAddSettingsPages */
  373. #ifndef parent_wpAddSettingsPages
  374.    #define parent_wpAddSettingsPages(somSelf,hwndNotebook) \
  375.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpAddSettingsPages)) \
  376.      (somSelf,hwndNotebook))
  377. #endif  /* parent_wpAddSettingsPages */
  378. #define WPSimple_parents_wpAddSettingsPages(arg0,arg1) (\
  379.    WPSimple_parent_WPAbstract_wpAddSettingsPages(arg0,arg1))
  380.  
  381. /*
  382.  * Overridden method: wpAddObjectGeneralPage
  383.  */
  384. #pragma linkage(wpAddObjectGeneralPage, system)
  385. SOM_Scope ULONG   SOMLINK wpAddObjectGeneralPage(WPSimple *somSelf,
  386.         HWND hwndNotebook);
  387. static char *somMN_WPSimplewpAddObjectGeneralPage = "WPObject::wpAddObjectGeneralPage";
  388. static somId somId_WPSimplewpAddObjectGeneralPage = &somMN_WPSimplewpAddObjectGeneralPage;
  389. #ifdef somId_wpAddObjectGeneralPage
  390. #undef somId_wpAddObjectGeneralPage
  391. #else
  392. #define somId_wpAddObjectGeneralPage somId_WPSimplewpAddObjectGeneralPage
  393. #endif
  394. static somMethodProc* WPSimple_parent_WPAbstract_wpAddObjectGeneralPage_resolved = 0;
  395. #define WPSimple_parent_WPAbstract_wpAddObjectGeneralPage(somSelf,hwndNotebook) \
  396.   ((( somTD_WPObject_wpAddObjectGeneralPage ) \
  397.     ((WPSimple_parent_WPAbstract_wpAddObjectGeneralPage_resolved)? \
  398.       WPSimple_parent_WPAbstract_wpAddObjectGeneralPage_resolved : \
  399.       (WPSimple_parent_WPAbstract_wpAddObjectGeneralPage_resolved = \
  400.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpAddObjectGeneralPage)))) \
  401.      (somSelf,hwndNotebook))
  402. #ifndef SOMGD_pmc_WPAbstract_wpAddObjectGeneralPage
  403.   #ifdef parent_WPAbstract_wpAddObjectGeneralPage
  404.      #undef parent_WPAbstract_wpAddObjectGeneralPage
  405.      #define SOMGD_pmc_WPAbstract_wpAddObjectGeneralPage 1
  406.   #else
  407.      #define parent_WPAbstract_wpAddObjectGeneralPage WPSimple_parent_WPAbstract_wpAddObjectGeneralPage
  408.   #endif /* parent_WPAbstract_wpAddObjectGeneralPage */
  409. #endif /* SOMGD_pmc_WPAbstract_wpAddObjectGeneralPage */
  410. #ifndef parent_wpAddObjectGeneralPage
  411.    #define parent_wpAddObjectGeneralPage(somSelf,hwndNotebook) \
  412.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpAddObjectGeneralPage)) \
  413.      (somSelf,hwndNotebook))
  414. #endif  /* parent_wpAddObjectGeneralPage */
  415. #define WPSimple_parents_wpAddObjectGeneralPage(arg0,arg1) (\
  416.    WPSimple_parent_WPAbstract_wpAddObjectGeneralPage(arg0,arg1))
  417.  
  418. /*
  419.  * Overridden method: wpFilterPopupMenu
  420.  */
  421. #pragma linkage(wpFilterPopupMenu, system)
  422. SOM_Scope ULONG   SOMLINK wpFilterPopupMenu(WPSimple *somSelf,
  423.         ULONG ulFlags,
  424.         HWND hwndCnr,
  425.         BOOL fMultiSelect);
  426. static char *somMN_WPSimplewpFilterPopupMenu = "WPObject::wpFilterPopupMenu";
  427. static somId somId_WPSimplewpFilterPopupMenu = &somMN_WPSimplewpFilterPopupMenu;
  428. #ifdef somId_wpFilterPopupMenu
  429. #undef somId_wpFilterPopupMenu
  430. #else
  431. #define somId_wpFilterPopupMenu somId_WPSimplewpFilterPopupMenu
  432. #endif
  433. static somMethodProc* WPSimple_parent_WPAbstract_wpFilterPopupMenu_resolved = 0;
  434. #define WPSimple_parent_WPAbstract_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
  435.   ((( somTD_WPObject_wpFilterPopupMenu ) \
  436.     ((WPSimple_parent_WPAbstract_wpFilterPopupMenu_resolved)? \
  437.       WPSimple_parent_WPAbstract_wpFilterPopupMenu_resolved : \
  438.       (WPSimple_parent_WPAbstract_wpFilterPopupMenu_resolved = \
  439.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpFilterPopupMenu)))) \
  440.      (somSelf,ulFlags,hwndCnr,fMultiSelect))
  441. #ifndef SOMGD_pmc_WPAbstract_wpFilterPopupMenu
  442.   #ifdef parent_WPAbstract_wpFilterPopupMenu
  443.      #undef parent_WPAbstract_wpFilterPopupMenu
  444.      #define SOMGD_pmc_WPAbstract_wpFilterPopupMenu 1
  445.   #else
  446.      #define parent_WPAbstract_wpFilterPopupMenu WPSimple_parent_WPAbstract_wpFilterPopupMenu
  447.   #endif /* parent_WPAbstract_wpFilterPopupMenu */
  448. #endif /* SOMGD_pmc_WPAbstract_wpFilterPopupMenu */
  449. #ifndef parent_wpFilterPopupMenu
  450.    #define parent_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
  451.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpFilterPopupMenu)) \
  452.      (somSelf,ulFlags,hwndCnr,fMultiSelect))
  453. #endif  /* parent_wpFilterPopupMenu */
  454. #define WPSimple_parents_wpFilterPopupMenu(arg0,arg1,arg2,arg3) (\
  455.    WPSimple_parent_WPAbstract_wpFilterPopupMenu(arg0,arg1,arg2,arg3))
  456.  
  457. /*
  458.  * Overridden method: wpModifyPopupMenu
  459.  */
  460. #pragma linkage(wpModifyPopupMenu, system)
  461. SOM_Scope BOOL   SOMLINK wpModifyPopupMenu(WPSimple *somSelf,
  462.         HWND hwndMenu,
  463.         HWND hwndCnr,
  464.         ULONG iPosition);
  465. static char *somMN_WPSimplewpModifyPopupMenu = "WPObject::wpModifyPopupMenu";
  466. static somId somId_WPSimplewpModifyPopupMenu = &somMN_WPSimplewpModifyPopupMenu;
  467. #ifdef somId_wpModifyPopupMenu
  468. #undef somId_wpModifyPopupMenu
  469. #else
  470. #define somId_wpModifyPopupMenu somId_WPSimplewpModifyPopupMenu
  471. #endif
  472. static somMethodProc* WPSimple_parent_WPAbstract_wpModifyPopupMenu_resolved = 0;
  473. #define WPSimple_parent_WPAbstract_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
  474.   ((( somTD_WPObject_wpModifyPopupMenu ) \
  475.     ((WPSimple_parent_WPAbstract_wpModifyPopupMenu_resolved)? \
  476.       WPSimple_parent_WPAbstract_wpModifyPopupMenu_resolved : \
  477.       (WPSimple_parent_WPAbstract_wpModifyPopupMenu_resolved = \
  478.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpModifyPopupMenu)))) \
  479.      (somSelf,hwndMenu,hwndCnr,iPosition))
  480. #ifndef SOMGD_pmc_WPAbstract_wpModifyPopupMenu
  481.   #ifdef parent_WPAbstract_wpModifyPopupMenu
  482.      #undef parent_WPAbstract_wpModifyPopupMenu
  483.      #define SOMGD_pmc_WPAbstract_wpModifyPopupMenu 1
  484.   #else
  485.      #define parent_WPAbstract_wpModifyPopupMenu WPSimple_parent_WPAbstract_wpModifyPopupMenu
  486.   #endif /* parent_WPAbstract_wpModifyPopupMenu */
  487. #endif /* SOMGD_pmc_WPAbstract_wpModifyPopupMenu */
  488. #ifndef parent_wpModifyPopupMenu
  489.    #define parent_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
  490.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpModifyPopupMenu)) \
  491.      (somSelf,hwndMenu,hwndCnr,iPosition))
  492. #endif  /* parent_wpModifyPopupMenu */
  493. #define WPSimple_parents_wpModifyPopupMenu(arg0,arg1,arg2,arg3) (\
  494.    WPSimple_parent_WPAbstract_wpModifyPopupMenu(arg0,arg1,arg2,arg3))
  495.  
  496. /*
  497.  * Overridden method: wpMenuItemSelected
  498.  */
  499. #pragma linkage(wpMenuItemSelected, system)
  500. SOM_Scope BOOL   SOMLINK wpMenuItemSelected(WPSimple *somSelf,
  501.         HWND hwndFrame,
  502.         ULONG ulMenuId);
  503. static char *somMN_WPSimplewpMenuItemSelected = "WPObject::wpMenuItemSelected";
  504. static somId somId_WPSimplewpMenuItemSelected = &somMN_WPSimplewpMenuItemSelected;
  505. #ifdef somId_wpMenuItemSelected
  506. #undef somId_wpMenuItemSelected
  507. #else
  508. #define somId_wpMenuItemSelected somId_WPSimplewpMenuItemSelected
  509. #endif
  510. static somMethodProc* WPSimple_parent_WPAbstract_wpMenuItemSelected_resolved = 0;
  511. #define WPSimple_parent_WPAbstract_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
  512.   ((( somTD_WPObject_wpMenuItemSelected ) \
  513.     ((WPSimple_parent_WPAbstract_wpMenuItemSelected_resolved)? \
  514.       WPSimple_parent_WPAbstract_wpMenuItemSelected_resolved : \
  515.       (WPSimple_parent_WPAbstract_wpMenuItemSelected_resolved = \
  516.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpMenuItemSelected)))) \
  517.      (somSelf,hwndFrame,ulMenuId))
  518. #ifndef SOMGD_pmc_WPAbstract_wpMenuItemSelected
  519.   #ifdef parent_WPAbstract_wpMenuItemSelected
  520.      #undef parent_WPAbstract_wpMenuItemSelected
  521.      #define SOMGD_pmc_WPAbstract_wpMenuItemSelected 1
  522.   #else
  523.      #define parent_WPAbstract_wpMenuItemSelected WPSimple_parent_WPAbstract_wpMenuItemSelected
  524.   #endif /* parent_WPAbstract_wpMenuItemSelected */
  525. #endif /* SOMGD_pmc_WPAbstract_wpMenuItemSelected */
  526. #ifndef parent_wpMenuItemSelected
  527.    #define parent_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
  528.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpMenuItemSelected)) \
  529.      (somSelf,hwndFrame,ulMenuId))
  530. #endif  /* parent_wpMenuItemSelected */
  531. #define WPSimple_parents_wpMenuItemSelected(arg0,arg1,arg2) (\
  532.    WPSimple_parent_WPAbstract_wpMenuItemSelected(arg0,arg1,arg2))
  533.  
  534. /*
  535.  * Overridden method: wpOpen
  536.  */
  537. #pragma linkage(wpOpen, system)
  538. SOM_Scope HWND   SOMLINK wpOpen(WPSimple *somSelf,
  539.         HWND hwndCnr,
  540.         ULONG ulView,
  541.         ULONG param);
  542. static char *somMN_WPSimplewpOpen = "WPObject::wpOpen";
  543. static somId somId_WPSimplewpOpen = &somMN_WPSimplewpOpen;
  544. #ifdef somId_wpOpen
  545. #undef somId_wpOpen
  546. #else
  547. #define somId_wpOpen somId_WPSimplewpOpen
  548. #endif
  549. static somMethodProc* WPSimple_parent_WPAbstract_wpOpen_resolved = 0;
  550. #define WPSimple_parent_WPAbstract_wpOpen(somSelf,hwndCnr,ulView,param) \
  551.   ((( somTD_WPObject_wpOpen ) \
  552.     ((WPSimple_parent_WPAbstract_wpOpen_resolved)? \
  553.       WPSimple_parent_WPAbstract_wpOpen_resolved : \
  554.       (WPSimple_parent_WPAbstract_wpOpen_resolved = \
  555.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpOpen)))) \
  556.      (somSelf,hwndCnr,ulView,param))
  557. #ifndef SOMGD_pmc_WPAbstract_wpOpen
  558.   #ifdef parent_WPAbstract_wpOpen
  559.      #undef parent_WPAbstract_wpOpen
  560.      #define SOMGD_pmc_WPAbstract_wpOpen 1
  561.   #else
  562.      #define parent_WPAbstract_wpOpen WPSimple_parent_WPAbstract_wpOpen
  563.   #endif /* parent_WPAbstract_wpOpen */
  564. #endif /* SOMGD_pmc_WPAbstract_wpOpen */
  565. #ifndef parent_wpOpen
  566.    #define parent_wpOpen(somSelf,hwndCnr,ulView,param) \
  567.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpOpen)) \
  568.      (somSelf,hwndCnr,ulView,param))
  569. #endif  /* parent_wpOpen */
  570. #define WPSimple_parents_wpOpen(arg0,arg1,arg2,arg3) (\
  571.    WPSimple_parent_WPAbstract_wpOpen(arg0,arg1,arg2,arg3))
  572.  
  573. /*
  574.  * Overridden method: wpDragOver
  575.  */
  576. #pragma linkage(wpDragOver, system)
  577. SOM_Scope MRESULT   SOMLINK wpDragOver(WPSimple *somSelf,
  578.         HWND hwndCnr,
  579.         PDRAGINFO pdrgInfo);
  580. static char *somMN_WPSimplewpDragOver = "WPObject::wpDragOver";
  581. static somId somId_WPSimplewpDragOver = &somMN_WPSimplewpDragOver;
  582. #ifdef somId_wpDragOver
  583. #undef somId_wpDragOver
  584. #else
  585. #define somId_wpDragOver somId_WPSimplewpDragOver
  586. #endif
  587. static somMethodProc* WPSimple_parent_WPAbstract_wpDragOver_resolved = 0;
  588. #define WPSimple_parent_WPAbstract_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
  589.   ((( somTD_WPObject_wpDragOver ) \
  590.     ((WPSimple_parent_WPAbstract_wpDragOver_resolved)? \
  591.       WPSimple_parent_WPAbstract_wpDragOver_resolved : \
  592.       (WPSimple_parent_WPAbstract_wpDragOver_resolved = \
  593.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpDragOver)))) \
  594.      (somSelf,hwndCnr,pdrgInfo))
  595. #ifndef SOMGD_pmc_WPAbstract_wpDragOver
  596.   #ifdef parent_WPAbstract_wpDragOver
  597.      #undef parent_WPAbstract_wpDragOver
  598.      #define SOMGD_pmc_WPAbstract_wpDragOver 1
  599.   #else
  600.      #define parent_WPAbstract_wpDragOver WPSimple_parent_WPAbstract_wpDragOver
  601.   #endif /* parent_WPAbstract_wpDragOver */
  602. #endif /* SOMGD_pmc_WPAbstract_wpDragOver */
  603. #ifndef parent_wpDragOver
  604.    #define parent_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
  605.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpDragOver)) \
  606.      (somSelf,hwndCnr,pdrgInfo))
  607. #endif  /* parent_wpDragOver */
  608. #define WPSimple_parents_wpDragOver(arg0,arg1,arg2) (\
  609.    WPSimple_parent_WPAbstract_wpDragOver(arg0,arg1,arg2))
  610.  
  611. /*
  612.  * Overridden method: wpDrop
  613.  */
  614. #pragma linkage(wpDrop, system)
  615. SOM_Scope MRESULT   SOMLINK wpDrop(WPSimple *somSelf,
  616.         HWND hwndCnr,
  617.         PDRAGINFO pdrgInfo,
  618.         PDRAGITEM pdrgItem);
  619. static char *somMN_WPSimplewpDrop = "WPObject::wpDrop";
  620. static somId somId_WPSimplewpDrop = &somMN_WPSimplewpDrop;
  621. #ifdef somId_wpDrop
  622. #undef somId_wpDrop
  623. #else
  624. #define somId_wpDrop somId_WPSimplewpDrop
  625. #endif
  626. static somMethodProc* WPSimple_parent_WPAbstract_wpDrop_resolved = 0;
  627. #define WPSimple_parent_WPAbstract_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
  628.   ((( somTD_WPObject_wpDrop ) \
  629.     ((WPSimple_parent_WPAbstract_wpDrop_resolved)? \
  630.       WPSimple_parent_WPAbstract_wpDrop_resolved : \
  631.       (WPSimple_parent_WPAbstract_wpDrop_resolved = \
  632.     somParentNumResolve(WPSimpleCClassData.parentMtab, 1, WPObjectClassData.wpDrop)))) \
  633.      (somSelf,hwndCnr,pdrgInfo,pdrgItem))
  634. #ifndef SOMGD_pmc_WPAbstract_wpDrop
  635.   #ifdef parent_WPAbstract_wpDrop
  636.      #undef parent_WPAbstract_wpDrop
  637.      #define SOMGD_pmc_WPAbstract_wpDrop 1
  638.   #else
  639.      #define parent_WPAbstract_wpDrop WPSimple_parent_WPAbstract_wpDrop
  640.   #endif /* parent_WPAbstract_wpDrop */
  641. #endif /* SOMGD_pmc_WPAbstract_wpDrop */
  642. #ifndef parent_wpDrop
  643.    #define parent_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
  644.     ((SOM_ParentNumResolve(WPObject, 1, SOM_CurrentClass, wpDrop)) \
  645.      (somSelf,hwndCnr,pdrgInfo,pdrgItem))
  646. #endif  /* parent_wpDrop */
  647. #define WPSimple_parents_wpDrop(arg0,arg1,arg2,arg3) (\
  648.    WPSimple_parent_WPAbstract_wpDrop(arg0,arg1,arg2,arg3))
  649.  
  650. /*
  651.  * Initialize the class data structure
  652.  */
  653. SOMEXTERN struct WPSimpleClassDataStructure SOMDLINK WPSimpleClassData = {(SOMAny *) NULL};
  654.  
  655. /*
  656.  * Define the C class data structure
  657.  */
  658. SOMEXTERN struct WPSimpleCClassDataStructure SOMDLINK WPSimpleCClassData = {(somMethodTabs) NULL};
  659.  
  660. /*
  661.  * New Method: RefreshViews
  662.  */
  663. #pragma linkage(RefreshViews, system)
  664. SOM_Scope VOID   SOMLINK RefreshViews(WPSimple *somSelf);
  665. #ifndef somMN_RefreshViews_defined
  666. #define somMN_RefreshViews_defined
  667. static char *somMN_RefreshViews = "RefreshViews";
  668. static somId somId_RefreshViews = &somMN_RefreshViews;
  669. #endif  /* somMN_RefreshViews_defined */
  670. #ifndef somDS_RefreshViews_defined
  671. #define somDS_RefreshViews_defined
  672. static char *somDS_RefreshViews = "----";
  673. static somId somDI_RefreshViews = &somDS_RefreshViews;
  674. #endif  /* somDS_RefreshViews_defined */
  675. #pragma linkage(somRD_RefreshViews, system)
  676. static VOID   SOMLINK somRD_RefreshViews(WPSimple *somSelf)
  677. {
  678.     void* __retVal;
  679.  
  680.     va_somDispatch(somSelf, (void **)&__retVal, somId_RefreshViews, somSelf 
  681.         );
  682. }
  683.  
  684. /*
  685.  * New Method: AddIconFilePage
  686.  */
  687. #pragma linkage(AddIconFilePage, system)
  688. SOM_Scope BOOL   SOMLINK AddIconFilePage(WPSimple *somSelf,
  689.         HWND hwndNotebook);
  690. #ifndef somMN_AddIconFilePage_defined
  691. #define somMN_AddIconFilePage_defined
  692. static char *somMN_AddIconFilePage = "AddIconFilePage";
  693. static somId somId_AddIconFilePage = &somMN_AddIconFilePage;
  694. #endif  /* somMN_AddIconFilePage_defined */
  695. #ifndef somDS_AddIconFilePage_defined
  696. #define somDS_AddIconFilePage_defined
  697. static char *somDS_AddIconFilePage = "----";
  698. static somId somDI_AddIconFilePage = &somDS_AddIconFilePage;
  699. #endif  /* somDS_AddIconFilePage_defined */
  700. #pragma linkage(somRD_AddIconFilePage, system)
  701. static BOOL   SOMLINK somRD_AddIconFilePage(WPSimple *somSelf,
  702.         HWND hwndNotebook)
  703. {
  704.     BOOL __retVal;
  705.  
  706.     va_somDispatch(somSelf, (void **)&__retVal, somId_AddIconFilePage, somSelf 
  707.         ,hwndNotebook);
  708.     return __retVal;
  709. }
  710.  
  711. /*
  712.  * New Method: SetIcon
  713.  */
  714. #pragma linkage(SetIcon, system)
  715. SOM_Scope BOOL   SOMLINK SetIcon(WPSimple *somSelf,
  716.         PSZ pszIconFile);
  717. #ifndef somMN_SetIcon_defined
  718. #define somMN_SetIcon_defined
  719. static char *somMN_SetIcon = "SetIcon";
  720. static somId somId_SetIcon = &somMN_SetIcon;
  721. #endif  /* somMN_SetIcon_defined */
  722. #ifndef somDS_SetIcon_defined
  723. #define somDS_SetIcon_defined
  724. static char *somDS_SetIcon = "----";
  725. static somId somDI_SetIcon = &somDS_SetIcon;
  726. #endif  /* somDS_SetIcon_defined */
  727. #pragma linkage(somRD_SetIcon, system)
  728. static BOOL   SOMLINK somRD_SetIcon(WPSimple *somSelf,
  729.         PSZ pszIconFile)
  730. {
  731.     BOOL __retVal;
  732.  
  733.     va_somDispatch(somSelf, (void **)&__retVal, somId_SetIcon, somSelf 
  734.         ,pszIconFile);
  735.     return __retVal;
  736. }
  737.  
  738. /*
  739.  * Routines and Structures to create the class object
  740.  */
  741.  
  742.  
  743. /*
  744.  * Declare the Static Methods table.
  745.  */
  746. static somStaticMethod_t WPSimpleSM[] = {
  747.     {    &WPSimpleClassData.RefreshViews,
  748.          &somId_RefreshViews,
  749.          &somDI_RefreshViews,
  750.          (somMethodProc *) RefreshViews,
  751.          (somMethodProc *) somRD_RefreshViews,
  752.          (somMethodProc *) somAP_RefreshViews    },
  753.     {    &WPSimpleClassData.AddIconFilePage,
  754.          &somId_AddIconFilePage,
  755.          &somDI_AddIconFilePage,
  756.          (somMethodProc *) AddIconFilePage,
  757.          (somMethodProc *) somRD_AddIconFilePage,
  758.          (somMethodProc *) somAP_AddIconFilePage    },
  759.     {    &WPSimpleClassData.SetIcon,
  760.          &somId_SetIcon,
  761.          &somDI_SetIcon,
  762.          (somMethodProc *) SetIcon,
  763.          (somMethodProc *) somRD_SetIcon,
  764.          (somMethodProc *) somAP_SetIcon    },
  765. };
  766.  
  767.  
  768. /*
  769.  * Declare the Override Methods table.
  770.  */
  771. static somOverrideMethod_t WPSimpleOM[] = {
  772.     {    &somId_WPSimplewpInitData,
  773.          (somMethodProc *) wpInitData    },
  774.     {    &somId_WPSimplewpUnInitData,
  775.          (somMethodProc *) wpUnInitData    },
  776.     {    &somId_WPSimplewpSetup,
  777.          (somMethodProc *) wpSetup    },
  778.     {    &somId_WPSimplewpSaveState,
  779.          (somMethodProc *) wpSaveState    },
  780.     {    &somId_WPSimplewpRestoreState,
  781.          (somMethodProc *) wpRestoreState    },
  782.     {    &somId_WPSimplewpAddSettingsPages,
  783.          (somMethodProc *) wpAddSettingsPages    },
  784.     {    &somId_WPSimplewpAddObjectGeneralPage,
  785.          (somMethodProc *) wpAddObjectGeneralPage    },
  786.     {    &somId_WPSimplewpFilterPopupMenu,
  787.          (somMethodProc *) wpFilterPopupMenu    },
  788.     {    &somId_WPSimplewpModifyPopupMenu,
  789.          (somMethodProc *) wpModifyPopupMenu    },
  790.     {    &somId_WPSimplewpMenuItemSelected,
  791.          (somMethodProc *) wpMenuItemSelected    },
  792.     {    &somId_WPSimplewpOpen,
  793.          (somMethodProc *) wpOpen    },
  794.     {    &somId_WPSimplewpDragOver,
  795.          (somMethodProc *) wpDragOver    },
  796.     {    &somId_WPSimplewpDrop,
  797.          (somMethodProc *) wpDrop    },
  798. };
  799.  
  800.  
  801. /*
  802.  *  Initializers for class Ids
  803.  */
  804. static char * somCN_WPSimple = "WPSimple";
  805. #ifndef somEMC_M_WPSimple_defined
  806. #define somEMC_M_WPSimple_defined
  807. static char * somEMC_M_WPSimple = "M_WPSimple";
  808. #endif
  809. static char * somPCN_WPSimple_WPAbstract = "WPAbstract";
  810.  
  811. static somId somPCWPSimple[] = {
  812.     &somPCN_WPSimple_WPAbstract,
  813. };
  814.  
  815. static somStaticClassInfo WPSimpleSCI = {
  816.     4, 3, 13, 0, 0, 0,
  817.     WPSimple_MajorVersion, WPSimple_MinorVersion,
  818.     sizeof(WPSimpleData), WPSimple_MaxNoMethods, 1,
  819.     &somCN_WPSimple,
  820.     &somEMC_M_WPSimple, 0,
  821.     somPCWPSimple,
  822.     (somClassDataStructure *) &WPSimpleClassData,
  823.     (somCClassDataStructure *) &WPSimpleCClassData,
  824.     WPSimpleSM, WPSimpleOM,
  825.     (char *) NULL,
  826.     (somNonInternalData_t *) NULL,  (somProcMethods_t *) NULL,
  827.     (somVarargsFuncs_t *) NULL,
  828.     (somTP_somClassInitFunc *) NULL,
  829.     0, /* default alignment */
  830.     -1, /* use parents as directinitclasses */
  831.     0, /* no explicit directinitclasses */
  832.     0, /* number of general method entries */
  833.     (somMethods_t *) NULL,
  834.     0, /* no public data offset */
  835.     0, /* no sci development level check */
  836.     0, /* number of SelectInheritedMethods */
  837.     0, /* no SelectInheritedMethods */
  838.     4, /* number of classdata entries */
  839.     0, /* no entry names provided currently */
  840.     0, /* number of migrated methods */
  841.     0, /* no migrated method implementations */
  842.     0, /* number of initializers */
  843.     0, /* no initializers */
  844.     0, /* used to identify a DTS class */
  845.     0, /* used to register dynamically computed info */
  846. };
  847.  
  848.  
  849. /*
  850.  * Class Creation and Initialization
  851.  */
  852.  
  853. WPSimple * SOMLINK WPSimpleNewClass (integer4 somtmajorVersion,
  854.         integer4 somtminorVersion)
  855. {
  856.     WPAbstractNewClass(WPAbstract_MajorVersion,WPAbstract_MinorVersion);    /* static reference */
  857.     /* Explicit metaclass, so get it */ 
  858.     M_WPSimpleNewClass(M_WPSimple_MajorVersion,M_WPSimple_MinorVersion);    /* static reference */
  859.     return (somBuildClass(1,&WPSimpleSCI, somtmajorVersion, somtminorVersion));
  860. }
  861.  
  862. /*
  863.  * Functions for attributes.
  864.  */
  865.  
  866. /*
  867.  * Macros for initializer/destructor entry/exit
  868.  */
  869.  
  870. #endif /* Primary Implementation Support */
  871. #pragma checkout(resume)
  872.  
  873. #endif       /* SOM_WPSimple_ih */
  874.  
  875. /*
  876.  * -- By default, for classes declared using OIDL,
  877.  * -- this emitter defines redispatch/apply stubs.
  878.  * -- To override this default, use "noapstubs", and/or "nordstubs".
  879.  */
  880.  
  881. #ifndef SOM_M_M_WPSimple_mih
  882. #define SOM_M_M_WPSimple_mih
  883.  
  884. #pragma checkout(suspend)
  885.  
  886. /*
  887.  * Set the scope of methods functions
  888.  */
  889. #ifndef SOM_Scope
  890. #define SOM_Scope static
  891. #endif  /* SOM_Scope */
  892.  
  893. #ifndef SOM_CurrentClass
  894.     #define SOM_CurrentClass M_WPSimpleCClassData.parentMtab
  895. #endif  /* SOM_CurrentClass */
  896.  
  897. #define M_WPSimple_MaxNoMethods 0
  898.  
  899. /*
  900.  * -- Instance data
  901.  */
  902. typedef struct {
  903.     HMODULE hmod;
  904. } M_WPSimpleData;
  905.  
  906. /*
  907.  * GetData macro
  908.  */
  909.  
  910. /*
  911.  * -- This emitter treats Data Tokens as Thunks by default.
  912.  * -- Use the sc modifier "nothunks" to override this default.
  913.  */
  914. typedef M_WPSimpleData* SOMLINK somTP_M_WPSimple_DataThunk(void*);
  915. #ifdef __IBMC__
  916. #pragma linkage(somTP_M_WPSimple_DataThunk, system)
  917. #endif
  918. typedef somTP_M_WPSimple_DataThunk *somTD_M_WPSimple_DataThunk;
  919.  
  920. #define M_WPSimpleGetData(somSelf) \
  921.    (((somTD_M_WPSimple_DataThunk)(M_WPSimpleCClassData.instanceDataToken))(somSelf))
  922.  
  923. /*
  924.  * Instance variable access macros
  925.  */
  926. #define _hmod (somThis->hmod)
  927.  
  928. /*
  929.  * Primary Implementation File Support
  930.  */
  931. #if (defined(M_WPSimple_Class_Source) || defined(SOM_Module_sim_Source))
  932.  
  933. /*
  934.  * Trace/Debug macro
  935.  */
  936. #ifndef M_WPSimpleMethodDebug
  937.    #define M_WPSimpleMethodDebug(c,m) SOMMethodDebug(c,m)
  938. #endif  /* M_WPSimpleMethodDebug */
  939.  
  940. /*
  941.  * Current class macros for Instance and Meta classes.
  942.  */
  943.  
  944. /*
  945.  * Overridden method: wpclsQueryStyle
  946.  */
  947. #pragma linkage(wpclswpclsQueryStyle, system)
  948. SOM_Scope ULONG   SOMLINK wpclswpclsQueryStyle(M_WPSimple *somSelf);
  949. static char *somMN_M_WPSimplewpclsQueryStyle = "WPObject::wpclsQueryStyle";
  950. static somId somId_M_WPSimplewpclsQueryStyle = &somMN_M_WPSimplewpclsQueryStyle;
  951. #ifdef somId_wpclsQueryStyle
  952. #undef somId_wpclsQueryStyle
  953. #else
  954. #define somId_wpclsQueryStyle somId_M_WPSimplewpclsQueryStyle
  955. #endif
  956. #define parent_wpclswpclsQueryStyle(somSelf) \
  957.     ((SOM_ParentNumResolve(M_WPObject, 1, M_WPSimpleCClassData.parentMtab, wpclsQueryStyle)) \
  958.      (somSelf))
  959. #ifndef parent_wpclsQueryStyle
  960.    #define parent_wpclsQueryStyle(somSelf) \
  961.     ((SOM_ParentNumResolve(M_WPObject, 1, SOM_CurrentClass, wpclsQueryStyle)) \
  962.      (somSelf))
  963. #endif  /* parent_wpclsQueryStyle */
  964.  
  965. /*
  966.  * Overridden method: wpclsInitData
  967.  */
  968. #pragma linkage(wpclswpclsInitData, system)
  969. SOM_Scope void   SOMLINK wpclswpclsInitData(M_WPSimple *somSelf);
  970. static char *somMN_M_WPSimplewpclsInitData = "WPObject::wpclsInitData";
  971. static somId somId_M_WPSimplewpclsInitData = &somMN_M_WPSimplewpclsInitData;
  972. #ifdef somId_wpclsInitData
  973. #undef somId_wpclsInitData
  974. #else
  975. #define somId_wpclsInitData somId_M_WPSimplewpclsInitData
  976. #endif
  977. #define parent_wpclswpclsInitData(somSelf) \
  978.     ((SOM_ParentNumResolve(M_WPObject, 1, M_WPSimpleCClassData.parentMtab, wpclsInitData)) \
  979.      (somSelf))
  980. #ifndef parent_wpclsInitData
  981.    #define parent_wpclsInitData(somSelf) \
  982.     ((SOM_ParentNumResolve(M_WPObject, 1, SOM_CurrentClass, wpclsInitData)) \
  983.      (somSelf))
  984. #endif  /* parent_wpclsInitData */
  985.  
  986. /*
  987.  * Initialize the class data structure
  988.  */
  989. SOMEXTERN struct M_WPSimpleClassDataStructure SOMDLINK M_WPSimpleClassData = {(SOMAny *) NULL};
  990.  
  991. /*
  992.  * Define the C class data structure
  993.  */
  994. SOMEXTERN struct M_WPSimpleCClassDataStructure SOMDLINK M_WPSimpleCClassData = {(somMethodTabs) NULL};
  995.  
  996. /*
  997.  * Routines and Structures to create the class object
  998.  */
  999.  
  1000.  
  1001. /*
  1002.  * Declare the Override Methods table.
  1003.  */
  1004. static somOverrideMethod_t M_WPSimpleOM[] = {
  1005.     {    &somId_M_WPSimplewpclsQueryStyle,
  1006.          (somMethodProc *) wpclswpclsQueryStyle    },
  1007.     {    &somId_M_WPSimplewpclsInitData,
  1008.          (somMethodProc *) wpclswpclsInitData    },
  1009. };
  1010.  
  1011.  
  1012. /*
  1013.  *  Initializers for class Ids
  1014.  */
  1015. static char * somCN_M_WPSimple = "M_WPSimple";
  1016. static char * somPCN_M_WPSimple_M_WPAbstract = "M_WPAbstract";
  1017.  
  1018. static somId somPCM_WPSimple[] = {
  1019.     &somPCN_M_WPSimple_M_WPAbstract,
  1020. };
  1021.  
  1022. static M_WPSimpleData M_WPSimple_somInstData;
  1023. static somNonInternalData_t M_WPSimpleNID[] = {
  1024.     (somDToken *) &M_WPSimpleClassData.hmod,
  1025.     (char *)&M_WPSimple_somInstData.hmod};
  1026.  
  1027. static somStaticClassInfo M_WPSimpleSCI = {
  1028.     4, 0, 2, 1, 0, 0,
  1029.     M_WPSimple_MajorVersion, M_WPSimple_MinorVersion,
  1030.     sizeof(M_WPSimpleData), M_WPSimple_MaxNoMethods, 1,
  1031.     &somCN_M_WPSimple,
  1032.     (somId) NULL, 1,
  1033.     somPCM_WPSimple,
  1034.     (somClassDataStructure *) &M_WPSimpleClassData,
  1035.     (somCClassDataStructure *) &M_WPSimpleCClassData,
  1036.     (somStaticMethod_t *) NULL, M_WPSimpleOM,
  1037.     (char *) &M_WPSimple_somInstData,
  1038.     M_WPSimpleNID,  (somProcMethods_t *) NULL,
  1039.     (somVarargsFuncs_t *) NULL,
  1040.     (somTP_somClassInitFunc *) NULL,
  1041.     0, /* default alignment */
  1042.     -1, /* use parents as directinitclasses */
  1043.     0, /* no explicit directinitclasses */
  1044.     0, /* number of general method entries */
  1045.     (somMethods_t *) NULL,
  1046.     0, /* no public data offset */
  1047.     0, /* no sci development level check */
  1048.     0, /* number of SelectInheritedMethods */
  1049.     0, /* no SelectInheritedMethods */
  1050.     4, /* number of classdata entries */
  1051.     0, /* no entry names provided currently */
  1052.     0, /* number of migrated methods */
  1053.     0, /* no migrated method implementations */
  1054.     0, /* number of initializers */
  1055.     0, /* no initializers */
  1056.     0, /* used to identify a DTS class */
  1057.     0, /* used to register dynamically computed info */
  1058. };
  1059.  
  1060.  
  1061. /*
  1062.  * Class Creation and Initialization
  1063.  */
  1064.  
  1065. M_WPSimple * SOMLINK M_WPSimpleNewClass (integer4 somtmajorVersion,
  1066.         integer4 somtminorVersion)
  1067. {
  1068.     M_WPAbstractNewClass(M_WPAbstract_MajorVersion,M_WPAbstract_MinorVersion);    /* static reference */
  1069.     return (somBuildClass(1,&M_WPSimpleSCI, somtmajorVersion, somtminorVersion));
  1070. }
  1071.  
  1072. /*
  1073.  * Functions for attributes.
  1074.  */
  1075.  
  1076. /*
  1077.  * Macros for initializer/destructor entry/exit
  1078.  */
  1079.  
  1080. #endif /* Primary Implementation Support */
  1081. #pragma checkout(resume)
  1082.  
  1083. #endif       /* SOM_M_M_WPSimple_mih */
  1084.