home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / SOMBACLS.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  13KB  |  313 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\u\otp\include\sombacls.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.2
  7.  *     SOM Emitter emith: 2.41
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somu
  13.  * 
  14.  *    ORIGINS: 27
  15.  * 
  16.  * 
  17.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  18.  *    All Rights Reserved
  19.  *    Licensed Materials - Property of IBM
  20.  *    US Government Users Restricted Rights - Use, duplication or
  21.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22.  * 
  23.  */
  24.  
  25.  
  26. #ifndef SOM_SOMMBeforeAfter_h
  27. #define SOM_SOMMBeforeAfter_h
  28.  
  29.  
  30. #include <som.h>
  31.  
  32. /*
  33.  * -- This emitter treats Method Tokens as Thunks by default.
  34.  * -- Use the sc modifier "nothunks" to change this default
  35.  */
  36. #undef somresolve_
  37. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  38.  
  39. /*
  40.  * Define the class name as an object type
  41.  */
  42. #ifndef SOMMBeforeAfter
  43. #define SOMMBeforeAfter SOMObject
  44. #endif
  45. #include <somcls.h>
  46.  
  47. /*
  48.  * Start of user-defined types:
  49.  */
  50. #ifndef SOMClass
  51.     #define SOMClass SOMObject
  52. #endif /* SOMClass */
  53.  
  54. /*
  55.  * End of user-defined types.
  56.  */
  57.  
  58. #define SOMMBeforeAfter_MajorVersion 2
  59. #define SOMMBeforeAfter_MinorVersion 1
  60.  
  61. /*
  62.  * External name shortening if required
  63.  */
  64. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  65. #define SOMMBeforeAfterNewClass c
  66. #pragma linkage(c, system)
  67. #define SOMMBeforeAfterClassData d
  68. #define SOMMBeforeAfterCClassData x
  69. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  70. /*--------------Migration------------*/
  71. #define SOMMBeforeAfter_classObj SOMMBeforeAfterClassData.classObject
  72. #define _SOMMBeforeAfter SOMMBeforeAfter_classObj
  73.  
  74. /*
  75.  * Declare the class creation procedure
  76.  */
  77. SOMEXTERN SOMClass * SOMLINK SOMMBeforeAfterNewClass(integer4 somtmajorVersion,
  78.         integer4 somtminorVersion);
  79. #pragma linkage(SOMMBeforeAfterNewClass, system)
  80.  
  81. /*
  82.  * Declare the class data structure
  83.  */
  84. SOMEXTERN struct SOMMBeforeAfterClassDataStructure {
  85.     SOMAny *classObject;
  86.     somMToken sommBeforeMethod;
  87.     somMToken sommAfterMethod;
  88. } SOMDLINK SOMMBeforeAfterClassData;
  89.  
  90. /*
  91.  * Declare the C specific class data structure
  92.  */
  93. SOMEXTERN struct SOMMBeforeAfterCClassDataStructure {
  94.     somMethodTabs parentMtab;
  95.     somDToken instanceDataToken;
  96.     somMethodProc *sommBeforeMethod;
  97.     somMethodProc *sommAfterMethod;
  98. } SOMDLINK SOMMBeforeAfterCClassData;
  99.  
  100. /*
  101.  * New and Renew macros for SOMMBeforeAfter
  102.  */
  103. #define SOMMBeforeAfterNew() \
  104.    (_somNew(_SOMMBeforeAfter ? _SOMMBeforeAfter : SOMMBeforeAfterNewClass(SOMMBeforeAfter_MajorVersion, SOMMBeforeAfter_MinorVersion)))
  105. #define SOMMBeforeAfterRenew(buf) \
  106.    (_somRenew(_SOMMBeforeAfter ? _SOMMBeforeAfter : SOMMBeforeAfterNewClass(SOMMBeforeAfter_MajorVersion, SOMMBeforeAfter_MinorVersion), buf))
  107.  
  108. /*
  109.  * Override method: somDefaultInit
  110.  */
  111. #define SOMMBeforeAfter_somDefaultInit(somSelf,ctrl) \
  112.     SOMObject_somDefaultInit(somSelf,ctrl)
  113.  
  114. /*
  115.  * Override method: somInitMIClass
  116.  */
  117. #define SOMMBeforeAfter_somInitMIClass(somSelf,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion) \
  118.     SOMClass_somInitMIClass(somSelf,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion)
  119.  
  120. /*
  121.  * New Method: sommBeforeMethod
  122.  */
  123. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_sommBeforeMethod(SOMMBeforeAfter *somSelf, Environment *ev,
  124.         SOMObject* object,
  125.         somId methodId,
  126.         ...);
  127. #pragma linkage(somTP_SOMMBeforeAfter_sommBeforeMethod, system)
  128. typedef somTP_SOMMBeforeAfter_sommBeforeMethod *somTD_SOMMBeforeAfter_sommBeforeMethod;
  129. #define somMD_SOMMBeforeAfter_sommBeforeMethod "::SOMMBeforeAfter::sommBeforeMethod"
  130. #define SOMMBeforeAfter_sommBeforeMethod(somSelf,ev,object,methodId,ap) \
  131.     (SOM_Resolve(somSelf, SOMMBeforeAfter, sommBeforeMethod) \
  132.     (somSelf,ev,object,methodId,ap))
  133. #ifndef SOMGD_va_sommBeforeMethod
  134.    #ifdef va_sommBeforeMethod
  135.       #undef va_sommBeforeMethod
  136.       #define SOMGD_va_sommBeforeMethod 1
  137.    #else
  138.       #define va_sommBeforeMethod va_SOMMBeforeAfter_sommBeforeMethod
  139.    #endif /* va_sommBeforeMethod */
  140. #endif /* SOMGD_va_sommBeforeMethod */
  141. #ifndef SOMGD_sommBeforeMethod
  142.     #if (defined(_sommBeforeMethod) || defined(__sommBeforeMethod))
  143.         #undef _sommBeforeMethod
  144.         #undef __sommBeforeMethod
  145.         #define SOMGD_sommBeforeMethod 1
  146.     #else
  147.         #define _sommBeforeMethod va_SOMMBeforeAfter_sommBeforeMethod
  148.     #endif /* _sommBeforeMethod */
  149. #endif /* SOMGD_sommBeforeMethod */
  150. #ifdef SOMMBeforeAfter_VA_EXTERN
  151.     SOMEXTERN
  152. #else
  153.     static
  154. #endif
  155. boolean  SOMLINK va_SOMMBeforeAfter_sommBeforeMethod(SOMMBeforeAfter *somSelf, Environment *ev,
  156.         SOMObject* object,
  157.         somId methodId,
  158.         ...)
  159. #if (defined(SOMMBeforeAfter_VA_STUBS)||!defined(SOMMBeforeAfter_VA_EXTERN))
  160. {
  161.     boolean result;
  162.     va_list ap;
  163.     va_start(ap, methodId);
  164.     result = SOMMBeforeAfter_sommBeforeMethod(somSelf,ev,object,methodId,ap);
  165.     va_end(ap);
  166.     return (result);
  167. }    
  168. #else
  169.     ;
  170. #endif
  171.  
  172. /*
  173.  * New Method: sommAfterMethod
  174.  */
  175. typedef void   SOMLINK somTP_SOMMBeforeAfter_sommAfterMethod(SOMMBeforeAfter *somSelf, Environment *ev,
  176.         SOMObject* object,
  177.         somId methodId,
  178.         somToken returnedvalue,
  179.         ...);
  180. #pragma linkage(somTP_SOMMBeforeAfter_sommAfterMethod, system)
  181. typedef somTP_SOMMBeforeAfter_sommAfterMethod *somTD_SOMMBeforeAfter_sommAfterMethod;
  182. #define somMD_SOMMBeforeAfter_sommAfterMethod "::SOMMBeforeAfter::sommAfterMethod"
  183. #define SOMMBeforeAfter_sommAfterMethod(somSelf,ev,object,methodId,returnedvalue,ap) \
  184.     (SOM_Resolve(somSelf, SOMMBeforeAfter, sommAfterMethod) \
  185.     (somSelf,ev,object,methodId,returnedvalue,ap))
  186. #ifndef SOMGD_va_sommAfterMethod
  187.    #ifdef va_sommAfterMethod
  188.       #undef va_sommAfterMethod
  189.       #define SOMGD_va_sommAfterMethod 1
  190.    #else
  191.       #define va_sommAfterMethod va_SOMMBeforeAfter_sommAfterMethod
  192.    #endif /* va_sommAfterMethod */
  193. #endif /* SOMGD_va_sommAfterMethod */
  194. #ifndef SOMGD_sommAfterMethod
  195.     #if (defined(_sommAfterMethod) || defined(__sommAfterMethod))
  196.         #undef _sommAfterMethod
  197.         #undef __sommAfterMethod
  198.         #define SOMGD_sommAfterMethod 1
  199.     #else
  200.         #define _sommAfterMethod va_SOMMBeforeAfter_sommAfterMethod
  201.     #endif /* _sommAfterMethod */
  202. #endif /* SOMGD_sommAfterMethod */
  203. #ifdef SOMMBeforeAfter_VA_EXTERN
  204.     SOMEXTERN
  205. #else
  206.     static
  207. #endif
  208. void  SOMLINK va_SOMMBeforeAfter_sommAfterMethod(SOMMBeforeAfter *somSelf, Environment *ev,
  209.         SOMObject* object,
  210.         somId methodId,
  211.         somToken returnedvalue,
  212.         ...)
  213. #if (defined(SOMMBeforeAfter_VA_STUBS)||!defined(SOMMBeforeAfter_VA_EXTERN))
  214. {
  215.     va_list ap;
  216.     va_start(ap, returnedvalue);
  217.     SOMMBeforeAfter_sommAfterMethod(somSelf,ev,object,methodId,returnedvalue,ap);
  218.     va_end(ap);
  219. }    
  220. #else
  221.     ;
  222. #endif
  223. #ifndef SOM_DONT_USE_INHERITED_MACROS
  224. #define SOMMBeforeAfter__get_somDataAlignment SOMClass__get_somDataAlignment
  225. #define SOMMBeforeAfter__get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
  226. #define SOMMBeforeAfter__get_somDirectInitClasses SOMClass__get_somDirectInitClasses
  227. #define SOMMBeforeAfter__set_somDirectInitClasses SOMClass__set_somDirectInitClasses
  228. #define SOMMBeforeAfter_somNew SOMClass_somNew
  229. #define SOMMBeforeAfter_somNewNoInit SOMClass_somNewNoInit
  230. #define SOMMBeforeAfter_somRenew SOMClass_somRenew
  231. #define SOMMBeforeAfter_somRenewNoInit SOMClass_somRenewNoInit
  232. #define SOMMBeforeAfter_somRenewNoZero SOMClass_somRenewNoZero
  233. #define SOMMBeforeAfter_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
  234. #define SOMMBeforeAfter_somAllocate SOMClass_somAllocate
  235. #define SOMMBeforeAfter_somDeallocate SOMClass_somDeallocate
  236. #define SOMMBeforeAfter__get_somClassAllocate SOMClass__get_somClassAllocate
  237. #define SOMMBeforeAfter__get_somClassDeallocate SOMClass__get_somClassDeallocate
  238. #define SOMMBeforeAfter_somGetInstanceInitMask SOMClass_somGetInstanceInitMask
  239. #define SOMMBeforeAfter_somGetInstanceDestructionMask SOMClass_somGetInstanceDestructionMask
  240. #define SOMMBeforeAfter_somGetInstanceAssignmentMask SOMClass_somGetInstanceAssignmentMask
  241. #define SOMMBeforeAfter_somInitClass SOMClass_somInitClass
  242. #define SOMMBeforeAfter_somAddStaticMethod SOMClass_somAddStaticMethod
  243. #define SOMMBeforeAfter_somAddDynamicMethod SOMClass_somAddDynamicMethod
  244. #define SOMMBeforeAfter_somOverrideSMethod SOMClass_somOverrideSMethod
  245. #define SOMMBeforeAfter_somClassReady SOMClass_somClassReady
  246. #define SOMMBeforeAfter_somGetApplyStub SOMClass_somGetApplyStub
  247. #define SOMMBeforeAfter_somGetClassData SOMClass_somGetClassData
  248. #define SOMMBeforeAfter_somSetClassData SOMClass_somSetClassData
  249. #define SOMMBeforeAfter_somGetClassMtab SOMClass_somGetClassMtab
  250. #define SOMMBeforeAfter_somGetInstanceOffset SOMClass_somGetInstanceOffset
  251. #define SOMMBeforeAfter_somGetInstancePartSize SOMClass_somGetInstancePartSize
  252. #define SOMMBeforeAfter_somGetInstanceSize SOMClass_somGetInstanceSize
  253. #define SOMMBeforeAfter_somGetInstanceToken SOMClass_somGetInstanceToken
  254. #define SOMMBeforeAfter_somGetMemberToken SOMClass_somGetMemberToken
  255. #define SOMMBeforeAfter_somGetMethodData SOMClass_somGetMethodData
  256. #define SOMMBeforeAfter_somGetRdStub SOMClass_somGetRdStub
  257. #define SOMMBeforeAfter_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  258. #define SOMMBeforeAfter_somGetMethodIndex SOMClass_somGetMethodIndex
  259. #define SOMMBeforeAfter_somGetMethodToken SOMClass_somGetMethodToken
  260. #define SOMMBeforeAfter_somGetName SOMClass_somGetName
  261. #define SOMMBeforeAfter_somGetNthMethodData SOMClass_somGetNthMethodData
  262. #define SOMMBeforeAfter_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
  263. #define SOMMBeforeAfter_somGetNumMethods SOMClass_somGetNumMethods
  264. #define SOMMBeforeAfter_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  265. #define SOMMBeforeAfter_somGetParent SOMClass_somGetParent
  266. #define SOMMBeforeAfter_somGetParents SOMClass_somGetParents
  267. #define SOMMBeforeAfter_somGetPClsMtab SOMClass_somGetPClsMtab
  268. #define SOMMBeforeAfter_somGetPClsMtabs SOMClass_somGetPClsMtabs
  269. #define SOMMBeforeAfter_somGetVersionNumbers SOMClass_somGetVersionNumbers
  270. #define SOMMBeforeAfter_somSetMethodDescriptor SOMClass_somSetMethodDescriptor
  271. #define SOMMBeforeAfter_somFindMethod SOMClass_somFindMethod
  272. #define SOMMBeforeAfter_somFindMethodOk SOMClass_somFindMethodOk
  273. #define SOMMBeforeAfter_somFindSMethod SOMClass_somFindSMethod
  274. #define SOMMBeforeAfter_somFindSMethodOk SOMClass_somFindSMethodOk
  275. #define SOMMBeforeAfter_somLookupMethod SOMClass_somLookupMethod
  276. #define SOMMBeforeAfter_somCheckVersion SOMClass_somCheckVersion
  277. #define SOMMBeforeAfter_somDescendedFrom SOMClass_somDescendedFrom
  278. #define SOMMBeforeAfter_somSupportsMethod SOMClass_somSupportsMethod
  279. #define SOMMBeforeAfter_somDefinedMethod SOMClass_somDefinedMethod
  280. #define SOMMBeforeAfter_somOverrideMtab SOMClass_somOverrideMtab
  281. #define SOMMBeforeAfter_somDestruct SOMObject_somDestruct
  282. #define SOMMBeforeAfter_somDefaultCopyInit SOMObject_somDefaultCopyInit
  283. #define SOMMBeforeAfter_somDefaultAssign SOMObject_somDefaultAssign
  284. #define SOMMBeforeAfter_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  285. #define SOMMBeforeAfter_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  286. #define SOMMBeforeAfter_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  287. #define SOMMBeforeAfter_somDefaultConstAssign SOMObject_somDefaultConstAssign
  288. #define SOMMBeforeAfter_somDefaultVAssign SOMObject_somDefaultVAssign
  289. #define SOMMBeforeAfter_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  290. #define SOMMBeforeAfter_somInit SOMObject_somInit
  291. #define SOMMBeforeAfter_somFree SOMObject_somFree
  292. #define SOMMBeforeAfter_somUninit SOMObject_somUninit
  293. #define SOMMBeforeAfter_somGetClass SOMObject_somGetClass
  294. #define SOMMBeforeAfter_somGetClassName SOMObject_somGetClassName
  295. #define SOMMBeforeAfter_somGetSize SOMObject_somGetSize
  296. #define SOMMBeforeAfter_somIsA SOMObject_somIsA
  297. #define SOMMBeforeAfter_somIsInstanceOf SOMObject_somIsInstanceOf
  298. #define SOMMBeforeAfter_somRespondsTo SOMObject_somRespondsTo
  299. #define SOMMBeforeAfter_somDispatch SOMObject_somDispatch
  300. #define SOMMBeforeAfter_somClassDispatch SOMObject_somClassDispatch
  301. #define SOMMBeforeAfter_somCastObj SOMObject_somCastObj
  302. #define SOMMBeforeAfter_somResetObj SOMObject_somResetObj
  303. #define SOMMBeforeAfter_somDispatchV SOMObject_somDispatchV
  304. #define SOMMBeforeAfter_somDispatchL SOMObject_somDispatchL
  305. #define SOMMBeforeAfter_somDispatchA SOMObject_somDispatchA
  306. #define SOMMBeforeAfter_somDispatchD SOMObject_somDispatchD
  307. #define SOMMBeforeAfter_somPrintSelf SOMObject_somPrintSelf
  308. #define SOMMBeforeAfter_somDumpSelf SOMObject_somDumpSelf
  309. #define SOMMBeforeAfter_somDumpSelfInt SOMObject_somDumpSelfInt
  310. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  311.  
  312. #endif       /* SOM_SOMMBeforeAfter_h */
  313.