home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / sombacls.xh < prev    next >
Encoding:
Text File  |  1996-02-21  |  39.1 KB  |  1,245 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\sombacls.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  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_xh
  27. #define SOM_SOMMBeforeAfter_xh
  28.  
  29. class SOMMBeforeAfter;
  30.  
  31. #define SOMMBeforeAfter_MajorVersion 2
  32. #define SOMMBeforeAfter_MinorVersion 1
  33.  
  34. /* C++ SOM defs */
  35. #include <somcls.xh>
  36. #include <somcm.xh>
  37.  
  38. /* C++ parent defs */
  39. #ifndef SOM_SOMClass_xh
  40. #include <somcls.xh>
  41. #endif
  42.  
  43. #ifndef SOMMBeforeAfter_API
  44. #define SOMMBeforeAfter_API
  45. /*
  46.  * -- The Class API
  47.  */
  48.  
  49. /*
  50.  * Start of user-defined types:
  51.  */
  52. class SOMClass;
  53. class SOMObject;
  54.  
  55. /*
  56.  * End of user-defined types.
  57.  */
  58.  
  59. /* A procedure to create the SOMMBeforeAfter Class */
  60. SOMEXTERN
  61. #if (defined(SOM_Module_sombacls_Source) || defined(SOMMBeforeAfter_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMMBeforeAfter))
  62. WIN32_DLLEXPORT
  63. #else
  64. WIN32_DLLIMPORT
  65. #endif
  66. SOMClass * SOMLINK SOMMBeforeAfterNewClass(
  67.         integer4,
  68.         integer4 );
  69.  
  70. /* The API to the SOMMBeforeAfter class object, and the methods it introduces. */
  71. SOMEXTERN struct SOMMBeforeAfterClassDataStructure {
  72.     SOMClass *classObject;
  73.     somMToken sommBeforeMethod;
  74.     somMToken sommAfterMethod;
  75. }
  76. #if !(defined(SOM_Module_sombacls_Source) || defined(SOMMBeforeAfter_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMMBeforeAfter))
  77. WIN32_DLLIMPORT
  78. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  79. WIN32_DLLEXPORT
  80. #endif
  81. SOMDLINK SOMMBeforeAfterClassData;
  82. #define _SOMMBeforeAfter SOMMBeforeAfterClassData.classObject
  83.  
  84. /* The API to parentMtabs for SOMMBeforeAfter, and the instance data it introduces. */
  85. SOMEXTERN struct SOMMBeforeAfterCClassDataStructure {
  86.     somMethodTabs parentMtab;
  87.     somDToken              instanceDataToken;
  88. }
  89. #if !(defined(SOM_Module_sombacls_Source) || defined(SOMMBeforeAfter_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMMBeforeAfter))
  90. WIN32_DLLIMPORT
  91. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  92. WIN32_DLLEXPORT
  93. #endif
  94. SOMDLINK SOMMBeforeAfterCClassData;
  95.  
  96. /*
  97.  * -- Typedefs for SOMMBeforeAfter Method Procedures
  98.  */
  99. extern "C" {
  100. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_sommBeforeMethod(SOMMBeforeAfter *somSelf, Environment *ev,
  101.         SOMObject* object,
  102.         somId methodId,
  103.         va_list ap);
  104. typedef somTP_SOMMBeforeAfter_sommBeforeMethod *somTD_SOMMBeforeAfter_sommBeforeMethod;
  105. typedef void   SOMLINK somTP_SOMMBeforeAfter_sommAfterMethod(SOMMBeforeAfter *somSelf, Environment *ev,
  106.         SOMObject* object,
  107.         somId methodId,
  108.         somToken returnedvalue,
  109.         va_list ap);
  110. typedef somTP_SOMMBeforeAfter_sommAfterMethod *somTD_SOMMBeforeAfter_sommAfterMethod;
  111.  
  112. /*
  113.  * -- Typedefs for Reintroduced Wrapper Methods
  114.  */
  115. typedef long   SOMLINK somTP_SOMMBeforeAfter__get_somDataAlignment(SOMMBeforeAfter *somSelf);
  116. typedef somTP_SOMMBeforeAfter__get_somDataAlignment *somTD_SOMMBeforeAfter__get_somDataAlignment;
  117. typedef SOMClass_somOffsets   SOMLINK somTP_SOMMBeforeAfter__get_somInstanceDataOffsets(SOMMBeforeAfter *somSelf);
  118. typedef somTP_SOMMBeforeAfter__get_somInstanceDataOffsets *somTD_SOMMBeforeAfter__get_somInstanceDataOffsets;
  119. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMMBeforeAfter__get_somDirectInitClasses(SOMMBeforeAfter *somSelf);
  120. typedef somTP_SOMMBeforeAfter__get_somDirectInitClasses *somTD_SOMMBeforeAfter__get_somDirectInitClasses;
  121. typedef void   SOMLINK somTP_SOMMBeforeAfter__set_somDirectInitClasses(SOMMBeforeAfter *somSelf,
  122.         SOMClass_SOMClassSequence* somDirectInitClasses);
  123. typedef somTP_SOMMBeforeAfter__set_somDirectInitClasses *somTD_SOMMBeforeAfter__set_somDirectInitClasses;
  124. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somNew(SOMMBeforeAfter *somSelf);
  125. typedef somTP_SOMMBeforeAfter_somNew *somTD_SOMMBeforeAfter_somNew;
  126. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somNewNoInit(SOMMBeforeAfter *somSelf);
  127. typedef somTP_SOMMBeforeAfter_somNewNoInit *somTD_SOMMBeforeAfter_somNewNoInit;
  128. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somRenew(SOMMBeforeAfter *somSelf,
  129.         void* obj);
  130. typedef somTP_SOMMBeforeAfter_somRenew *somTD_SOMMBeforeAfter_somRenew;
  131. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somRenewNoInit(SOMMBeforeAfter *somSelf,
  132.         void* obj);
  133. typedef somTP_SOMMBeforeAfter_somRenewNoInit *somTD_SOMMBeforeAfter_somRenewNoInit;
  134. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somRenewNoZero(SOMMBeforeAfter *somSelf,
  135.         void* obj);
  136. typedef somTP_SOMMBeforeAfter_somRenewNoZero *somTD_SOMMBeforeAfter_somRenewNoZero;
  137. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somRenewNoInitNoZero(SOMMBeforeAfter *somSelf,
  138.         void* obj);
  139. typedef somTP_SOMMBeforeAfter_somRenewNoInitNoZero *somTD_SOMMBeforeAfter_somRenewNoInitNoZero;
  140. typedef string   SOMLINK somTP_SOMMBeforeAfter_somAllocate(SOMMBeforeAfter *somSelf,
  141.         long size);
  142. typedef somTP_SOMMBeforeAfter_somAllocate *somTD_SOMMBeforeAfter_somAllocate;
  143. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDeallocate(SOMMBeforeAfter *somSelf,
  144.         string memptr);
  145. typedef somTP_SOMMBeforeAfter_somDeallocate *somTD_SOMMBeforeAfter_somDeallocate;
  146. typedef somMethodProc*   SOMLINK somTP_SOMMBeforeAfter__get_somClassAllocate(SOMMBeforeAfter *somSelf);
  147. typedef somTP_SOMMBeforeAfter__get_somClassAllocate *somTD_SOMMBeforeAfter__get_somClassAllocate;
  148. typedef somMethodProc*   SOMLINK somTP_SOMMBeforeAfter__get_somClassDeallocate(SOMMBeforeAfter *somSelf);
  149. typedef somTP_SOMMBeforeAfter__get_somClassDeallocate *somTD_SOMMBeforeAfter__get_somClassDeallocate;
  150. typedef somBooleanVector   SOMLINK somTP_SOMMBeforeAfter_somGetInstanceInitMask(SOMMBeforeAfter *somSelf,
  151.         somInitCtrl* ctrl);
  152. typedef somTP_SOMMBeforeAfter_somGetInstanceInitMask *somTD_SOMMBeforeAfter_somGetInstanceInitMask;
  153. typedef somBooleanVector   SOMLINK somTP_SOMMBeforeAfter_somGetInstanceDestructionMask(SOMMBeforeAfter *somSelf,
  154.         somDestructCtrl* ctrl);
  155. typedef somTP_SOMMBeforeAfter_somGetInstanceDestructionMask *somTD_SOMMBeforeAfter_somGetInstanceDestructionMask;
  156. typedef somBooleanVector   SOMLINK somTP_SOMMBeforeAfter_somGetInstanceAssignmentMask(SOMMBeforeAfter *somSelf,
  157.         somAssignCtrl* ctrl);
  158. typedef somTP_SOMMBeforeAfter_somGetInstanceAssignmentMask *somTD_SOMMBeforeAfter_somGetInstanceAssignmentMask;
  159. typedef void   SOMLINK somTP_SOMMBeforeAfter_somInitClass(SOMMBeforeAfter *somSelf,
  160.         string className,
  161.         SOMClass* parentClass,
  162.         long dataSize,
  163.         long maxStaticMethods,
  164.         long majorVersion,
  165.         long minorVersion);
  166. typedef somTP_SOMMBeforeAfter_somInitClass *somTD_SOMMBeforeAfter_somInitClass;
  167. typedef void   SOMLINK somTP_SOMMBeforeAfter_somInitMIClass(SOMMBeforeAfter *somSelf,
  168.         long inherit_vars,
  169.         string className,
  170.         SOMClass_SOMClassSequence* parentClasses,
  171.         long dataSize,
  172.         long dataAlignment,
  173.         long maxStaticMethods,
  174.         long majorVersion,
  175.         long minorVersion);
  176. typedef somTP_SOMMBeforeAfter_somInitMIClass *somTD_SOMMBeforeAfter_somInitMIClass;
  177. typedef somMToken   SOMLINK somTP_SOMMBeforeAfter_somAddStaticMethod(SOMMBeforeAfter *somSelf,
  178.         somId methodId,
  179.         somId methodDescriptor,
  180.         somMethodPtr method,
  181.         somMethodPtr redispatchStub,
  182.         somMethodPtr applyStub);
  183. typedef somTP_SOMMBeforeAfter_somAddStaticMethod *somTD_SOMMBeforeAfter_somAddStaticMethod;
  184. typedef void   SOMLINK somTP_SOMMBeforeAfter_somAddDynamicMethod(SOMMBeforeAfter *somSelf,
  185.         somId methodId,
  186.         somId methodDescriptor,
  187.         somMethodPtr method,
  188.         somMethodPtr applyStub);
  189. typedef somTP_SOMMBeforeAfter_somAddDynamicMethod *somTD_SOMMBeforeAfter_somAddDynamicMethod;
  190. typedef void   SOMLINK somTP_SOMMBeforeAfter_somOverrideSMethod(SOMMBeforeAfter *somSelf,
  191.         somId methodId,
  192.         somMethodPtr method);
  193. typedef somTP_SOMMBeforeAfter_somOverrideSMethod *somTD_SOMMBeforeAfter_somOverrideSMethod;
  194. typedef void   SOMLINK somTP_SOMMBeforeAfter_somClassReady(SOMMBeforeAfter *somSelf);
  195. typedef somTP_SOMMBeforeAfter_somClassReady *somTD_SOMMBeforeAfter_somClassReady;
  196. typedef somClassDataStructure*   SOMLINK somTP_SOMMBeforeAfter_somGetClassData(SOMMBeforeAfter *somSelf);
  197. typedef somTP_SOMMBeforeAfter_somGetClassData *somTD_SOMMBeforeAfter_somGetClassData;
  198. typedef void   SOMLINK somTP_SOMMBeforeAfter_somSetClassData(SOMMBeforeAfter *somSelf,
  199.         somClassDataStructure* cds);
  200. typedef somTP_SOMMBeforeAfter_somSetClassData *somTD_SOMMBeforeAfter_somSetClassData;
  201. typedef somMethodTab*   SOMLINK somTP_SOMMBeforeAfter_somGetClassMtab(SOMMBeforeAfter *somSelf);
  202. typedef somTP_SOMMBeforeAfter_somGetClassMtab *somTD_SOMMBeforeAfter_somGetClassMtab;
  203. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetInstanceOffset(SOMMBeforeAfter *somSelf);
  204. typedef somTP_SOMMBeforeAfter_somGetInstanceOffset *somTD_SOMMBeforeAfter_somGetInstanceOffset;
  205. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetInstancePartSize(SOMMBeforeAfter *somSelf);
  206. typedef somTP_SOMMBeforeAfter_somGetInstancePartSize *somTD_SOMMBeforeAfter_somGetInstancePartSize;
  207. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetInstanceSize(SOMMBeforeAfter *somSelf);
  208. typedef somTP_SOMMBeforeAfter_somGetInstanceSize *somTD_SOMMBeforeAfter_somGetInstanceSize;
  209. typedef somDToken   SOMLINK somTP_SOMMBeforeAfter_somGetInstanceToken(SOMMBeforeAfter *somSelf);
  210. typedef somTP_SOMMBeforeAfter_somGetInstanceToken *somTD_SOMMBeforeAfter_somGetInstanceToken;
  211. typedef somDToken   SOMLINK somTP_SOMMBeforeAfter_somGetMemberToken(SOMMBeforeAfter *somSelf,
  212.         long memberOffset,
  213.         somDToken instanceToken);
  214. typedef somTP_SOMMBeforeAfter_somGetMemberToken *somTD_SOMMBeforeAfter_somGetMemberToken;
  215. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somGetMethodData(SOMMBeforeAfter *somSelf,
  216.         somId methodId,
  217.         somMethodData* md);
  218. typedef somTP_SOMMBeforeAfter_somGetMethodData *somTD_SOMMBeforeAfter_somGetMethodData;
  219. typedef somMethodProc*   SOMLINK somTP_SOMMBeforeAfter_somGetRdStub(SOMMBeforeAfter *somSelf,
  220.         somId methodId);
  221. typedef somTP_SOMMBeforeAfter_somGetRdStub *somTD_SOMMBeforeAfter_somGetRdStub;
  222. typedef somId   SOMLINK somTP_SOMMBeforeAfter_somGetMethodDescriptor(SOMMBeforeAfter *somSelf,
  223.         somId methodId);
  224. typedef somTP_SOMMBeforeAfter_somGetMethodDescriptor *somTD_SOMMBeforeAfter_somGetMethodDescriptor;
  225. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetMethodIndex(SOMMBeforeAfter *somSelf,
  226.         somId id);
  227. typedef somTP_SOMMBeforeAfter_somGetMethodIndex *somTD_SOMMBeforeAfter_somGetMethodIndex;
  228. typedef somMToken   SOMLINK somTP_SOMMBeforeAfter_somGetMethodToken(SOMMBeforeAfter *somSelf,
  229.         somId methodId);
  230. typedef somTP_SOMMBeforeAfter_somGetMethodToken *somTD_SOMMBeforeAfter_somGetMethodToken;
  231. typedef string   SOMLINK somTP_SOMMBeforeAfter_somGetName(SOMMBeforeAfter *somSelf);
  232. typedef somTP_SOMMBeforeAfter_somGetName *somTD_SOMMBeforeAfter_somGetName;
  233. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somGetNthMethodData(SOMMBeforeAfter *somSelf,
  234.         long n,
  235.         somMethodData* md);
  236. typedef somTP_SOMMBeforeAfter_somGetNthMethodData *somTD_SOMMBeforeAfter_somGetNthMethodData;
  237. typedef somId   SOMLINK somTP_SOMMBeforeAfter_somGetNthMethodInfo(SOMMBeforeAfter *somSelf,
  238.         long n,
  239.         somId* descriptor);
  240. typedef somTP_SOMMBeforeAfter_somGetNthMethodInfo *somTD_SOMMBeforeAfter_somGetNthMethodInfo;
  241. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetNumMethods(SOMMBeforeAfter *somSelf);
  242. typedef somTP_SOMMBeforeAfter_somGetNumMethods *somTD_SOMMBeforeAfter_somGetNumMethods;
  243. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetNumStaticMethods(SOMMBeforeAfter *somSelf);
  244. typedef somTP_SOMMBeforeAfter_somGetNumStaticMethods *somTD_SOMMBeforeAfter_somGetNumStaticMethods;
  245. typedef SOMClass*   SOMLINK somTP_SOMMBeforeAfter_somGetParent(SOMMBeforeAfter *somSelf);
  246. typedef somTP_SOMMBeforeAfter_somGetParent *somTD_SOMMBeforeAfter_somGetParent;
  247. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMMBeforeAfter_somGetParents(SOMMBeforeAfter *somSelf);
  248. typedef somTP_SOMMBeforeAfter_somGetParents *somTD_SOMMBeforeAfter_somGetParents;
  249. typedef somMethodTabs   SOMLINK somTP_SOMMBeforeAfter_somGetPClsMtab(SOMMBeforeAfter *somSelf);
  250. typedef somTP_SOMMBeforeAfter_somGetPClsMtab *somTD_SOMMBeforeAfter_somGetPClsMtab;
  251. typedef somMethodTabs   SOMLINK somTP_SOMMBeforeAfter_somGetPClsMtabs(SOMMBeforeAfter *somSelf);
  252. typedef somTP_SOMMBeforeAfter_somGetPClsMtabs *somTD_SOMMBeforeAfter_somGetPClsMtabs;
  253. typedef void   SOMLINK somTP_SOMMBeforeAfter_somGetVersionNumbers(SOMMBeforeAfter *somSelf,
  254.         long* majorVersion,
  255.         long* minorVersion);
  256. typedef somTP_SOMMBeforeAfter_somGetVersionNumbers *somTD_SOMMBeforeAfter_somGetVersionNumbers;
  257. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somSetMethodDescriptor(SOMMBeforeAfter *somSelf,
  258.         somId methodId,
  259.         somId descriptor);
  260. typedef somTP_SOMMBeforeAfter_somSetMethodDescriptor *somTD_SOMMBeforeAfter_somSetMethodDescriptor;
  261. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somFindMethod(SOMMBeforeAfter *somSelf,
  262.         somId methodId,
  263.         somMethodPtr* m);
  264. typedef somTP_SOMMBeforeAfter_somFindMethod *somTD_SOMMBeforeAfter_somFindMethod;
  265. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somFindMethodOk(SOMMBeforeAfter *somSelf,
  266.         somId methodId,
  267.         somMethodPtr* m);
  268. typedef somTP_SOMMBeforeAfter_somFindMethodOk *somTD_SOMMBeforeAfter_somFindMethodOk;
  269. typedef somMethodPtr   SOMLINK somTP_SOMMBeforeAfter_somFindSMethod(SOMMBeforeAfter *somSelf,
  270.         somId methodId);
  271. typedef somTP_SOMMBeforeAfter_somFindSMethod *somTD_SOMMBeforeAfter_somFindSMethod;
  272. typedef somMethodPtr   SOMLINK somTP_SOMMBeforeAfter_somFindSMethodOk(SOMMBeforeAfter *somSelf,
  273.         somId methodId);
  274. typedef somTP_SOMMBeforeAfter_somFindSMethodOk *somTD_SOMMBeforeAfter_somFindSMethodOk;
  275. typedef somMethodPtr   SOMLINK somTP_SOMMBeforeAfter_somLookupMethod(SOMMBeforeAfter *somSelf,
  276.         somId methodId);
  277. typedef somTP_SOMMBeforeAfter_somLookupMethod *somTD_SOMMBeforeAfter_somLookupMethod;
  278. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somCheckVersion(SOMMBeforeAfter *somSelf,
  279.         long majorVersion,
  280.         long minorVersion);
  281. typedef somTP_SOMMBeforeAfter_somCheckVersion *somTD_SOMMBeforeAfter_somCheckVersion;
  282. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somDescendedFrom(SOMMBeforeAfter *somSelf,
  283.         SOMClass* aClassObj);
  284. typedef somTP_SOMMBeforeAfter_somDescendedFrom *somTD_SOMMBeforeAfter_somDescendedFrom;
  285. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somSupportsMethod(SOMMBeforeAfter *somSelf,
  286.         somId mId);
  287. typedef somTP_SOMMBeforeAfter_somSupportsMethod *somTD_SOMMBeforeAfter_somSupportsMethod;
  288. typedef somMethodPtr   SOMLINK somTP_SOMMBeforeAfter_somDefinedMethod(SOMMBeforeAfter *somSelf,
  289.         somMToken method);
  290. typedef somTP_SOMMBeforeAfter_somDefinedMethod *somTD_SOMMBeforeAfter_somDefinedMethod;
  291. typedef void   SOMLINK somTP_SOMMBeforeAfter_somOverrideMtab(SOMMBeforeAfter *somSelf);
  292. typedef somTP_SOMMBeforeAfter_somOverrideMtab *somTD_SOMMBeforeAfter_somOverrideMtab;
  293. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDefaultInit(SOMMBeforeAfter *somSelf,
  294.         somInitCtrl* ctrl);
  295. typedef somTP_SOMMBeforeAfter_somDefaultInit *somTD_SOMMBeforeAfter_somDefaultInit;
  296. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDestruct(SOMMBeforeAfter *somSelf,
  297.         octet doFree,
  298.         somDestructCtrl* ctrl);
  299. typedef somTP_SOMMBeforeAfter_somDestruct *somTD_SOMMBeforeAfter_somDestruct;
  300. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDefaultCopyInit(SOMMBeforeAfter *somSelf,
  301.         somInitCtrl* ctrl,
  302.         SOMObject* fromObj);
  303. typedef somTP_SOMMBeforeAfter_somDefaultCopyInit *somTD_SOMMBeforeAfter_somDefaultCopyInit;
  304. typedef SOMMBeforeAfter*   SOMLINK somTP_SOMMBeforeAfter_somDefaultAssign(SOMMBeforeAfter *somSelf,
  305.         somAssignCtrl* ctrl,
  306.         SOMObject* fromObj);
  307. typedef somTP_SOMMBeforeAfter_somDefaultAssign *somTD_SOMMBeforeAfter_somDefaultAssign;
  308. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDefaultConstCopyInit(SOMMBeforeAfter *somSelf,
  309.         somInitCtrl* ctrl,
  310.         SOMObject* fromObj);
  311. typedef somTP_SOMMBeforeAfter_somDefaultConstCopyInit *somTD_SOMMBeforeAfter_somDefaultConstCopyInit;
  312. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDefaultVCopyInit(SOMMBeforeAfter *somSelf,
  313.         somInitCtrl* ctrl,
  314.         SOMObject* fromObj);
  315. typedef somTP_SOMMBeforeAfter_somDefaultVCopyInit *somTD_SOMMBeforeAfter_somDefaultVCopyInit;
  316. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDefaultConstVCopyInit(SOMMBeforeAfter *somSelf,
  317.         somInitCtrl* ctrl,
  318.         SOMObject* fromObj);
  319. typedef somTP_SOMMBeforeAfter_somDefaultConstVCopyInit *somTD_SOMMBeforeAfter_somDefaultConstVCopyInit;
  320. typedef SOMMBeforeAfter*   SOMLINK somTP_SOMMBeforeAfter_somDefaultConstAssign(SOMMBeforeAfter *somSelf,
  321.         somAssignCtrl* ctrl,
  322.         SOMObject* fromObj);
  323. typedef somTP_SOMMBeforeAfter_somDefaultConstAssign *somTD_SOMMBeforeAfter_somDefaultConstAssign;
  324. typedef SOMMBeforeAfter*   SOMLINK somTP_SOMMBeforeAfter_somDefaultVAssign(SOMMBeforeAfter *somSelf,
  325.         somAssignCtrl* ctrl,
  326.         SOMObject* fromObj);
  327. typedef somTP_SOMMBeforeAfter_somDefaultVAssign *somTD_SOMMBeforeAfter_somDefaultVAssign;
  328. typedef SOMMBeforeAfter*   SOMLINK somTP_SOMMBeforeAfter_somDefaultConstVAssign(SOMMBeforeAfter *somSelf,
  329.         somAssignCtrl* ctrl,
  330.         SOMObject* fromObj);
  331. typedef somTP_SOMMBeforeAfter_somDefaultConstVAssign *somTD_SOMMBeforeAfter_somDefaultConstVAssign;
  332. typedef void   SOMLINK somTP_SOMMBeforeAfter_somInit(SOMMBeforeAfter *somSelf);
  333. typedef somTP_SOMMBeforeAfter_somInit *somTD_SOMMBeforeAfter_somInit;
  334. typedef void   SOMLINK somTP_SOMMBeforeAfter_somFree(SOMMBeforeAfter *somSelf);
  335. typedef somTP_SOMMBeforeAfter_somFree *somTD_SOMMBeforeAfter_somFree;
  336. typedef void   SOMLINK somTP_SOMMBeforeAfter_somUninit(SOMMBeforeAfter *somSelf);
  337. typedef somTP_SOMMBeforeAfter_somUninit *somTD_SOMMBeforeAfter_somUninit;
  338. typedef SOMClass*   SOMLINK somTP_SOMMBeforeAfter_somGetClass(SOMMBeforeAfter *somSelf);
  339. typedef somTP_SOMMBeforeAfter_somGetClass *somTD_SOMMBeforeAfter_somGetClass;
  340. typedef string   SOMLINK somTP_SOMMBeforeAfter_somGetClassName(SOMMBeforeAfter *somSelf);
  341. typedef somTP_SOMMBeforeAfter_somGetClassName *somTD_SOMMBeforeAfter_somGetClassName;
  342. typedef long   SOMLINK somTP_SOMMBeforeAfter_somGetSize(SOMMBeforeAfter *somSelf);
  343. typedef somTP_SOMMBeforeAfter_somGetSize *somTD_SOMMBeforeAfter_somGetSize;
  344. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somIsA(SOMMBeforeAfter *somSelf,
  345.         SOMClass* aClassObj);
  346. typedef somTP_SOMMBeforeAfter_somIsA *somTD_SOMMBeforeAfter_somIsA;
  347. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somIsInstanceOf(SOMMBeforeAfter *somSelf,
  348.         SOMClass* aClassObj);
  349. typedef somTP_SOMMBeforeAfter_somIsInstanceOf *somTD_SOMMBeforeAfter_somIsInstanceOf;
  350. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somRespondsTo(SOMMBeforeAfter *somSelf,
  351.         somId mId);
  352. typedef somTP_SOMMBeforeAfter_somRespondsTo *somTD_SOMMBeforeAfter_somRespondsTo;
  353. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somDispatch(SOMMBeforeAfter *somSelf,
  354.         somToken* retValue,
  355.         somId methodId,
  356.         va_list ap);
  357. typedef somTP_SOMMBeforeAfter_somDispatch *somTD_SOMMBeforeAfter_somDispatch;
  358. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somClassDispatch(SOMMBeforeAfter *somSelf,
  359.         SOMClass* clsObj,
  360.         somToken* retValue,
  361.         somId methodId,
  362.         va_list ap);
  363. typedef somTP_SOMMBeforeAfter_somClassDispatch *somTD_SOMMBeforeAfter_somClassDispatch;
  364. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somCastObj(SOMMBeforeAfter *somSelf,
  365.         SOMClass* cls);
  366. typedef somTP_SOMMBeforeAfter_somCastObj *somTD_SOMMBeforeAfter_somCastObj;
  367. typedef boolean   SOMLINK somTP_SOMMBeforeAfter_somResetObj(SOMMBeforeAfter *somSelf);
  368. typedef somTP_SOMMBeforeAfter_somResetObj *somTD_SOMMBeforeAfter_somResetObj;
  369. typedef SOMObject*   SOMLINK somTP_SOMMBeforeAfter_somPrintSelf(SOMMBeforeAfter *somSelf);
  370. typedef somTP_SOMMBeforeAfter_somPrintSelf *somTD_SOMMBeforeAfter_somPrintSelf;
  371. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDumpSelf(SOMMBeforeAfter *somSelf,
  372.         long level);
  373. typedef somTP_SOMMBeforeAfter_somDumpSelf *somTD_SOMMBeforeAfter_somDumpSelf;
  374. typedef void   SOMLINK somTP_SOMMBeforeAfter_somDumpSelfInt(SOMMBeforeAfter *somSelf,
  375.         long level);
  376. typedef somTP_SOMMBeforeAfter_somDumpSelfInt *somTD_SOMMBeforeAfter_somDumpSelfInt;
  377. }
  378.  
  379. #endif /* SOMMBeforeAfter_API */
  380.  
  381.  
  382. /*
  383.  * -- This emitter believes that method thunks are unavailable,
  384.  * -- so somResolve will be called.
  385.  */
  386. #undef somresolve_
  387. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  388.  
  389. /*
  390.  * -- The C++ Wrapper Class for SOMMBeforeAfter
  391.  */
  392. class SOMMBeforeAfter : public SOMClass
  393. {
  394. public:
  395.  
  396. // SOMMBeforeAfter::new creates the class object if necessary, and then uses somNewNoInit
  397. // to allocate memory and create the object. Initialization is in ctors.
  398. void *operator new(size_t)
  399. {
  400.    if (!_SOMMBeforeAfter) SOMMBeforeAfterNewClass(SOMMBeforeAfter_MajorVersion,SOMMBeforeAfter_MinorVersion);
  401.    return (void*)
  402.       SOM_Resolve(_SOMMBeforeAfter,SOMClass,somNewNoInit)
  403.          ((SOMClass *)((void*)_SOMMBeforeAfter));
  404. }
  405.  
  406. // SOMMBeforeAfter::delete uses somDestruct.
  407. void operator delete(void * obj)
  408. {
  409.    if (obj && *(void**)obj) {
  410.       SOM_Resolve(obj,SOMObject,somDestruct)
  411.          ((SOMObject*)obj, 1, 0);
  412.    }
  413. }
  414.  
  415. SOMMBeforeAfter()
  416. {
  417.    if (*(void**)this != 
  418.        ((somParentMtabStructPtr)
  419.         (SOMMBeforeAfterCClassData.parentMtab))->mtab)
  420.       return;
  421.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  422. }
  423.  
  424. SOMMBeforeAfter(SOMMBeforeAfter* fromObj)
  425. {
  426.    if (*(void**)this != 
  427.        ((somParentMtabStructPtr)
  428.         (SOMMBeforeAfterCClassData.parentMtab))->mtab)
  429.       return;
  430.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  431. }
  432.  
  433. SOMMBeforeAfter(const SOMMBeforeAfter* fromObj)
  434. {
  435.    if (*(void**)this != 
  436.        ((somParentMtabStructPtr)
  437.         (SOMMBeforeAfterCClassData.parentMtab))->mtab)
  438.       return;
  439.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  440. }
  441.  
  442.  
  443. /* va_list method: sommBeforeMethod */
  444. /* the va_list invocation form */
  445. boolean   SOMMBeforeAfter_sommBeforeMethod(Environment *ev,
  446.         SOMObject* object,
  447.         somId methodId,
  448.         va_list ap)
  449. {
  450. return SOM_ResolveD(this,SOMMBeforeAfter,SOMMBeforeAfter,sommBeforeMethod)
  451.     (this, ev,object,methodId,ap);
  452. }
  453.  
  454. /* the varargs invocation form */
  455. boolean   sommBeforeMethod(Environment *ev,
  456.         SOMObject* object,
  457.         somId methodId,
  458.         ...)
  459. {
  460.    va_list ap;
  461.    va_start(ap, methodId);
  462.    boolean __somResult = 
  463.       SOM_ResolveD(this,SOMMBeforeAfter,SOMMBeforeAfter,sommBeforeMethod)
  464.     (this, ev,object,methodId,ap);
  465.    va_end(ap);
  466.    return __somResult;
  467. }
  468.  
  469.  
  470. /* va_list method: sommAfterMethod */
  471. /* the va_list invocation form */
  472. void   SOMMBeforeAfter_sommAfterMethod(Environment *ev,
  473.         SOMObject* object,
  474.         somId methodId,
  475.         somToken returnedvalue,
  476.         va_list ap)
  477. {
  478.    SOM_ResolveD(this,SOMMBeforeAfter,SOMMBeforeAfter,sommAfterMethod)
  479.     (this, ev,object,methodId,returnedvalue,ap);
  480. }
  481.  
  482. /* the varargs invocation form */
  483. void   sommAfterMethod(Environment *ev,
  484.         SOMObject* object,
  485.         somId methodId,
  486.         somToken returnedvalue,
  487.         ...)
  488. {
  489.    va_list ap;
  490.    va_start(ap, returnedvalue);
  491.    SOM_ResolveD(this,SOMMBeforeAfter,SOMMBeforeAfter,sommAfterMethod)
  492.     (this, ev,object,methodId,returnedvalue,ap);
  493.    va_end(ap);
  494. }
  495.  
  496.  
  497. /*
  498.  * Reintroduce inherited methods
  499.  */
  500.  
  501. /* method: _get_somDataAlignment */
  502. long   _get_somDataAlignment()
  503. {
  504.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,_get_somDataAlignment)
  505.     (this);
  506. }
  507.  
  508.  
  509. /* nonstatic method: _get_somInstanceDataOffsets */
  510. SOMClass_somOffsets   _get_somInstanceDataOffsets()
  511. {
  512.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,_get_somInstanceDataOffsets)
  513.     (this);
  514. }
  515.  
  516.  
  517. /* nonstatic method: _get_somDirectInitClasses */
  518. SOMClass_SOMClassSequence   _get_somDirectInitClasses()
  519. {
  520.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,_get_somDirectInitClasses)
  521.     (this);
  522. }
  523.  
  524.  
  525. /* nonstatic method: _set_somDirectInitClasses */
  526. void   _set_somDirectInitClasses(SOMClass_SOMClassSequence* somDirectInitClasses)
  527. {
  528.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,_set_somDirectInitClasses)
  529.     (this,somDirectInitClasses);
  530. }
  531.  
  532.  
  533. /* method: somNew */
  534. SOMObject*   somNew()
  535. {
  536.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somNew)
  537.     (this);
  538. }
  539.  
  540.  
  541. /* method: somNewNoInit */
  542. SOMObject*   somNewNoInit()
  543. {
  544.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somNewNoInit)
  545.     (this);
  546. }
  547.  
  548.  
  549. /* method: somRenew */
  550. SOMObject*   somRenew(void* obj)
  551. {
  552.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somRenew)
  553.     (this,obj);
  554. }
  555.  
  556.  
  557. /* method: somRenewNoInit */
  558. SOMObject*   somRenewNoInit(void* obj)
  559. {
  560.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somRenewNoInit)
  561.     (this,obj);
  562. }
  563.  
  564.  
  565. /* method: somRenewNoZero */
  566. SOMObject*   somRenewNoZero(void* obj)
  567. {
  568.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somRenewNoZero)
  569.     (this,obj);
  570. }
  571.  
  572.  
  573. /* method: somRenewNoInitNoZero */
  574. SOMObject*   somRenewNoInitNoZero(void* obj)
  575. {
  576.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somRenewNoInitNoZero)
  577.     (this,obj);
  578. }
  579.  
  580.  
  581. /* nonstatic method: somAllocate */
  582. string   somAllocate(long size)
  583. {
  584.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somAllocate)
  585.     (this,size);
  586. }
  587.  
  588.  
  589. /* nonstatic method: somDeallocate */
  590. void   somDeallocate(string memptr)
  591. {
  592.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somDeallocate)
  593.     (this,memptr);
  594. }
  595.  
  596.  
  597. /* nonstatic method: _get_somClassAllocate */
  598. somMethodProc*   _get_somClassAllocate()
  599. {
  600.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,_get_somClassAllocate)
  601.     (this);
  602. }
  603.  
  604.  
  605. /* nonstatic method: _get_somClassDeallocate */
  606. somMethodProc*   _get_somClassDeallocate()
  607. {
  608.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,_get_somClassDeallocate)
  609.     (this);
  610. }
  611.  
  612.  
  613. /* method: somGetInstanceInitMask */
  614. somBooleanVector   somGetInstanceInitMask(somInitCtrl* ctrl)
  615. {
  616.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstanceInitMask)
  617.     (this,ctrl);
  618. }
  619.  
  620.  
  621. /* method: somGetInstanceDestructionMask */
  622. somBooleanVector   somGetInstanceDestructionMask(somDestructCtrl* ctrl)
  623. {
  624.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstanceDestructionMask)
  625.     (this,ctrl);
  626. }
  627.  
  628.  
  629. /* method: somGetInstanceAssignmentMask */
  630. somBooleanVector   somGetInstanceAssignmentMask(somAssignCtrl* ctrl)
  631. {
  632.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstanceAssignmentMask)
  633.     (this,ctrl);
  634. }
  635.  
  636.  
  637. /* method: somInitClass */
  638. void   somInitClass(string className,
  639.         SOMClass* parentClass,
  640.         long dataSize,
  641.         long maxStaticMethods,
  642.         long majorVersion,
  643.         long minorVersion)
  644. {
  645.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somInitClass)
  646.     (this,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion);
  647. }
  648.  
  649.  
  650. /* method: somInitMIClass */
  651. void   somInitMIClass(long inherit_vars,
  652.         string className,
  653.         SOMClass_SOMClassSequence* parentClasses,
  654.         long dataSize,
  655.         long dataAlignment,
  656.         long maxStaticMethods,
  657.         long majorVersion,
  658.         long minorVersion)
  659. {
  660.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somInitMIClass)
  661.     (this,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion);
  662. }
  663.  
  664.  
  665. /* method: somAddStaticMethod */
  666. somMToken   somAddStaticMethod(somId methodId,
  667.         somId methodDescriptor,
  668.         somMethodPtr method,
  669.         somMethodPtr redispatchStub,
  670.         somMethodPtr applyStub)
  671. {
  672.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somAddStaticMethod)
  673.     (this,methodId,methodDescriptor,method,redispatchStub,applyStub);
  674. }
  675.  
  676.  
  677. /* method: somAddDynamicMethod */
  678. void   somAddDynamicMethod(somId methodId,
  679.         somId methodDescriptor,
  680.         somMethodPtr method,
  681.         somMethodPtr applyStub)
  682. {
  683.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somAddDynamicMethod)
  684.     (this,methodId,methodDescriptor,method,applyStub);
  685. }
  686.  
  687.  
  688. /* method: somOverrideSMethod */
  689. void   somOverrideSMethod(somId methodId,
  690.         somMethodPtr method)
  691. {
  692.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somOverrideSMethod)
  693.     (this,methodId,method);
  694. }
  695.  
  696.  
  697. /* method: somClassReady */
  698. void   somClassReady()
  699. {
  700.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somClassReady)
  701.     (this);
  702. }
  703.  
  704.  
  705. /* method: somGetClassData */
  706. somClassDataStructure*   somGetClassData()
  707. {
  708.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetClassData)
  709.     (this);
  710. }
  711.  
  712.  
  713. /* method: somSetClassData */
  714. void   somSetClassData(somClassDataStructure* cds)
  715. {
  716.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somSetClassData)
  717.     (this,cds);
  718. }
  719.  
  720.  
  721. /* method: somGetClassMtab */
  722. somMethodTab*   somGetClassMtab()
  723. {
  724.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetClassMtab)
  725.     (this);
  726. }
  727.  
  728.  
  729. /* method: somGetInstanceOffset */
  730. long   somGetInstanceOffset()
  731. {
  732.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstanceOffset)
  733.     (this);
  734. }
  735.  
  736.  
  737. /* method: somGetInstancePartSize */
  738. long   somGetInstancePartSize()
  739. {
  740.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstancePartSize)
  741.     (this);
  742. }
  743.  
  744.  
  745. /* method: somGetInstanceSize */
  746. long   somGetInstanceSize()
  747. {
  748.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstanceSize)
  749.     (this);
  750. }
  751.  
  752.  
  753. /* method: somGetInstanceToken */
  754. somDToken   somGetInstanceToken()
  755. {
  756.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetInstanceToken)
  757.     (this);
  758. }
  759.  
  760.  
  761. /* method: somGetMemberToken */
  762. somDToken   somGetMemberToken(long memberOffset,
  763.         somDToken instanceToken)
  764. {
  765.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetMemberToken)
  766.     (this,memberOffset,instanceToken);
  767. }
  768.  
  769.  
  770. /* method: somGetMethodData */
  771. boolean   somGetMethodData(somId methodId,
  772.         somMethodData* md)
  773. {
  774.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetMethodData)
  775.     (this,methodId,md);
  776. }
  777.  
  778.  
  779. /* method: somGetRdStub */
  780. somMethodProc*   somGetRdStub(somId methodId)
  781. {
  782.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetRdStub)
  783.     (this,methodId);
  784. }
  785.  
  786.  
  787. /* method: somGetMethodDescriptor */
  788. somId   somGetMethodDescriptor(somId methodId)
  789. {
  790.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetMethodDescriptor)
  791.     (this,methodId);
  792. }
  793.  
  794.  
  795. /* method: somGetMethodIndex */
  796. long   somGetMethodIndex(somId id)
  797. {
  798.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetMethodIndex)
  799.     (this,id);
  800. }
  801.  
  802.  
  803. /* method: somGetMethodToken */
  804. somMToken   somGetMethodToken(somId methodId)
  805. {
  806.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetMethodToken)
  807.     (this,methodId);
  808. }
  809.  
  810.  
  811. /* method: somGetName */
  812. string   somGetName()
  813. {
  814.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetName)
  815.     (this);
  816. }
  817.  
  818.  
  819. /* method: somGetNthMethodData */
  820. boolean   somGetNthMethodData(long n,
  821.         somMethodData* md)
  822. {
  823.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetNthMethodData)
  824.     (this,n,md);
  825. }
  826.  
  827.  
  828. /* method: somGetNthMethodInfo */
  829. somId   somGetNthMethodInfo(long n,
  830.         somId* descriptor)
  831. {
  832.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetNthMethodInfo)
  833.     (this,n,descriptor);
  834. }
  835.  
  836.  
  837. /* method: somGetNumMethods */
  838. long   somGetNumMethods()
  839. {
  840.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetNumMethods)
  841.     (this);
  842. }
  843.  
  844.  
  845. /* method: somGetNumStaticMethods */
  846. long   somGetNumStaticMethods()
  847. {
  848.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetNumStaticMethods)
  849.     (this);
  850. }
  851.  
  852.  
  853. /* method: somGetParent */
  854. SOMClass*   somGetParent()
  855. {
  856.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetParent)
  857.     (this);
  858. }
  859.  
  860.  
  861. /* method: somGetParents */
  862. SOMClass_SOMClassSequence   somGetParents()
  863. {
  864.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetParents)
  865.     (this);
  866. }
  867.  
  868.  
  869. /* method: somGetPClsMtab */
  870. somMethodTabs   somGetPClsMtab()
  871. {
  872.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetPClsMtab)
  873.     (this);
  874. }
  875.  
  876.  
  877. /* method: somGetPClsMtabs */
  878. somMethodTabs   somGetPClsMtabs()
  879. {
  880.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetPClsMtabs)
  881.     (this);
  882. }
  883.  
  884.  
  885. /* method: somGetVersionNumbers */
  886. void   somGetVersionNumbers(long* majorVersion,
  887.         long* minorVersion)
  888. {
  889.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somGetVersionNumbers)
  890.     (this,majorVersion,minorVersion);
  891. }
  892.  
  893.  
  894. /* method: somSetMethodDescriptor */
  895. boolean   somSetMethodDescriptor(somId methodId,
  896.         somId descriptor)
  897. {
  898.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somSetMethodDescriptor)
  899.     (this,methodId,descriptor);
  900. }
  901.  
  902.  
  903. /* method: somFindMethod */
  904. boolean   somFindMethod(somId methodId,
  905.         somMethodPtr* m)
  906. {
  907.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somFindMethod)
  908.     (this,methodId,m);
  909. }
  910.  
  911.  
  912. /* method: somFindMethodOk */
  913. boolean   somFindMethodOk(somId methodId,
  914.         somMethodPtr* m)
  915. {
  916.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somFindMethodOk)
  917.     (this,methodId,m);
  918. }
  919.  
  920.  
  921. /* method: somFindSMethod */
  922. somMethodPtr   somFindSMethod(somId methodId)
  923. {
  924.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somFindSMethod)
  925.     (this,methodId);
  926. }
  927.  
  928.  
  929. /* method: somFindSMethodOk */
  930. somMethodPtr   somFindSMethodOk(somId methodId)
  931. {
  932.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somFindSMethodOk)
  933.     (this,methodId);
  934. }
  935.  
  936.  
  937. /* method: somLookupMethod */
  938. somMethodPtr   somLookupMethod(somId methodId)
  939. {
  940.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somLookupMethod)
  941.     (this,methodId);
  942. }
  943.  
  944.  
  945. /* method: somCheckVersion */
  946. boolean   somCheckVersion(long majorVersion,
  947.         long minorVersion)
  948. {
  949.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somCheckVersion)
  950.     (this,majorVersion,minorVersion);
  951. }
  952.  
  953.  
  954. /* method: somDescendedFrom */
  955. boolean   somDescendedFrom(SOMClass* aClassObj)
  956. {
  957.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somDescendedFrom)
  958.     (this,aClassObj);
  959. }
  960.  
  961.  
  962. /* method: somSupportsMethod */
  963. boolean   somSupportsMethod(somId mId)
  964. {
  965.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somSupportsMethod)
  966.     (this,mId);
  967. }
  968.  
  969.  
  970. /* method: somDefinedMethod */
  971. somMethodPtr   somDefinedMethod(somMToken method)
  972. {
  973.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somDefinedMethod)
  974.     (this,method);
  975. }
  976.  
  977.  
  978. /* method: somOverrideMtab */
  979. void   somOverrideMtab()
  980. {
  981.    SOM_ResolveD(this,SOMMBeforeAfter,SOMClass,somOverrideMtab)
  982.     (this);
  983. }
  984.  
  985.  
  986. /* initializer method: somDefaultInit */
  987. void   somDefaultInit(somInitCtrl* ctrl)
  988. {
  989.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultInit)
  990.     (this,ctrl);
  991. }
  992.  
  993.  
  994. /* method: somDestruct */
  995. void   somDestruct(octet doFree,
  996.         somDestructCtrl* ctrl)
  997. {
  998.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDestruct)
  999.     (this,doFree,ctrl);
  1000. }
  1001.  
  1002.  
  1003. /* initializer method: somDefaultCopyInit */
  1004. void   somDefaultCopyInit(somInitCtrl* ctrl,
  1005.         SOMObject* fromObj)
  1006. {
  1007.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultCopyInit)
  1008.     (this,ctrl,fromObj);
  1009. }
  1010.  
  1011.  
  1012. /* method: somDefaultAssign */
  1013. SOMMBeforeAfter*  somDefaultAssign(somAssignCtrl* ctrl,
  1014.         SOMObject* fromObj)
  1015. {
  1016.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultAssign)
  1017.     (this,ctrl,fromObj);
  1018. }
  1019.  
  1020.  
  1021. /* initializer method: somDefaultConstCopyInit */
  1022. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  1023.         SOMObject* fromObj)
  1024. {
  1025.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultConstCopyInit)
  1026.     (this,ctrl,fromObj);
  1027. }
  1028.  
  1029.  
  1030. /* initializer method: somDefaultVCopyInit */
  1031. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  1032.         SOMObject* fromObj)
  1033. {
  1034.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultVCopyInit)
  1035.     (this,ctrl,fromObj);
  1036. }
  1037.  
  1038.  
  1039. /* initializer method: somDefaultConstVCopyInit */
  1040. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  1041.         SOMObject* fromObj)
  1042. {
  1043.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultConstVCopyInit)
  1044.     (this,ctrl,fromObj);
  1045. }
  1046.  
  1047.  
  1048. /* method: somDefaultConstAssign */
  1049. SOMMBeforeAfter*  somDefaultConstAssign(somAssignCtrl* ctrl,
  1050.         SOMObject* fromObj)
  1051. {
  1052.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultConstAssign)
  1053.     (this,ctrl,fromObj);
  1054. }
  1055.  
  1056.  
  1057. /* method: somDefaultVAssign */
  1058. SOMMBeforeAfter*  somDefaultVAssign(somAssignCtrl* ctrl,
  1059.         SOMObject* fromObj)
  1060. {
  1061.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultVAssign)
  1062.     (this,ctrl,fromObj);
  1063. }
  1064.  
  1065.  
  1066. /* method: somDefaultConstVAssign */
  1067. SOMMBeforeAfter*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  1068.         SOMObject* fromObj)
  1069. {
  1070.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDefaultConstVAssign)
  1071.     (this,ctrl,fromObj);
  1072. }
  1073.  
  1074.  
  1075. /* method: somInit */
  1076. void   somInit()
  1077. {
  1078.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somInit)
  1079.     (this);
  1080. }
  1081.  
  1082.  
  1083. /* method: somFree */
  1084. void   somFree()
  1085. {
  1086.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somFree)
  1087.     (this);
  1088. }
  1089.  
  1090.  
  1091. /* method: somUninit */
  1092. void   somUninit()
  1093. {
  1094.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somUninit)
  1095.     (this);
  1096. }
  1097.  
  1098.  
  1099. /* method: somGetClass */
  1100. SOMClass*   somGetClass()
  1101. {
  1102.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somGetClass)
  1103.     (this);
  1104. }
  1105.  
  1106.  
  1107. /* method: somGetClassName */
  1108. string   somGetClassName()
  1109. {
  1110.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somGetClassName)
  1111.     (this);
  1112. }
  1113.  
  1114.  
  1115. /* method: somGetSize */
  1116. long   somGetSize()
  1117. {
  1118.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somGetSize)
  1119.     (this);
  1120. }
  1121.  
  1122.  
  1123. /* method: somIsA */
  1124. boolean   somIsA(SOMClass* aClassObj)
  1125. {
  1126.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somIsA)
  1127.     (this,aClassObj);
  1128. }
  1129.  
  1130.  
  1131. /* method: somIsInstanceOf */
  1132. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1133. {
  1134.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somIsInstanceOf)
  1135.     (this,aClassObj);
  1136. }
  1137.  
  1138.  
  1139. /* method: somRespondsTo */
  1140. boolean   somRespondsTo(somId mId)
  1141. {
  1142.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somRespondsTo)
  1143.     (this,mId);
  1144. }
  1145.  
  1146.  
  1147. /* va_list method: somDispatch */
  1148. /* the va_list invocation form */
  1149. boolean   SOMMBeforeAfter_somDispatch(somToken* retValue,
  1150.         somId methodId,
  1151.         va_list ap)
  1152. {
  1153. return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDispatch)
  1154.     (this,retValue,methodId,ap);
  1155. }
  1156.  
  1157. /* the varargs invocation form */
  1158. boolean   somDispatch(somToken* retValue,
  1159.         somId methodId,
  1160.         ...)
  1161. {
  1162.    va_list ap;
  1163.    va_start(ap, methodId);
  1164.    boolean __somResult = 
  1165.       SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDispatch)
  1166.     (this,retValue,methodId,ap);
  1167.    va_end(ap);
  1168.    return __somResult;
  1169. }
  1170.  
  1171.  
  1172. /* va_list method: somClassDispatch */
  1173. /* the va_list invocation form */
  1174. boolean   SOMMBeforeAfter_somClassDispatch(SOMClass* clsObj,
  1175.         somToken* retValue,
  1176.         somId methodId,
  1177.         va_list ap)
  1178. {
  1179. return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somClassDispatch)
  1180.     (this,clsObj,retValue,methodId,ap);
  1181. }
  1182.  
  1183. /* the varargs invocation form */
  1184. boolean   somClassDispatch(SOMClass* clsObj,
  1185.         somToken* retValue,
  1186.         somId methodId,
  1187.         ...)
  1188. {
  1189.    va_list ap;
  1190.    va_start(ap, methodId);
  1191.    boolean __somResult = 
  1192.       SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somClassDispatch)
  1193.     (this,clsObj,retValue,methodId,ap);
  1194.    va_end(ap);
  1195.    return __somResult;
  1196. }
  1197.  
  1198.  
  1199. /* method: somCastObj */
  1200. boolean   somCastObj(SOMClass* cls)
  1201. {
  1202.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somCastObj)
  1203.     (this,cls);
  1204. }
  1205.  
  1206.  
  1207. /* method: somResetObj */
  1208. boolean   somResetObj()
  1209. {
  1210.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somResetObj)
  1211.     (this);
  1212. }
  1213.  
  1214.  
  1215. /* method: somPrintSelf */
  1216. SOMObject*   somPrintSelf()
  1217. {
  1218.    return SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somPrintSelf)
  1219.     (this);
  1220. }
  1221.  
  1222.  
  1223. /* method: somDumpSelf */
  1224. void   somDumpSelf(long level)
  1225. {
  1226.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDumpSelf)
  1227.     (this,level);
  1228. }
  1229.  
  1230.  
  1231. /* method: somDumpSelfInt */
  1232. void   somDumpSelfInt(long level)
  1233. {
  1234.    SOM_ResolveD(this,SOMMBeforeAfter,SOMObject,somDumpSelfInt)
  1235.     (this,level);
  1236. }
  1237.  
  1238.  
  1239.  
  1240. };   /* SOMMBeforeAfter */
  1241.  
  1242.  
  1243.  
  1244. #endif       /* SOM_SOMMBeforeAfter_xh */
  1245.