home *** CD-ROM | disk | FTP | other *** search
/ The Developer Connection…ice Driver Kit for OS/2 3 / DEV3-D1.ISO / source / wpshidl / samples / wpsamps / dragexam.h < prev    next >
Encoding:
C/C++ Source or Header  |  1993-11-18  |  25.0 KB  |  544 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: dragexam.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.2
  7.  *     SOM Emitter emith: 2.7
  8.  */
  9.  
  10. /*
  11.  * 
  12.  * 
  13.  *    Module Name: DRAGEXAM
  14.  * 
  15.  *    OS/2 Work Place Shell Sample Program - SOM 2.0 / IDL Version
  16.  * 
  17.  *    Copyright (C) 1993 IBM Corporation
  18.  * 
  19.  *        DISCLAIMER OF WARRANTIES.  The following [enclosed] code is
  20.  *        sample code created by IBM Corporation. This sample code is not
  21.  *        part of any standard or IBM product and is provided to you solely
  22.  *        for  the purpose of assisting you in the development of your
  23.  *        applications.  The code is provided "AS IS", without
  24.  *        warranty of any kind.  IBM shall not be liable for any damages
  25.  *        arising out of your use of the sample code, even if they have been
  26.  *        advised of the possibility of such damages.
  27.  * 
  28.  */
  29.  
  30.  
  31. #ifndef SOM_DRAGEXAM_h
  32. #define SOM_DRAGEXAM_h
  33.  
  34.  
  35. #include <som.h>
  36.  
  37. /*
  38.  * -- This emitter treats Method Tokens as Thunks by default
  39.  * -- Use the sc modifier "nothunks" to change this default
  40.  */
  41. #undef somresolve_
  42. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  43.  
  44. /*
  45.  * Define the class name as an object type
  46.  */
  47. #ifndef DRAGEXAM
  48. #define DRAGEXAM SOMObject
  49. #endif
  50. #include <wpdataf.h>
  51.  
  52. /*
  53.  * Start of user-defined types:
  54.  */
  55. #ifndef WPFolder
  56.     #define WPFolder SOMObject
  57. #endif /* WPFolder */
  58.  
  59. /*
  60.  * End of user-defined types.
  61.  */
  62.  
  63. #define DRAGEXAM_MajorVersion 1
  64. #define DRAGEXAM_MinorVersion 2
  65.  
  66. /*
  67.  * External name shortening if required
  68.  */
  69. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  70. #define DRAGEXAMNewClass dragc
  71. #pragma linkage(dragc, system)
  72. #define DRAGEXAMClassData dragd
  73. #define DRAGEXAMCClassData dragx
  74. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  75.  
  76. /*
  77.  * Include the meta class file
  78.  */
  79. #include <dragexam.h>
  80. /*--------------Migration------------*/
  81. #define DRAGEXAM_classObj DRAGEXAMClassData.classObject
  82. #define _DRAGEXAM DRAGEXAM_classObj
  83.  
  84. /*
  85.  * Declare the class creation procedure
  86.  */
  87. SOMEXTERN SOMClass * SOMLINK DRAGEXAMNewClass(integer4 somtmajorVersion,
  88.         integer4 somtminorVersion);
  89. #pragma linkage(DRAGEXAMNewClass, system)
  90.  
  91. /*
  92.  * Declare the class data structure
  93.  */
  94. SOMEXTERN struct DRAGEXAMClassDataStructure {
  95.     SOMAny *classObject;
  96. } DRAGEXAMClassData;
  97.  
  98. /*
  99.  * Declare the C specific class data structure
  100.  */
  101. SOMEXTERN struct DRAGEXAMCClassDataStructure {
  102.     somMethodTabs parentMtab;
  103.     somDToken instanceDataToken;
  104. } DRAGEXAMCClassData;
  105.  
  106. /*
  107.  * New and Renew macros for DRAGEXAM
  108.  */
  109. #define DRAGEXAMNew() \
  110.     ( DRAGEXAMClassData.classObject \
  111.         ? (_somNew(DRAGEXAMClassData.classObject)) \
  112.         : ( DRAGEXAMNewClass(DRAGEXAM_MajorVersion, DRAGEXAM_MinorVersion), (_somNew(DRAGEXAMClassData.classObject)) ) )
  113. #define DRAGEXAMRenew(buf) \
  114.     ( _somRenew(DRAGEXAMClassData.classObject, buf) )
  115.  
  116. /*
  117.  * Override method: wpFormatDragItem
  118.  */
  119. #define DRAGEXAM_wpFormatDragItem(somSelf,pdrgItem) \
  120.     WPObject_wpFormatDragItem(somSelf,pdrgItem)
  121. #ifndef SOM_DONT_USE_INHERITED_MACROS
  122. #define DRAGEXAM_wpAddFileTypePage WPDataFile_wpAddFileTypePage
  123. #define DRAGEXAM_wpPrintMetaFile WPDataFile_wpPrintMetaFile
  124. #define DRAGEXAM_wpPrintPifFile WPDataFile_wpPrintPifFile
  125. #define DRAGEXAM_wpPrintPrinterSpecificFile WPDataFile_wpPrintPrinterSpecificFile
  126. #define DRAGEXAM_wpPrintUnknownFile WPDataFile_wpPrintUnknownFile
  127. #define DRAGEXAM_wpQueryAssociatedProgram WPDataFile_wpQueryAssociatedProgram
  128. #define DRAGEXAM_wpSetAssociatedFileIcon WPDataFile_wpSetAssociatedFileIcon
  129. #define DRAGEXAM_wpDragOver WPObject_wpDragOver
  130. #define DRAGEXAM_wpRestoreState WPObject_wpRestoreState
  131. #define DRAGEXAM_wpSetDefaultView WPObject_wpSetDefaultView
  132. #define DRAGEXAM_wpSetRealName WPFileSystem_wpSetRealName
  133. #define DRAGEXAM_wpSetType WPFileSystem_wpSetType
  134. #define DRAGEXAM_wpUnInitData WPObject_wpUnInitData
  135. #define DRAGEXAM_wpAddSettingsPages WPObject_wpAddSettingsPages
  136. #define DRAGEXAM_wpAddObjectWindowPage WPObject_wpAddObjectWindowPage
  137. #define DRAGEXAM_wpOpen WPObject_wpOpen
  138. #define DRAGEXAM_wpPrintObject WPObject_wpPrintObject
  139. #define DRAGEXAM_wpModifyPopupMenu WPObject_wpModifyPopupMenu
  140. #define DRAGEXAM_wpMenuItemSelected WPObject_wpMenuItemSelected
  141. #define DRAGEXAM_wpMenuItemHelpSelected WPObject_wpMenuItemHelpSelected
  142. #define DRAGEXAM_wpQueryDefaultHelp WPObject_wpQueryDefaultHelp
  143. #define DRAGEXAM_wpConfirmRenameFileWithExt WPFileSystem_wpConfirmRenameFileWithExt
  144. #define DRAGEXAM_wpSetRealName WPFileSystem_wpSetRealName
  145. #define DRAGEXAM_wpSetType WPFileSystem_wpSetType
  146. #define DRAGEXAM_wpQueryType WPFileSystem_wpQueryType
  147. #define DRAGEXAM_wpSetAttr WPFileSystem_wpSetAttr
  148. #define DRAGEXAM_wpQueryAttr WPFileSystem_wpQueryAttr
  149. #define DRAGEXAM_wpAddFile1Page WPFileSystem_wpAddFile1Page
  150. #define DRAGEXAM_wpAddFile2Page WPFileSystem_wpAddFile2Page
  151. #define DRAGEXAM_wpAddFile3Page WPFileSystem_wpAddFile3Page
  152. #define DRAGEXAM_wpAddFileMenuPage WPFileSystem_wpAddFileMenuPage
  153. #define DRAGEXAM_wpQueryCreation WPFileSystem_wpQueryCreation
  154. #define DRAGEXAM_wpQueryLastAccess WPFileSystem_wpQueryLastAccess
  155. #define DRAGEXAM_wpQueryLastWrite WPFileSystem_wpQueryLastWrite
  156. #define DRAGEXAM_wpQueryFileSize WPFileSystem_wpQueryFileSize
  157. #define DRAGEXAM_wpQueryEASize WPFileSystem_wpQueryEASize
  158. #define DRAGEXAM_wpSetDateInfo WPFileSystem_wpSetDateInfo
  159. #define DRAGEXAM_wpSetFileSizeInfo WPFileSystem_wpSetFileSizeInfo
  160. #define DRAGEXAM_wpRefresh WPFileSystem_wpRefresh
  161. #define DRAGEXAM_wpQueryRefreshFlags WPFileSystem_wpQueryRefreshFlags
  162. #define DRAGEXAM_wpSetRefreshFlags WPFileSystem_wpSetRefreshFlags
  163. #define DRAGEXAM_wpPrintPlainTextFile WPFileSystem_wpPrintPlainTextFile
  164. #define DRAGEXAM_wpSetTitleAndRenameFile WPFileSystem_wpSetTitleAndRenameFile
  165. #define DRAGEXAM_wpConfirmRenameFileWithExt WPFileSystem_wpConfirmRenameFileWithExt
  166. #define DRAGEXAM_wpVerifyUpdateAccess WPFileSystem_wpVerifyUpdateAccess
  167. #define DRAGEXAM_wpAddUserItemsToPopupMenu WPFileSystem_wpAddUserItemsToPopupMenu
  168. #define DRAGEXAM_wpQueryRealName WPFileSystem_wpQueryRealName
  169. #define DRAGEXAM_wpUnInitData WPObject_wpUnInitData
  170. #define DRAGEXAM_wpQueryHandle WPObject_wpQueryHandle
  171. #define DRAGEXAM_wpSaveImmediate WPObject_wpSaveImmediate
  172. #define DRAGEXAM_wpFilterPopupMenu WPObject_wpFilterPopupMenu
  173. #define DRAGEXAM_wpSetTitle WPObject_wpSetTitle
  174. #define DRAGEXAM_wpViewObject WPObject_wpViewObject
  175. #define DRAGEXAM_wpSwitchTo WPObject_wpSwitchTo
  176. #define DRAGEXAM_wpAddSettingsPages WPObject_wpAddSettingsPages
  177. #define DRAGEXAM_wpCopyObject WPObject_wpCopyObject
  178. #define DRAGEXAM_wpCreateFromTemplate WPObject_wpCreateFromTemplate
  179. #define DRAGEXAM_wpMoveObject WPObject_wpMoveObject
  180. #define DRAGEXAM_wpQueryIconData WPObject_wpQueryIconData
  181. #define DRAGEXAM_wpSetIconData WPObject_wpSetIconData
  182. #define DRAGEXAM_wpQueryDetailsData WPObject_wpQueryDetailsData
  183. #define DRAGEXAM_wpModifyPopupMenu WPObject_wpModifyPopupMenu
  184. #define DRAGEXAM_wpSaveState WPObject_wpSaveState
  185. #define DRAGEXAM_wpRestoreState WPObject_wpRestoreState
  186. #define DRAGEXAM_wpMenuItemSelected WPObject_wpMenuItemSelected
  187. #define DRAGEXAM_wpOpen WPObject_wpOpen
  188. #define DRAGEXAM_wpDraggedOverObject WPObject_wpDraggedOverObject
  189. #define DRAGEXAM_wpDroppedOnObject WPObject_wpDroppedOnObject
  190. #define DRAGEXAM_wpQueryNameClashOptions WPObject_wpQueryNameClashOptions
  191. #define DRAGEXAM_wpAppendObject WPObject_wpAppendObject
  192. #define DRAGEXAM_wpReplaceObject WPObject_wpReplaceObject
  193. #define DRAGEXAM_wpQueryStyle WPObject_wpQueryStyle
  194. #define DRAGEXAM_wpSetStyle WPObject_wpSetStyle
  195. #define DRAGEXAM_wpDoesObjectMatch WPObject_wpDoesObjectMatch
  196. #define DRAGEXAM_wpAddObjectGeneralPage WPObject_wpAddObjectGeneralPage
  197. #define DRAGEXAM_wpAddObjectWindowPage WPObject_wpAddObjectWindowPage
  198. #define DRAGEXAM_wpAddSettingsPages WPObject_wpAddSettingsPages
  199. #define DRAGEXAM_wpAddToObjUseList WPObject_wpAddToObjUseList
  200. #define DRAGEXAM_wpAllocMem WPObject_wpAllocMem
  201. #define DRAGEXAM_wpAppendObject WPObject_wpAppendObject
  202. #define DRAGEXAM_wpAssertObjectMutexSem WPObject_wpAssertObjectMutexSem
  203. #define DRAGEXAM_wpClose WPObject_wpClose
  204. #define DRAGEXAM_wpCnrInsertObject WPObject_wpCnrInsertObject
  205. #define DRAGEXAM_wpCnrRemoveObject WPObject_wpCnrRemoveObject
  206. #define DRAGEXAM_wpCnrSetEmphasis WPObject_wpCnrSetEmphasis
  207. #define DRAGEXAM_wpConfirmDelete WPObject_wpConfirmDelete
  208. #define DRAGEXAM_wpConfirmObjectTitle WPObject_wpConfirmObjectTitle
  209. #define DRAGEXAM_wpCopiedFromTemplate WPObject_wpCopiedFromTemplate
  210. #define DRAGEXAM_wpCopyObject WPObject_wpCopyObject
  211. #define DRAGEXAM_wpCreateAnother WPObject_wpCreateAnother
  212. #define DRAGEXAM_wpCreateFromTemplate WPObject_wpCreateFromTemplate
  213. #define DRAGEXAM_wpCreateShadowObject WPObject_wpCreateShadowObject
  214. #define DRAGEXAM_wpDelete WPObject_wpDelete
  215. #define DRAGEXAM_wpDeleteFromObjUseList WPObject_wpDeleteFromObjUseList
  216. #define DRAGEXAM_wpDisplayHelp WPObject_wpDisplayHelp
  217. #define DRAGEXAM_wpDoesObjectMatch WPObject_wpDoesObjectMatch
  218. #define DRAGEXAM_wpDraggedOverObject WPObject_wpDraggedOverObject
  219. #define DRAGEXAM_wpDragOver WPObject_wpDragOver
  220. #define DRAGEXAM_wpDrop WPObject_wpDrop
  221. #define DRAGEXAM_wpDroppedOnObject WPObject_wpDroppedOnObject
  222. #define DRAGEXAM_wpEndConversation WPObject_wpEndConversation
  223. #define DRAGEXAM_wpFilterPopupMenu WPObject_wpFilterPopupMenu
  224. #define DRAGEXAM_wpFindUseItem WPObject_wpFindUseItem
  225. #define DRAGEXAM_wpFree WPObject_wpFree
  226. #define DRAGEXAM_wpFreeMem WPObject_wpFreeMem
  227. #define DRAGEXAM_wpHide WPObject_wpHide
  228. #define DRAGEXAM_wpInitData WPObject_wpInitData
  229. #define DRAGEXAM_wpInsertPopupMenuItems WPObject_wpInsertPopupMenuItems
  230. #define DRAGEXAM_wpInsertSettingsPage WPObject_wpInsertSettingsPage
  231. #define DRAGEXAM_wpMenuItemHelpSelected WPObject_wpMenuItemHelpSelected
  232. #define DRAGEXAM_wpMenuItemSelected WPObject_wpMenuItemSelected
  233. #define DRAGEXAM_wpModifyPopupMenu WPObject_wpModifyPopupMenu
  234. #define DRAGEXAM_wpMoveObject WPObject_wpMoveObject
  235. #define DRAGEXAM_wpOpen WPObject_wpOpen
  236. #define DRAGEXAM_wpPrintObject WPObject_wpPrintObject
  237. #define DRAGEXAM_wpQueryConcurrentView WPObject_wpQueryConcurrentView
  238. #define DRAGEXAM_wpQueryButtonAppearance WPObject_wpQueryButtonAppearance
  239. #define DRAGEXAM_wpQueryConfirmations WPObject_wpQueryConfirmations
  240. #define DRAGEXAM_wpQueryDefaultHelp WPObject_wpQueryDefaultHelp
  241. #define DRAGEXAM_wpQueryDefaultView WPObject_wpQueryDefaultView
  242. #define DRAGEXAM_wpQueryDetailsData WPObject_wpQueryDetailsData
  243. #define DRAGEXAM_wpQueryError WPObject_wpQueryError
  244. #define DRAGEXAM_wpQueryIcon WPObject_wpQueryIcon
  245. #define DRAGEXAM_wpQueryIconData WPObject_wpQueryIconData
  246. #define DRAGEXAM_wpQueryMinWindow WPObject_wpQueryMinWindow
  247. #define DRAGEXAM_wpQueryNameClashOptions WPObject_wpQueryNameClashOptions
  248. #define DRAGEXAM_wpQueryStyle WPObject_wpQueryStyle
  249. #define DRAGEXAM_wpSetTaskRec WPObject_wpSetTaskRec
  250. #define DRAGEXAM_wpFindTaskRec WPObject_wpFindTaskRec
  251. #define DRAGEXAM_wpQueryTitle WPObject_wpQueryTitle
  252. #define DRAGEXAM_wpRegisterView WPObject_wpRegisterView
  253. #define DRAGEXAM_wpReleaseObjectMutexSem WPObject_wpReleaseObjectMutexSem
  254. #define DRAGEXAM_wpRender WPObject_wpRender
  255. #define DRAGEXAM_wpRenderComplete WPObject_wpRenderComplete
  256. #define DRAGEXAM_wpReplaceObject WPObject_wpReplaceObject
  257. #define DRAGEXAM_wpRequestObjectMutexSem WPObject_wpRequestObjectMutexSem
  258. #define DRAGEXAM_wpRestore WPObject_wpRestore
  259. #define DRAGEXAM_wpRestoreData WPObject_wpRestoreData
  260. #define DRAGEXAM_wpRestoreLong WPObject_wpRestoreLong
  261. #define DRAGEXAM_wpRestoreState WPObject_wpRestoreState
  262. #define DRAGEXAM_wpRestoreString WPObject_wpRestoreString
  263. #define DRAGEXAM_wpSaveData WPObject_wpSaveData
  264. #define DRAGEXAM_wpSaveImmediate WPObject_wpSaveImmediate
  265. #define DRAGEXAM_wpSaveDeferred WPObject_wpSaveDeferred
  266. #define DRAGEXAM_wpSaveLong WPObject_wpSaveLong
  267. #define DRAGEXAM_wpSaveState WPObject_wpSaveState
  268. #define DRAGEXAM_wpSaveString WPObject_wpSaveString
  269. #define DRAGEXAM_wpScanSetupString WPObject_wpScanSetupString
  270. #define DRAGEXAM_wpSetConcurrentView WPObject_wpSetConcurrentView
  271. #define DRAGEXAM_wpSetButtonAppearance WPObject_wpSetButtonAppearance
  272. #define DRAGEXAM_wpSetDefaultHelp WPObject_wpSetDefaultHelp
  273. #define DRAGEXAM_wpSetDefaultView WPObject_wpSetDefaultView
  274. #define DRAGEXAM_wpSetError WPObject_wpSetError
  275. #define DRAGEXAM_wpSetIcon WPObject_wpSetIcon
  276. #define DRAGEXAM_wpSetIconData WPObject_wpSetIconData
  277. #define DRAGEXAM_wpSetMinWindow WPObject_wpSetMinWindow
  278. #define DRAGEXAM_wpSetStyle WPObject_wpSetStyle
  279. #define DRAGEXAM_wpModifyStyle WPObject_wpModifyStyle
  280. #define DRAGEXAM_wpSetTitle WPObject_wpSetTitle
  281. #define DRAGEXAM_wpSetup WPObject_wpSetup
  282. #define DRAGEXAM_wpSwitchTo WPObject_wpSwitchTo
  283. #define DRAGEXAM_wpUnInitData WPObject_wpUnInitData
  284. #define DRAGEXAM_wpViewObject WPObject_wpViewObject
  285. #define DRAGEXAM_wpQueryTrueStyle WPObject_wpQueryTrueStyle
  286. #define DRAGEXAM_wpQueryHandle WPObject_wpQueryHandle
  287. #define DRAGEXAM_wpUnlockObject WPObject_wpUnlockObject
  288. #define DRAGEXAM_somInit SOMObject_somInit
  289. #define DRAGEXAM_somUninit SOMObject_somUninit
  290. #define DRAGEXAM_somFree SOMObject_somFree
  291. #define DRAGEXAM_somDefaultInit SOMObject_somDefaultInit
  292. #define DRAGEXAM_somDestruct SOMObject_somDestruct
  293. #define DRAGEXAM_somInit SOMObject_somInit
  294. #define DRAGEXAM_somUninit SOMObject_somUninit
  295. #define DRAGEXAM_somGetClass SOMObject_somGetClass
  296. #define DRAGEXAM_somGetClassName SOMObject_somGetClassName
  297. #define DRAGEXAM_somGetSize SOMObject_somGetSize
  298. #define DRAGEXAM_somIsA SOMObject_somIsA
  299. #define DRAGEXAM_somIsInstanceOf SOMObject_somIsInstanceOf
  300. #define DRAGEXAM_somRespondsTo SOMObject_somRespondsTo
  301. #define DRAGEXAM_somComputeForwardVisitMask SOMObject_somComputeForwardVisitMask
  302. #define DRAGEXAM_somComputeReverseVisitMask SOMObject_somComputeReverseVisitMask
  303. #define DRAGEXAM_somDispatchV SOMObject_somDispatchV
  304. #define DRAGEXAM_somDispatchL SOMObject_somDispatchL
  305. #define DRAGEXAM_somDispatchA SOMObject_somDispatchA
  306. #define DRAGEXAM_somDispatchD SOMObject_somDispatchD
  307. #define DRAGEXAM_somDispatch SOMObject_somDispatch
  308. #define DRAGEXAM_somClassDispatch SOMObject_somClassDispatch
  309. #define DRAGEXAM_somCastObj SOMObject_somCastObj
  310. #define DRAGEXAM_somResetObj SOMObject_somResetObj
  311. #define DRAGEXAM_somPrintSelf SOMObject_somPrintSelf
  312. #define DRAGEXAM_somDumpSelf SOMObject_somDumpSelf
  313. #define DRAGEXAM_somDumpSelfInt SOMObject_somDumpSelfInt
  314. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  315.  
  316. #endif       /* SOM_DRAGEXAM_h */
  317.  
  318. #ifndef SOM_M_DRAGEXAM_h
  319. #define SOM_M_DRAGEXAM_h
  320.  
  321.  
  322. #include <som.h>
  323.  
  324. /*
  325.  * -- This emitter treats Method Tokens as Thunks by default
  326.  * -- Use the sc modifier "nothunks" to change this default
  327.  */
  328. #undef somresolve_
  329. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  330.  
  331. /*
  332.  * Define the class name as an object type
  333.  */
  334. #ifndef M_DRAGEXAM
  335. #define M_DRAGEXAM SOMObject
  336. #endif
  337. #include <wpdataf.h>
  338.  
  339. /*
  340.  * Start of user-defined types:
  341.  */
  342. #ifndef WPFolder
  343.     #define WPFolder SOMObject
  344. #endif /* WPFolder */
  345.  
  346. /*
  347.  * End of user-defined types.
  348.  */
  349.  
  350. #define M_DRAGEXAM_MajorVersion 1
  351. #define M_DRAGEXAM_MinorVersion 2
  352.  
  353. /*
  354.  * External name shortening if required
  355.  */
  356. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  357. #define M_DRAGEXAMNewClass dragc
  358. #pragma linkage(dragc, system)
  359. #define M_DRAGEXAMClassData dragd
  360. #define M_DRAGEXAMCClassData dragx
  361. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  362. /*--------------Migration------------*/
  363. #define M_DRAGEXAM_classObj M_DRAGEXAMClassData.classObject
  364. #define _M_DRAGEXAM M_DRAGEXAM_classObj
  365.  
  366. /*
  367.  * Declare the class creation procedure
  368.  */
  369. SOMEXTERN SOMClass * SOMLINK M_DRAGEXAMNewClass(integer4 somtmajorVersion,
  370.         integer4 somtminorVersion);
  371. #pragma linkage(M_DRAGEXAMNewClass, system)
  372.  
  373. /*
  374.  * Declare the class data structure
  375.  */
  376. SOMEXTERN struct M_DRAGEXAMClassDataStructure {
  377.     SOMAny *classObject;
  378. } M_DRAGEXAMClassData;
  379.  
  380. /*
  381.  * Declare the C specific class data structure
  382.  */
  383. SOMEXTERN struct M_DRAGEXAMCClassDataStructure {
  384.     somMethodTabs parentMtab;
  385.     somDToken instanceDataToken;
  386. } M_DRAGEXAMCClassData;
  387.  
  388. /*
  389.  * New and Renew macros for M_DRAGEXAM
  390.  */
  391. #define M_DRAGEXAMNew() \
  392.     ( M_DRAGEXAMClassData.classObject \
  393.         ? (_somNew(M_DRAGEXAMClassData.classObject)) \
  394.         : ( M_DRAGEXAMNewClass(M_DRAGEXAM_MajorVersion, M_DRAGEXAM_MinorVersion), (_somNew(M_DRAGEXAMClassData.classObject)) ) )
  395. #define M_DRAGEXAMRenew(buf) \
  396.     ( _somRenew(M_DRAGEXAMClassData.classObject, buf) )
  397.  
  398. /*
  399.  * Override method: wpclsQueryTitle
  400.  */
  401. #define M_DRAGEXAM_wpclsQueryTitle(somSelf) \
  402.     M_WPObject_wpclsQueryTitle(somSelf)
  403. #ifndef SOM_DONT_USE_INHERITED_MACROS
  404. #define M_DRAGEXAM_wpclsQueryIconData M_WPObject_wpclsQueryIconData
  405. #define M_DRAGEXAM_wpclsQueryStyle M_WPObject_wpclsQueryStyle
  406. #define M_DRAGEXAM_wpclsQueryDefaultView M_WPObject_wpclsQueryDefaultView
  407. #define M_DRAGEXAM_wpclsQueryDefaultHelp M_WPObject_wpclsQueryDefaultHelp
  408. #define M_DRAGEXAM_wpclsQueryObjectFromPath M_WPFileSystem_wpclsQueryObjectFromPath
  409. #define M_DRAGEXAM_wpclsQueryInstanceType M_WPFileSystem_wpclsQueryInstanceType
  410. #define M_DRAGEXAM_wpclsQueryInstanceFilter M_WPFileSystem_wpclsQueryInstanceFilter
  411. #define M_DRAGEXAM_wpclsInitData M_WPObject_wpclsInitData
  412. #define M_DRAGEXAM_wpclsQueryDetailsInfo M_WPObject_wpclsQueryDetailsInfo
  413. #define M_DRAGEXAM_wpclsQuerySearchInfo M_WPObject_wpclsQuerySearchInfo
  414. #define M_DRAGEXAM_wpclsQueryExtendedCriteria M_WPObject_wpclsQueryExtendedCriteria
  415. #define M_DRAGEXAM_wpclsCreateDefaultTemplates M_WPObject_wpclsCreateDefaultTemplates
  416. #define M_DRAGEXAM_wpclsInitData M_WPObject_wpclsInitData
  417. #define M_DRAGEXAM_wpclsMakeAwake M_WPObject_wpclsMakeAwake
  418. #define M_DRAGEXAM_wpclsNew M_WPObject_wpclsNew
  419. #define M_DRAGEXAM_wpclsQueryDefaultHelp M_WPObject_wpclsQueryDefaultHelp
  420. #define M_DRAGEXAM_wpclsQueryDefaultView M_WPObject_wpclsQueryDefaultView
  421. #define M_DRAGEXAM_wpclsQueryDetails M_WPObject_wpclsQueryDetails
  422. #define M_DRAGEXAM_wpclsQueryDetailsInfo M_WPObject_wpclsQueryDetailsInfo
  423. #define M_DRAGEXAM_wpclsQueryExtendedCriteria M_WPObject_wpclsQueryExtendedCriteria
  424. #define M_DRAGEXAM_wpclsQueryFolder M_WPObject_wpclsQueryFolder
  425. #define M_DRAGEXAM_wpclsQueryIcon M_WPObject_wpclsQueryIcon
  426. #define M_DRAGEXAM_wpclsQuerySearchInfo M_WPObject_wpclsQuerySearchInfo
  427. #define M_DRAGEXAM_wpclsQueryStyle M_WPObject_wpclsQueryStyle
  428. #define M_DRAGEXAM_wpclsUnInitData M_WPObject_wpclsUnInitData
  429. #define M_DRAGEXAM_wpclsFindObjectFirst M_WPObject_wpclsFindObjectFirst
  430. #define M_DRAGEXAM_wpclsFindObjectNext M_WPObject_wpclsFindObjectNext
  431. #define M_DRAGEXAM_wpclsFindObjectEnd M_WPObject_wpclsFindObjectEnd
  432. #define M_DRAGEXAM_wpclsSetError M_WPObject_wpclsSetError
  433. #define M_DRAGEXAM_wpclsQueryError M_WPObject_wpclsQueryError
  434. #define M_DRAGEXAM_wpclsQuerySettingsPageSize M_WPObject_wpclsQuerySettingsPageSize
  435. #define M_DRAGEXAM_wpclsQueryIconData M_WPObject_wpclsQueryIconData
  436. #define M_DRAGEXAM_wpclsQueryObject M_WPObject_wpclsQueryObject
  437. #define M_DRAGEXAM_wpclsQueryButtonAppearance M_WPObject_wpclsQueryButtonAppearance
  438. #define M_DRAGEXAM_somUninit SOMObject_somUninit
  439. #define M_DRAGEXAM_somInitClass SOMClass_somInitClass
  440. #define M_DRAGEXAM_somNew SOMClass_somNew
  441. #define M_DRAGEXAM_somRenew SOMClass_somRenew
  442. #define M_DRAGEXAM__get_somDirectInitClasses SOMClass__get_somDirectInitClasses
  443. #define M_DRAGEXAM__set_somDirectInitClasses SOMClass__set_somDirectInitClasses
  444. #define M_DRAGEXAM_somGetInstanceInitMask SOMClass_somGetInstanceInitMask
  445. #define M_DRAGEXAM_somGetInstanceDestructionMask SOMClass_somGetInstanceDestructionMask
  446. #define M_DRAGEXAM_somGetInitMaskOffset SOMClass_somGetInitMaskOffset
  447. #define M_DRAGEXAM_somGetDestructionMaskOffset SOMClass_somGetDestructionMaskOffset
  448. #define M_DRAGEXAM_somShouldCallInit SOMClass_somShouldCallInit
  449. #define M_DRAGEXAM_somAllocate SOMClass_somAllocate
  450. #define M_DRAGEXAM_somDeallocate SOMClass_somDeallocate
  451. #define M_DRAGEXAM_somNew SOMClass_somNew
  452. #define M_DRAGEXAM_somNewNoInit SOMClass_somNewNoInit
  453. #define M_DRAGEXAM_somRenew SOMClass_somRenew
  454. #define M_DRAGEXAM_somRenewNoInit SOMClass_somRenewNoInit
  455. #define M_DRAGEXAM_somRenewNoZero SOMClass_somRenewNoZero
  456. #define M_DRAGEXAM_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
  457. #define M_DRAGEXAM_somInitClass SOMClass_somInitClass
  458. #define M_DRAGEXAM_somInitMIClass SOMClass_somInitMIClass
  459. #define M_DRAGEXAM_somAddStaticMethod SOMClass_somAddStaticMethod
  460. #define M_DRAGEXAM_somAddMethod SOMClass_somAddMethod
  461. #define M_DRAGEXAM_somRegLPMToken SOMClass_somRegLPMToken
  462. #define M_DRAGEXAM_somAddDynamicMethod SOMClass_somAddDynamicMethod
  463. #define M_DRAGEXAM_somClassReady SOMClass_somClassReady
  464. #define M_DRAGEXAM_somOverrideSMethod SOMClass_somOverrideSMethod
  465. #define M_DRAGEXAM_somGetApplyStub SOMClass_somGetApplyStub
  466. #define M_DRAGEXAM_somGetClassData SOMClass_somGetClassData
  467. #define M_DRAGEXAM_somSetClassData SOMClass_somSetClassData
  468. #define M_DRAGEXAM_somGetClassMtab SOMClass_somGetClassMtab
  469. #define M_DRAGEXAM_somGetInstanceOffset SOMClass_somGetInstanceOffset
  470. #define M_DRAGEXAM_somGetInstancePartSize SOMClass_somGetInstancePartSize
  471. #define M_DRAGEXAM_somGetInstanceSize SOMClass_somGetInstanceSize
  472. #define M_DRAGEXAM_somGetDataAlignment SOMClass_somGetDataAlignment
  473. #define M_DRAGEXAM_somGetInstanceToken SOMClass_somGetInstanceToken
  474. #define M_DRAGEXAM_somGetMemberToken SOMClass_somGetMemberToken
  475. #define M_DRAGEXAM_somGetMethodData SOMClass_somGetMethodData
  476. #define M_DRAGEXAM_somGetRdStub SOMClass_somGetRdStub
  477. #define M_DRAGEXAM_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  478. #define M_DRAGEXAM_somGetMethodIndex SOMClass_somGetMethodIndex
  479. #define M_DRAGEXAM_somGetMethodOffset SOMClass_somGetMethodOffset
  480. #define M_DRAGEXAM_somGetMethodToken SOMClass_somGetMethodToken
  481. #define M_DRAGEXAM_somGetName SOMClass_somGetName
  482. #define M_DRAGEXAM_somGetNthMethodData SOMClass_somGetNthMethodData
  483. #define M_DRAGEXAM_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
  484. #define M_DRAGEXAM_somGetNumMethods SOMClass_somGetNumMethods
  485. #define M_DRAGEXAM_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  486. #define M_DRAGEXAM_somGetParent SOMClass_somGetParent
  487. #define M_DRAGEXAM_somGetParents SOMClass_somGetParents
  488. #define M_DRAGEXAM_somGetPClsMtab SOMClass_somGetPClsMtab
  489. #define M_DRAGEXAM_somGetPClsMtabs SOMClass_somGetPClsMtabs
  490. #define M_DRAGEXAM_somGetVersionNumbers SOMClass_somGetVersionNumbers
  491. #define M_DRAGEXAM_somSetMethodDescriptor SOMClass_somSetMethodDescriptor
  492. #define M_DRAGEXAM_somCheckVersion SOMClass_somCheckVersion
  493. #define M_DRAGEXAM_somDescendedFrom SOMClass_somDescendedFrom
  494. #define M_DRAGEXAM_somSupportsMethod SOMClass_somSupportsMethod
  495. #define M_DRAGEXAM__get_somReleaseOrder SOMClass__get_somReleaseOrder
  496. #define M_DRAGEXAM__set_somReleaseOrder SOMClass__set_somReleaseOrder
  497. #define M_DRAGEXAM_somGetClassDataEntry SOMClass_somGetClassDataEntry
  498. #define M_DRAGEXAM_somSetClassDataEntry SOMClass_somSetClassDataEntry
  499. #define M_DRAGEXAM_somDefinedMethod SOMClass_somDefinedMethod
  500. #define M_DRAGEXAM_somCastObjCls SOMClass_somCastObjCls
  501. #define M_DRAGEXAM_somResetObjCls SOMClass_somResetObjCls
  502. #define M_DRAGEXAM__get_trueClass SOMClass__get_trueClass
  503. #define M_DRAGEXAM__get_castedClass SOMClass__get_castedClass
  504. #define M_DRAGEXAM_somCloneClass SOMClass_somCloneClass
  505. #define M_DRAGEXAM_somFindMethod SOMClass_somFindMethod
  506. #define M_DRAGEXAM_somFindMethodOk SOMClass_somFindMethodOk
  507. #define M_DRAGEXAM_somFindSMethod SOMClass_somFindSMethod
  508. #define M_DRAGEXAM_somFindSMethodOk SOMClass_somFindSMethodOk
  509. #define M_DRAGEXAM_somLookupMethod SOMClass_somLookupMethod
  510. #define M_DRAGEXAM_somOverrideMtab SOMClass_somOverrideMtab
  511. #define M_DRAGEXAM__get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
  512. #define M_DRAGEXAM__get_somMethodOffsets SOMClass__get_somMethodOffsets
  513. #define M_DRAGEXAM_somInit SOMObject_somInit
  514. #define M_DRAGEXAM_somUninit SOMObject_somUninit
  515. #define M_DRAGEXAM_somDumpSelfInt SOMObject_somDumpSelfInt
  516. #define M_DRAGEXAM_somPrintSelf SOMObject_somPrintSelf
  517. #define M_DRAGEXAM_somFree SOMObject_somFree
  518. #define M_DRAGEXAM_somDefaultInit SOMObject_somDefaultInit
  519. #define M_DRAGEXAM_somDestruct SOMObject_somDestruct
  520. #define M_DRAGEXAM_somInit SOMObject_somInit
  521. #define M_DRAGEXAM_somUninit SOMObject_somUninit
  522. #define M_DRAGEXAM_somGetClass SOMObject_somGetClass
  523. #define M_DRAGEXAM_somGetClassName SOMObject_somGetClassName
  524. #define M_DRAGEXAM_somGetSize SOMObject_somGetSize
  525. #define M_DRAGEXAM_somIsA SOMObject_somIsA
  526. #define M_DRAGEXAM_somIsInstanceOf SOMObject_somIsInstanceOf
  527. #define M_DRAGEXAM_somRespondsTo SOMObject_somRespondsTo
  528. #define M_DRAGEXAM_somComputeForwardVisitMask SOMObject_somComputeForwardVisitMask
  529. #define M_DRAGEXAM_somComputeReverseVisitMask SOMObject_somComputeReverseVisitMask
  530. #define M_DRAGEXAM_somDispatchV SOMObject_somDispatchV
  531. #define M_DRAGEXAM_somDispatchL SOMObject_somDispatchL
  532. #define M_DRAGEXAM_somDispatchA SOMObject_somDispatchA
  533. #define M_DRAGEXAM_somDispatchD SOMObject_somDispatchD
  534. #define M_DRAGEXAM_somDispatch SOMObject_somDispatch
  535. #define M_DRAGEXAM_somClassDispatch SOMObject_somClassDispatch
  536. #define M_DRAGEXAM_somCastObj SOMObject_somCastObj
  537. #define M_DRAGEXAM_somResetObj SOMObject_somResetObj
  538. #define M_DRAGEXAM_somPrintSelf SOMObject_somPrintSelf
  539. #define M_DRAGEXAM_somDumpSelf SOMObject_somDumpSelf
  540. #define M_DRAGEXAM_somDumpSelfInt SOMObject_somDumpSelfInt
  541. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  542.  
  543. #endif       /* SOM_M_DRAGEXAM_h */
  544.