home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / somcls.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  55.5 KB  |  1,498 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\somcls.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emith.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somk
  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.  *   SOMObject: System Object Model root class
  24.  */
  25.  
  26.  
  27. #ifndef SOM_SOMClass_h
  28. #define SOM_SOMClass_h
  29.  
  30.  
  31. #include <som.h>
  32.  
  33. /*
  34.  * -- This emitter treats Method Tokens as Thunks by default.
  35.  * -- Use the sc modifier "nothunks" to change this default
  36.  */
  37. #undef somresolve_
  38. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  39.  
  40. /*
  41.  * Define the class name as an object type
  42.  */
  43. #ifndef SOMClass
  44. #define SOMClass SOMObject
  45. #endif
  46. #include <somobj.h>
  47.  
  48. /*
  49.  * Start of user-defined types:
  50.  */
  51. #ifndef SOMClass
  52.     #define SOMClass SOMObject
  53. #endif /* SOMClass */
  54. #ifndef _IDL_SEQUENCE_somToken_defined
  55. #define _IDL_SEQUENCE_somToken_defined
  56. typedef struct {
  57.     unsigned long _maximum;
  58.     unsigned long _length;
  59.     somToken *_buffer;
  60. } _IDL_SEQUENCE_somToken;
  61. #endif /* _IDL_SEQUENCE_somToken_defined */ 
  62. typedef
  63. _IDL_SEQUENCE_somToken SOMClass_somTokenSequence;
  64.  
  65. /*
  66.  *  a (generic) sequence of somTokens
  67.  */
  68. #ifndef _IDL_SEQUENCE_SOMClass_defined
  69. #define _IDL_SEQUENCE_SOMClass_defined
  70. typedef struct {
  71.     unsigned long _maximum;
  72.     unsigned long _length;
  73.     SOMClass **_buffer;
  74. } _IDL_SEQUENCE_SOMClass;
  75. #endif /* _IDL_SEQUENCE_SOMClass_defined */ 
  76. typedef
  77. _IDL_SEQUENCE_SOMClass SOMClass_SOMClassSequence;
  78.  
  79. /*
  80.  *  a sequence of classes
  81.  */
  82. typedef
  83. struct SOMClass_somOffsetInfo {
  84. SOMClass* cls;
  85. long  offset;
  86. } SOMClass_somOffsetInfo;
  87.  
  88. /*
  89.  *  a structure to describe a class-related offset
  90.  */
  91. struct SOMClass_somOffsetInfo;
  92. #ifndef _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined
  93. #define _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined
  94. typedef struct {
  95.     unsigned long _maximum;
  96.     unsigned long _length;
  97.     struct SOMClass_somOffsetInfo *_buffer;
  98. } _IDL_SEQUENCE_SOMClass_somOffsetInfo;
  99. #endif /* _IDL_SEQUENCE_SOMClass_somOffsetInfo_defined */ 
  100. typedef
  101. _IDL_SEQUENCE_SOMClass_somOffsetInfo SOMClass_somOffsets;
  102.  
  103. /*
  104.  *  a sequence of class-related offsets
  105.  */
  106. #ifndef _IDL_SEQUENCE_somId_defined
  107. #define _IDL_SEQUENCE_somId_defined
  108. typedef struct {
  109.     unsigned long _maximum;
  110.     unsigned long _length;
  111.     somId *_buffer;
  112. } _IDL_SEQUENCE_somId;
  113. #endif /* _IDL_SEQUENCE_somId_defined */ 
  114. typedef
  115. _IDL_SEQUENCE_somId SOMClass_somIdSequence;
  116.  
  117. /*
  118.  *  a sequence of somIds
  119.  */
  120.  
  121. #ifndef SOM_DONT_USE_SHORT_NAMES
  122.  
  123. #ifndef SOM_DONT_USE_SHORT_NAMES
  124. #ifndef SOMTGD_somTokenSequence
  125.     #ifdef somTokenSequence
  126.         #undef somTokenSequence
  127.         #define SOMTGD_somTokenSequence 1
  128.     #else
  129.         #define somTokenSequence SOMClass_somTokenSequence
  130.     #endif /* somTokenSequence */
  131. #endif /* SOMTGD_somTokenSequence */
  132. #endif /* SOM_DONT_USE_SHORT_NAMES */
  133.  
  134. #ifndef SOM_DONT_USE_SHORT_NAMES
  135. #ifndef SOMTGD_SOMClassSequence
  136.     #ifdef SOMClassSequence
  137.         #undef SOMClassSequence
  138.         #define SOMTGD_SOMClassSequence 1
  139.     #else
  140.         #define SOMClassSequence SOMClass_SOMClassSequence
  141.     #endif /* SOMClassSequence */
  142. #endif /* SOMTGD_SOMClassSequence */
  143. #endif /* SOM_DONT_USE_SHORT_NAMES */
  144. #ifndef SOMTGD_somOffsetInfo
  145.     #ifdef somOffsetInfo
  146.         #undef somOffsetInfo
  147.         #define SOMTGD_somOffsetInfo 1
  148.     #else
  149.         #define somOffsetInfo SOMClass_somOffsetInfo
  150.     #endif /* somOffsetInfo */
  151. #endif /* SOMTGD_somOffsetInfo */
  152. #ifndef SOMTGD__IDL_SEQUENCE_somOffsetInfo
  153.     #ifdef _IDL_SEQUENCE_somOffsetInfo
  154.         #undef _IDL_SEQUENCE_somOffsetInfo
  155.         #define SOMTGD__IDL_SEQUENCE_somOffsetInfo 1
  156.     #else
  157.         #define _IDL_SEQUENCE_somOffsetInfo _IDL_SEQUENCE_SOMClass_somOffsetInfo
  158.     #endif /* _IDL_SEQUENCE_somOffsetInfo */
  159. #endif /* SOMTGD__IDL_SEQUENCE_somOffsetInfo */
  160.  
  161. #ifndef SOM_DONT_USE_SHORT_NAMES
  162. #ifndef SOMTGD_somOffsets
  163.     #ifdef somOffsets
  164.         #undef somOffsets
  165.         #define SOMTGD_somOffsets 1
  166.     #else
  167.         #define somOffsets SOMClass_somOffsets
  168.     #endif /* somOffsets */
  169. #endif /* SOMTGD_somOffsets */
  170. #endif /* SOM_DONT_USE_SHORT_NAMES */
  171.  
  172. #ifndef SOM_DONT_USE_SHORT_NAMES
  173. #ifndef SOMTGD_somIdSequence
  174.     #ifdef somIdSequence
  175.         #undef somIdSequence
  176.         #define SOMTGD_somIdSequence 1
  177.     #else
  178.         #define somIdSequence SOMClass_somIdSequence
  179.     #endif /* somIdSequence */
  180. #endif /* SOMTGD_somIdSequence */
  181. #endif /* SOM_DONT_USE_SHORT_NAMES */
  182. #endif /* SOM_DONT_USE_SHORT_NAMES */
  183.  
  184. /*
  185.  * End of user-defined types.
  186.  */
  187.  
  188. #define SOMClass_MajorVersion 1
  189. #define SOMClass_MinorVersion 4
  190.  
  191. /*
  192.  * External name shortening if required
  193.  */
  194. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  195. #define SOMClassNewClass sommcc
  196. #define SOMClassClassData sommcd
  197. #define SOMClassCClassData sommcx
  198. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  199. /*--------------Migration------------*/
  200. #define SOMClass_classObj SOMClassClassData.classObject
  201. #define _SOMClass SOMClass_classObj
  202.  
  203. /*
  204.  * Declare the class creation procedure
  205.  */
  206. SOMEXTERN
  207. #if (defined(SOM_Module_somcls_Source) || defined(SOMClass_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClass))
  208. WIN32_DLLEXPORT
  209. #else
  210. WIN32_DLLIMPORT
  211. #endif
  212. SOMClass * SOMLINK SOMClassNewClass(integer4 somntmajorVersion,
  213.         integer4 somntminorVersion);
  214.  
  215. /*
  216.  * Declare the class data structure
  217.  */
  218. SOMEXTERN struct SOMClassClassDataStructure {
  219.     SOMClass *classObject;
  220.     somMToken somNew;
  221.     somMToken somRenew;
  222.     somMToken somInitClass;
  223.     somMToken somClassReady;
  224.     somMToken somGetName;
  225.     somMToken somGetParent;
  226.     somMToken somDescendedFrom;
  227.     somMToken somCheckVersion;
  228.     somMToken somFindMethod;
  229.     somMToken somFindMethodOk;
  230.     somMToken somSupportsMethod;
  231.     somMToken somGetNumMethods;
  232.     somMToken somGetInstanceSize;
  233.     somMToken somGetInstanceOffset;
  234.     somMToken somGetInstancePartSize;
  235.     somMToken somGetMethodIndex;
  236.     somMToken somGetNumStaticMethods;
  237.     somMToken somGetPClsMtab;
  238.     somMToken somGetClassMtab;
  239.     somMToken somAddStaticMethod;
  240.     somMToken somOverrideSMethod;
  241.     somMToken somAddDynamicMethod;
  242.     somMToken somcPrivate0;
  243.     somMToken somGetApplyStub;
  244.     somMToken somFindSMethod;
  245.     somMToken somFindSMethodOk;
  246.     somMToken somGetMethodDescriptor;
  247.     somMToken somGetNthMethodInfo;
  248.     somMToken somSetClassData;
  249.     somMToken somGetClassData;
  250.     somMToken somNewNoInit;
  251.     somMToken somRenewNoInit;
  252.     somMToken somGetInstanceToken;
  253.     somMToken somGetMemberToken;
  254.     somMToken somSetMethodDescriptor;
  255.     somMToken somGetMethodData;
  256.     somMToken somOverrideMtab;
  257.     somMToken somGetMethodToken;
  258.     somMToken somGetParents;
  259.     somMToken somGetPClsMtabs;
  260.     somMToken somInitMIClass;
  261.     somMToken somGetVersionNumbers;
  262.     somMToken somLookupMethod;
  263.     somMToken _get_somInstanceDataOffsets;
  264.     somMToken somRenewNoZero;
  265.     somMToken somRenewNoInitNoZero;
  266.     somMToken somAllocate;
  267.     somMToken somDeallocate;
  268.     somMToken somGetRdStub;
  269.     somMToken somGetNthMethodData;
  270.     somMToken somcPrivate1;
  271.     somMToken somcPrivate2;
  272.     somMToken _get_somDirectInitClasses;
  273.     somMToken _set_somDirectInitClasses;
  274.     somMToken somGetInstanceInitMask;
  275.     somMToken somGetInstanceDestructionMask;
  276.     somMToken somcPrivate3;
  277.     somMToken somcPrivate4;
  278.     somMToken somcPrivate5;
  279.     somMToken somcPrivate6;
  280.     somMToken somcPrivate7;
  281.     somMToken somDefinedMethod;
  282.     somMToken somcPrivate8;
  283.     somMToken somcPrivate9;
  284.     somMToken somcPrivate10;
  285.     somMToken somcPrivate11;
  286.     somMToken somcPrivate12;
  287.     somMToken somcPrivate13;
  288.     somMToken somcPrivate14;
  289.     somMToken somcPrivate15;
  290.     somMToken _get_somDataAlignment;
  291.     somMToken somGetInstanceAssignmentMask;
  292.     somMToken somcPrivate16;
  293.     somMToken somcPrivate17;
  294.     somMToken _get_somClassAllocate;
  295.     somMToken _get_somClassDeallocate;
  296. #if (defined(SOM_Module_somcls_Source) || defined(SOMClass_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClass))
  297. } WIN32_DLLEXPORT SOMDLINK SOMClassClassData;
  298. #else
  299. } WIN32_DLLIMPORT SOMDLINK SOMClassClassData;
  300. #endif
  301.  
  302. /*
  303.  * Declare the C specific class data structure
  304.  */
  305. SOMEXTERN struct SOMClassCClassDataStructure {
  306.     somMethodTabs parentMtab;
  307.     somDToken instanceDataToken;
  308. #if (defined(SOM_Module_somcls_Source) || defined(SOMClass_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClass))
  309. } WIN32_DLLEXPORT SOMDLINK SOMClassCClassData;
  310. #else
  311. } WIN32_DLLIMPORT SOMDLINK SOMClassCClassData;
  312. #endif
  313.  
  314. /*
  315.  * New and Renew macros for SOMClass
  316.  */
  317. #define SOMClassNew() \
  318.    (_somNew(_SOMClass ? _SOMClass : SOMClassNewClass(SOMClass_MajorVersion, SOMClass_MinorVersion)))
  319. #define SOMClassRenew(buf) \
  320.    (_somRenew(_SOMClass ? _SOMClass : SOMClassNewClass(SOMClass_MajorVersion, SOMClass_MinorVersion), buf))
  321.  
  322. /*
  323.  * New Method: _get_somDataAlignment
  324.  */
  325. typedef long   SOMLINK somTP_SOMClass__get_somDataAlignment(SOMClass *somSelf);
  326. typedef somTP_SOMClass__get_somDataAlignment *somTD_SOMClass__get_somDataAlignment;
  327. #define somMD_SOMClass__get_somDataAlignment "::SOMClass::_get_somDataAlignment"
  328. #define SOMClass__get_somDataAlignment(somSelf) \
  329.     (SOM_Resolve(somSelf, SOMClass, _get_somDataAlignment) \
  330.     (somSelf))
  331. #ifndef SOMGD_get_somDataAlignment
  332.     #if (defined(_get_somDataAlignment) || defined(__get_somDataAlignment))
  333.         #undef _get_somDataAlignment
  334.         #undef __get_somDataAlignment
  335.         #define SOMGD_get_somDataAlignment 1
  336.     #else
  337.         #define __get_somDataAlignment SOMClass__get_somDataAlignment
  338.     #endif /* __get_somDataAlignment */
  339. #endif /* SOMGD_get_somDataAlignment */
  340.  
  341. /*
  342.  * New Method: _get_somInstanceDataOffsets
  343.  */
  344. typedef SOMClass_somOffsets   SOMLINK somTP_SOMClass__get_somInstanceDataOffsets(SOMClass *somSelf);
  345. typedef somTP_SOMClass__get_somInstanceDataOffsets *somTD_SOMClass__get_somInstanceDataOffsets;
  346. #define somMD_SOMClass__get_somInstanceDataOffsets "::SOMClass::_get_somInstanceDataOffsets"
  347. #define SOMClass__get_somInstanceDataOffsets(somSelf) \
  348.     (SOM_Resolve(somSelf, SOMClass, _get_somInstanceDataOffsets) \
  349.     (somSelf))
  350. #ifndef SOMGD_get_somInstanceDataOffsets
  351.     #if (defined(_get_somInstanceDataOffsets) || defined(__get_somInstanceDataOffsets))
  352.         #undef _get_somInstanceDataOffsets
  353.         #undef __get_somInstanceDataOffsets
  354.         #define SOMGD_get_somInstanceDataOffsets 1
  355.     #else
  356.         #define __get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
  357.     #endif /* __get_somInstanceDataOffsets */
  358. #endif /* SOMGD_get_somInstanceDataOffsets */
  359.  
  360. /*
  361.  * New Method: _get_somDirectInitClasses
  362.  */
  363. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass__get_somDirectInitClasses(SOMClass *somSelf);
  364. typedef somTP_SOMClass__get_somDirectInitClasses *somTD_SOMClass__get_somDirectInitClasses;
  365. #define somMD_SOMClass__get_somDirectInitClasses "::SOMClass::_get_somDirectInitClasses"
  366. #define SOMClass__get_somDirectInitClasses(somSelf) \
  367.     (SOM_Resolve(somSelf, SOMClass, _get_somDirectInitClasses) \
  368.     (somSelf))
  369. #ifndef SOMGD_get_somDirectInitClasses
  370.     #if (defined(_get_somDirectInitClasses) || defined(__get_somDirectInitClasses))
  371.         #undef _get_somDirectInitClasses
  372.         #undef __get_somDirectInitClasses
  373.         #define SOMGD_get_somDirectInitClasses 1
  374.     #else
  375.         #define __get_somDirectInitClasses SOMClass__get_somDirectInitClasses
  376.     #endif /* __get_somDirectInitClasses */
  377. #endif /* SOMGD_get_somDirectInitClasses */
  378.  
  379. /*
  380.  * New Method: _set_somDirectInitClasses
  381.  */
  382. typedef void   SOMLINK somTP_SOMClass__set_somDirectInitClasses(SOMClass *somSelf,
  383.         SOMClass_SOMClassSequence* somDirectInitClasses);
  384. typedef somTP_SOMClass__set_somDirectInitClasses *somTD_SOMClass__set_somDirectInitClasses;
  385. #define somMD_SOMClass__set_somDirectInitClasses "::SOMClass::_set_somDirectInitClasses"
  386. #define SOMClass__set_somDirectInitClasses(somSelf,somDirectInitClasses) \
  387.     (SOM_Resolve(somSelf, SOMClass, _set_somDirectInitClasses) \
  388.     (somSelf,somDirectInitClasses))
  389. #ifndef SOMGD_set_somDirectInitClasses
  390.     #if (defined(_set_somDirectInitClasses) || defined(__set_somDirectInitClasses))
  391.         #undef _set_somDirectInitClasses
  392.         #undef __set_somDirectInitClasses
  393.         #define SOMGD_set_somDirectInitClasses 1
  394.     #else
  395.         #define __set_somDirectInitClasses SOMClass__set_somDirectInitClasses
  396.     #endif /* __set_somDirectInitClasses */
  397. #endif /* SOMGD_set_somDirectInitClasses */
  398.  
  399. /*
  400.  * New Method: somNew
  401.  */
  402. typedef SOMObject*   SOMLINK somTP_SOMClass_somNew(SOMClass *somSelf);
  403. typedef somTP_SOMClass_somNew *somTD_SOMClass_somNew;
  404. #define somMD_SOMClass_somNew "::SOMClass::somNew"
  405. #define SOMClass_somNew(somSelf) \
  406.     (SOM_Resolve(somSelf, SOMClass, somNew) \
  407.     (somSelf))
  408. #ifndef SOMGD_somNew
  409.     #if (defined(_somNew) || defined(__somNew))
  410.         #undef _somNew
  411.         #undef __somNew
  412.         #define SOMGD_somNew 1
  413.     #else
  414.         #define _somNew SOMClass_somNew
  415.     #endif /* _somNew */
  416. #endif /* SOMGD_somNew */
  417.  
  418. /*
  419.  * New Method: somNewNoInit
  420.  */
  421. typedef SOMObject*   SOMLINK somTP_SOMClass_somNewNoInit(SOMClass *somSelf);
  422. typedef somTP_SOMClass_somNewNoInit *somTD_SOMClass_somNewNoInit;
  423. #define somMD_SOMClass_somNewNoInit "::SOMClass::somNewNoInit"
  424. #define SOMClass_somNewNoInit(somSelf) \
  425.     (SOM_Resolve(somSelf, SOMClass, somNewNoInit) \
  426.     (somSelf))
  427. #ifndef SOMGD_somNewNoInit
  428.     #if (defined(_somNewNoInit) || defined(__somNewNoInit))
  429.         #undef _somNewNoInit
  430.         #undef __somNewNoInit
  431.         #define SOMGD_somNewNoInit 1
  432.     #else
  433.         #define _somNewNoInit SOMClass_somNewNoInit
  434.     #endif /* _somNewNoInit */
  435. #endif /* SOMGD_somNewNoInit */
  436.  
  437. /*
  438.  * New Method: somRenew
  439.  */
  440. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenew(SOMClass *somSelf,
  441.         void* obj);
  442. typedef somTP_SOMClass_somRenew *somTD_SOMClass_somRenew;
  443. #define somMD_SOMClass_somRenew "::SOMClass::somRenew"
  444. #define SOMClass_somRenew(somSelf,obj) \
  445.     (SOM_Resolve(somSelf, SOMClass, somRenew) \
  446.     (somSelf,obj))
  447. #ifndef SOMGD_somRenew
  448.     #if (defined(_somRenew) || defined(__somRenew))
  449.         #undef _somRenew
  450.         #undef __somRenew
  451.         #define SOMGD_somRenew 1
  452.     #else
  453.         #define _somRenew SOMClass_somRenew
  454.     #endif /* _somRenew */
  455. #endif /* SOMGD_somRenew */
  456.  
  457. /*
  458.  * New Method: somRenewNoInit
  459.  */
  460. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInit(SOMClass *somSelf,
  461.         void* obj);
  462. typedef somTP_SOMClass_somRenewNoInit *somTD_SOMClass_somRenewNoInit;
  463. #define somMD_SOMClass_somRenewNoInit "::SOMClass::somRenewNoInit"
  464. #define SOMClass_somRenewNoInit(somSelf,obj) \
  465.     (SOM_Resolve(somSelf, SOMClass, somRenewNoInit) \
  466.     (somSelf,obj))
  467. #ifndef SOMGD_somRenewNoInit
  468.     #if (defined(_somRenewNoInit) || defined(__somRenewNoInit))
  469.         #undef _somRenewNoInit
  470.         #undef __somRenewNoInit
  471.         #define SOMGD_somRenewNoInit 1
  472.     #else
  473.         #define _somRenewNoInit SOMClass_somRenewNoInit
  474.     #endif /* _somRenewNoInit */
  475. #endif /* SOMGD_somRenewNoInit */
  476.  
  477. /*
  478.  * New Method: somRenewNoZero
  479.  */
  480. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoZero(SOMClass *somSelf,
  481.         void* obj);
  482. typedef somTP_SOMClass_somRenewNoZero *somTD_SOMClass_somRenewNoZero;
  483. #define somMD_SOMClass_somRenewNoZero "::SOMClass::somRenewNoZero"
  484. #define SOMClass_somRenewNoZero(somSelf,obj) \
  485.     (SOM_Resolve(somSelf, SOMClass, somRenewNoZero) \
  486.     (somSelf,obj))
  487. #ifndef SOMGD_somRenewNoZero
  488.     #if (defined(_somRenewNoZero) || defined(__somRenewNoZero))
  489.         #undef _somRenewNoZero
  490.         #undef __somRenewNoZero
  491.         #define SOMGD_somRenewNoZero 1
  492.     #else
  493.         #define _somRenewNoZero SOMClass_somRenewNoZero
  494.     #endif /* _somRenewNoZero */
  495. #endif /* SOMGD_somRenewNoZero */
  496.  
  497. /*
  498.  * New Method: somRenewNoInitNoZero
  499.  */
  500. typedef SOMObject*   SOMLINK somTP_SOMClass_somRenewNoInitNoZero(SOMClass *somSelf,
  501.         void* obj);
  502. typedef somTP_SOMClass_somRenewNoInitNoZero *somTD_SOMClass_somRenewNoInitNoZero;
  503. #define somMD_SOMClass_somRenewNoInitNoZero "::SOMClass::somRenewNoInitNoZero"
  504. #define SOMClass_somRenewNoInitNoZero(somSelf,obj) \
  505.     (SOM_Resolve(somSelf, SOMClass, somRenewNoInitNoZero) \
  506.     (somSelf,obj))
  507. #ifndef SOMGD_somRenewNoInitNoZero
  508.     #if (defined(_somRenewNoInitNoZero) || defined(__somRenewNoInitNoZero))
  509.         #undef _somRenewNoInitNoZero
  510.         #undef __somRenewNoInitNoZero
  511.         #define SOMGD_somRenewNoInitNoZero 1
  512.     #else
  513.         #define _somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
  514.     #endif /* _somRenewNoInitNoZero */
  515. #endif /* SOMGD_somRenewNoInitNoZero */
  516.  
  517. /*
  518.  * New Method: somAllocate
  519.  */
  520. typedef string   SOMLINK somTP_SOMClass_somAllocate(SOMClass *somSelf,
  521.         long size);
  522. typedef somTP_SOMClass_somAllocate *somTD_SOMClass_somAllocate;
  523. #define somMD_SOMClass_somAllocate "::SOMClass::somAllocate"
  524. #define SOMClass_somAllocate(somSelf,size) \
  525.     (SOM_Resolve(somSelf, SOMClass, somAllocate) \
  526.     (somSelf,size))
  527. #ifndef SOMGD_somAllocate
  528.     #if (defined(_somAllocate) || defined(__somAllocate))
  529.         #undef _somAllocate
  530.         #undef __somAllocate
  531.         #define SOMGD_somAllocate 1
  532.     #else
  533.         #define _somAllocate SOMClass_somAllocate
  534.     #endif /* _somAllocate */
  535. #endif /* SOMGD_somAllocate */
  536.  
  537. /*
  538.  * New Method: somDeallocate
  539.  */
  540. typedef void   SOMLINK somTP_SOMClass_somDeallocate(SOMClass *somSelf,
  541.         string memptr);
  542. typedef somTP_SOMClass_somDeallocate *somTD_SOMClass_somDeallocate;
  543. #define somMD_SOMClass_somDeallocate "::SOMClass::somDeallocate"
  544. #define SOMClass_somDeallocate(somSelf,memptr) \
  545.     (SOM_Resolve(somSelf, SOMClass, somDeallocate) \
  546.     (somSelf,memptr))
  547. #ifndef SOMGD_somDeallocate
  548.     #if (defined(_somDeallocate) || defined(__somDeallocate))
  549.         #undef _somDeallocate
  550.         #undef __somDeallocate
  551.         #define SOMGD_somDeallocate 1
  552.     #else
  553.         #define _somDeallocate SOMClass_somDeallocate
  554.     #endif /* _somDeallocate */
  555. #endif /* SOMGD_somDeallocate */
  556.  
  557. /*
  558.  * New Method: _get_somClassAllocate
  559.  */
  560. typedef somMethodProc*   SOMLINK somTP_SOMClass__get_somClassAllocate(SOMClass *somSelf);
  561. typedef somTP_SOMClass__get_somClassAllocate *somTD_SOMClass__get_somClassAllocate;
  562. #define somMD_SOMClass__get_somClassAllocate "::SOMClass::_get_somClassAllocate"
  563. #define SOMClass__get_somClassAllocate(somSelf) \
  564.     (SOM_Resolve(somSelf, SOMClass, _get_somClassAllocate) \
  565.     (somSelf))
  566. #ifndef SOMGD_get_somClassAllocate
  567.     #if (defined(_get_somClassAllocate) || defined(__get_somClassAllocate))
  568.         #undef _get_somClassAllocate
  569.         #undef __get_somClassAllocate
  570.         #define SOMGD_get_somClassAllocate 1
  571.     #else
  572.         #define __get_somClassAllocate SOMClass__get_somClassAllocate
  573.     #endif /* __get_somClassAllocate */
  574. #endif /* SOMGD_get_somClassAllocate */
  575.  
  576. /*
  577.  * New Method: _get_somClassDeallocate
  578.  */
  579. typedef somMethodProc*   SOMLINK somTP_SOMClass__get_somClassDeallocate(SOMClass *somSelf);
  580. typedef somTP_SOMClass__get_somClassDeallocate *somTD_SOMClass__get_somClassDeallocate;
  581. #define somMD_SOMClass__get_somClassDeallocate "::SOMClass::_get_somClassDeallocate"
  582. #define SOMClass__get_somClassDeallocate(somSelf) \
  583.     (SOM_Resolve(somSelf, SOMClass, _get_somClassDeallocate) \
  584.     (somSelf))
  585. #ifndef SOMGD_get_somClassDeallocate
  586.     #if (defined(_get_somClassDeallocate) || defined(__get_somClassDeallocate))
  587.         #undef _get_somClassDeallocate
  588.         #undef __get_somClassDeallocate
  589.         #define SOMGD_get_somClassDeallocate 1
  590.     #else
  591.         #define __get_somClassDeallocate SOMClass__get_somClassDeallocate
  592.     #endif /* __get_somClassDeallocate */
  593. #endif /* SOMGD_get_somClassDeallocate */
  594.  
  595. /*
  596.  * New Method: somGetInstanceInitMask
  597.  */
  598. typedef somBooleanVector   SOMLINK somTP_SOMClass_somGetInstanceInitMask(SOMClass *somSelf,
  599.         somInitCtrl* ctrl);
  600. typedef somTP_SOMClass_somGetInstanceInitMask *somTD_SOMClass_somGetInstanceInitMask;
  601. #define somMD_SOMClass_somGetInstanceInitMask "::SOMClass::somGetInstanceInitMask"
  602. #define SOMClass_somGetInstanceInitMask(somSelf,ctrl) \
  603.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceInitMask) \
  604.     (somSelf,ctrl))
  605. #ifndef SOMGD_somGetInstanceInitMask
  606.     #if (defined(_somGetInstanceInitMask) || defined(__somGetInstanceInitMask))
  607.         #undef _somGetInstanceInitMask
  608.         #undef __somGetInstanceInitMask
  609.         #define SOMGD_somGetInstanceInitMask 1
  610.     #else
  611.         #define _somGetInstanceInitMask SOMClass_somGetInstanceInitMask
  612.     #endif /* _somGetInstanceInitMask */
  613. #endif /* SOMGD_somGetInstanceInitMask */
  614.  
  615. /*
  616.  * New Method: somGetInstanceDestructionMask
  617.  */
  618. typedef somBooleanVector   SOMLINK somTP_SOMClass_somGetInstanceDestructionMask(SOMClass *somSelf,
  619.         somDestructCtrl* ctrl);
  620. typedef somTP_SOMClass_somGetInstanceDestructionMask *somTD_SOMClass_somGetInstanceDestructionMask;
  621. #define somMD_SOMClass_somGetInstanceDestructionMask "::SOMClass::somGetInstanceDestructionMask"
  622. #define SOMClass_somGetInstanceDestructionMask(somSelf,ctrl) \
  623.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceDestructionMask) \
  624.     (somSelf,ctrl))
  625. #ifndef SOMGD_somGetInstanceDestructionMask
  626.     #if (defined(_somGetInstanceDestructionMask) || defined(__somGetInstanceDestructionMask))
  627.         #undef _somGetInstanceDestructionMask
  628.         #undef __somGetInstanceDestructionMask
  629.         #define SOMGD_somGetInstanceDestructionMask 1
  630.     #else
  631.         #define _somGetInstanceDestructionMask SOMClass_somGetInstanceDestructionMask
  632.     #endif /* _somGetInstanceDestructionMask */
  633. #endif /* SOMGD_somGetInstanceDestructionMask */
  634.  
  635. /*
  636.  * New Method: somGetInstanceAssignmentMask
  637.  */
  638. typedef somBooleanVector   SOMLINK somTP_SOMClass_somGetInstanceAssignmentMask(SOMClass *somSelf,
  639.         somAssignCtrl* ctrl);
  640. typedef somTP_SOMClass_somGetInstanceAssignmentMask *somTD_SOMClass_somGetInstanceAssignmentMask;
  641. #define somMD_SOMClass_somGetInstanceAssignmentMask "::SOMClass::somGetInstanceAssignmentMask"
  642. #define SOMClass_somGetInstanceAssignmentMask(somSelf,ctrl) \
  643.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceAssignmentMask) \
  644.     (somSelf,ctrl))
  645. #ifndef SOMGD_somGetInstanceAssignmentMask
  646.     #if (defined(_somGetInstanceAssignmentMask) || defined(__somGetInstanceAssignmentMask))
  647.         #undef _somGetInstanceAssignmentMask
  648.         #undef __somGetInstanceAssignmentMask
  649.         #define SOMGD_somGetInstanceAssignmentMask 1
  650.     #else
  651.         #define _somGetInstanceAssignmentMask SOMClass_somGetInstanceAssignmentMask
  652.     #endif /* _somGetInstanceAssignmentMask */
  653. #endif /* SOMGD_somGetInstanceAssignmentMask */
  654.  
  655. /*
  656.  * New Method: somInitClass
  657.  */
  658. typedef void   SOMLINK somTP_SOMClass_somInitClass(SOMClass *somSelf,
  659.         string className,
  660.         SOMClass* parentClass,
  661.         long dataSize,
  662.         long maxStaticMethods,
  663.         long majorVersion,
  664.         long minorVersion);
  665. typedef somTP_SOMClass_somInitClass *somTD_SOMClass_somInitClass;
  666. #define somMD_SOMClass_somInitClass "::SOMClass::somInitClass"
  667. #define SOMClass_somInitClass(somSelf,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion) \
  668.     (SOM_Resolve(somSelf, SOMClass, somInitClass) \
  669.     (somSelf,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion))
  670. #ifndef SOMGD_somInitClass
  671.     #if (defined(_somInitClass) || defined(__somInitClass))
  672.         #undef _somInitClass
  673.         #undef __somInitClass
  674.         #define SOMGD_somInitClass 1
  675.     #else
  676.         #define _somInitClass SOMClass_somInitClass
  677.     #endif /* _somInitClass */
  678. #endif /* SOMGD_somInitClass */
  679.  
  680. /*
  681.  * New Method: somInitMIClass
  682.  */
  683. typedef void   SOMLINK somTP_SOMClass_somInitMIClass(SOMClass *somSelf,
  684.         long inherit_vars,
  685.         string className,
  686.         SOMClass_SOMClassSequence* parentClasses,
  687.         long dataSize,
  688.         long dataAlignment,
  689.         long maxStaticMethods,
  690.         long majorVersion,
  691.         long minorVersion);
  692. typedef somTP_SOMClass_somInitMIClass *somTD_SOMClass_somInitMIClass;
  693. #define somMD_SOMClass_somInitMIClass "::SOMClass::somInitMIClass"
  694. #define SOMClass_somInitMIClass(somSelf,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion) \
  695.     (SOM_Resolve(somSelf, SOMClass, somInitMIClass) \
  696.     (somSelf,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion))
  697. #ifndef SOMGD_somInitMIClass
  698.     #if (defined(_somInitMIClass) || defined(__somInitMIClass))
  699.         #undef _somInitMIClass
  700.         #undef __somInitMIClass
  701.         #define SOMGD_somInitMIClass 1
  702.     #else
  703.         #define _somInitMIClass SOMClass_somInitMIClass
  704.     #endif /* _somInitMIClass */
  705. #endif /* SOMGD_somInitMIClass */
  706.  
  707. /*
  708.  * New Method: somAddStaticMethod
  709.  */
  710. typedef somMToken   SOMLINK somTP_SOMClass_somAddStaticMethod(SOMClass *somSelf,
  711.         somId methodId,
  712.         somId methodDescriptor,
  713.         somMethodPtr method,
  714.         somMethodPtr redispatchStub,
  715.         somMethodPtr applyStub);
  716. typedef somTP_SOMClass_somAddStaticMethod *somTD_SOMClass_somAddStaticMethod;
  717. #define somMD_SOMClass_somAddStaticMethod "::SOMClass::somAddStaticMethod"
  718. #define SOMClass_somAddStaticMethod(somSelf,methodId,methodDescriptor,method,redispatchStub,applyStub) \
  719.     (SOM_Resolve(somSelf, SOMClass, somAddStaticMethod) \
  720.     (somSelf,methodId,methodDescriptor,method,redispatchStub,applyStub))
  721. #ifndef SOMGD_somAddStaticMethod
  722.     #if (defined(_somAddStaticMethod) || defined(__somAddStaticMethod))
  723.         #undef _somAddStaticMethod
  724.         #undef __somAddStaticMethod
  725.         #define SOMGD_somAddStaticMethod 1
  726.     #else
  727.         #define _somAddStaticMethod SOMClass_somAddStaticMethod
  728.     #endif /* _somAddStaticMethod */
  729. #endif /* SOMGD_somAddStaticMethod */
  730.  
  731. /*
  732.  * New Method: somAddDynamicMethod
  733.  */
  734. typedef void   SOMLINK somTP_SOMClass_somAddDynamicMethod(SOMClass *somSelf,
  735.         somId methodId,
  736.         somId methodDescriptor,
  737.         somMethodPtr method,
  738.         somMethodPtr applyStub);
  739. typedef somTP_SOMClass_somAddDynamicMethod *somTD_SOMClass_somAddDynamicMethod;
  740. #define somMD_SOMClass_somAddDynamicMethod "::SOMClass::somAddDynamicMethod"
  741. #define SOMClass_somAddDynamicMethod(somSelf,methodId,methodDescriptor,method,applyStub) \
  742.     (SOM_Resolve(somSelf, SOMClass, somAddDynamicMethod) \
  743.     (somSelf,methodId,methodDescriptor,method,applyStub))
  744. #ifndef SOMGD_somAddDynamicMethod
  745.     #if (defined(_somAddDynamicMethod) || defined(__somAddDynamicMethod))
  746.         #undef _somAddDynamicMethod
  747.         #undef __somAddDynamicMethod
  748.         #define SOMGD_somAddDynamicMethod 1
  749.     #else
  750.         #define _somAddDynamicMethod SOMClass_somAddDynamicMethod
  751.     #endif /* _somAddDynamicMethod */
  752. #endif /* SOMGD_somAddDynamicMethod */
  753.  
  754. /*
  755.  * New Method: somOverrideSMethod
  756.  */
  757. typedef void   SOMLINK somTP_SOMClass_somOverrideSMethod(SOMClass *somSelf,
  758.         somId methodId,
  759.         somMethodPtr method);
  760. typedef somTP_SOMClass_somOverrideSMethod *somTD_SOMClass_somOverrideSMethod;
  761. #define somMD_SOMClass_somOverrideSMethod "::SOMClass::somOverrideSMethod"
  762. #define SOMClass_somOverrideSMethod(somSelf,methodId,method) \
  763.     (SOM_Resolve(somSelf, SOMClass, somOverrideSMethod) \
  764.     (somSelf,methodId,method))
  765. #ifndef SOMGD_somOverrideSMethod
  766.     #if (defined(_somOverrideSMethod) || defined(__somOverrideSMethod))
  767.         #undef _somOverrideSMethod
  768.         #undef __somOverrideSMethod
  769.         #define SOMGD_somOverrideSMethod 1
  770.     #else
  771.         #define _somOverrideSMethod SOMClass_somOverrideSMethod
  772.     #endif /* _somOverrideSMethod */
  773. #endif /* SOMGD_somOverrideSMethod */
  774.  
  775. /*
  776.  * New Method: somClassReady
  777.  */
  778. typedef void   SOMLINK somTP_SOMClass_somClassReady(SOMClass *somSelf);
  779. typedef somTP_SOMClass_somClassReady *somTD_SOMClass_somClassReady;
  780. #define somMD_SOMClass_somClassReady "::SOMClass::somClassReady"
  781. #define SOMClass_somClassReady(somSelf) \
  782.     (SOM_Resolve(somSelf, SOMClass, somClassReady) \
  783.     (somSelf))
  784. #ifndef SOMGD_somClassReady
  785.     #if (defined(_somClassReady) || defined(__somClassReady))
  786.         #undef _somClassReady
  787.         #undef __somClassReady
  788.         #define SOMGD_somClassReady 1
  789.     #else
  790.         #define _somClassReady SOMClass_somClassReady
  791.     #endif /* _somClassReady */
  792. #endif /* SOMGD_somClassReady */
  793.  
  794. /*
  795.  * New Method: somGetClassData
  796.  */
  797. typedef somClassDataStructure*   SOMLINK somTP_SOMClass_somGetClassData(SOMClass *somSelf);
  798. typedef somTP_SOMClass_somGetClassData *somTD_SOMClass_somGetClassData;
  799. #define somMD_SOMClass_somGetClassData "::SOMClass::somGetClassData"
  800. #define SOMClass_somGetClassData(somSelf) \
  801.     (SOM_Resolve(somSelf, SOMClass, somGetClassData) \
  802.     (somSelf))
  803. #ifndef SOMGD_somGetClassData
  804.     #if (defined(_somGetClassData) || defined(__somGetClassData))
  805.         #undef _somGetClassData
  806.         #undef __somGetClassData
  807.         #define SOMGD_somGetClassData 1
  808.     #else
  809.         #define _somGetClassData SOMClass_somGetClassData
  810.     #endif /* _somGetClassData */
  811. #endif /* SOMGD_somGetClassData */
  812.  
  813. /*
  814.  * New Method: somSetClassData
  815.  */
  816. typedef void   SOMLINK somTP_SOMClass_somSetClassData(SOMClass *somSelf,
  817.         somClassDataStructure* cds);
  818. typedef somTP_SOMClass_somSetClassData *somTD_SOMClass_somSetClassData;
  819. #define somMD_SOMClass_somSetClassData "::SOMClass::somSetClassData"
  820. #define SOMClass_somSetClassData(somSelf,cds) \
  821.     (SOM_Resolve(somSelf, SOMClass, somSetClassData) \
  822.     (somSelf,cds))
  823. #ifndef SOMGD_somSetClassData
  824.     #if (defined(_somSetClassData) || defined(__somSetClassData))
  825.         #undef _somSetClassData
  826.         #undef __somSetClassData
  827.         #define SOMGD_somSetClassData 1
  828.     #else
  829.         #define _somSetClassData SOMClass_somSetClassData
  830.     #endif /* _somSetClassData */
  831. #endif /* SOMGD_somSetClassData */
  832.  
  833. /*
  834.  * New Method: somGetClassMtab
  835.  */
  836. typedef somMethodTab*   SOMLINK somTP_SOMClass_somGetClassMtab(SOMClass *somSelf);
  837. typedef somTP_SOMClass_somGetClassMtab *somTD_SOMClass_somGetClassMtab;
  838. #define somMD_SOMClass_somGetClassMtab "::SOMClass::somGetClassMtab"
  839. #define SOMClass_somGetClassMtab(somSelf) \
  840.     (SOM_Resolve(somSelf, SOMClass, somGetClassMtab) \
  841.     (somSelf))
  842. #ifndef SOMGD_somGetClassMtab
  843.     #if (defined(_somGetClassMtab) || defined(__somGetClassMtab))
  844.         #undef _somGetClassMtab
  845.         #undef __somGetClassMtab
  846.         #define SOMGD_somGetClassMtab 1
  847.     #else
  848.         #define _somGetClassMtab SOMClass_somGetClassMtab
  849.     #endif /* _somGetClassMtab */
  850. #endif /* SOMGD_somGetClassMtab */
  851.  
  852. /*
  853.  * New Method: somGetInstanceOffset
  854.  */
  855. typedef long   SOMLINK somTP_SOMClass_somGetInstanceOffset(SOMClass *somSelf);
  856. typedef somTP_SOMClass_somGetInstanceOffset *somTD_SOMClass_somGetInstanceOffset;
  857. #define somMD_SOMClass_somGetInstanceOffset "::SOMClass::somGetInstanceOffset"
  858. #define SOMClass_somGetInstanceOffset(somSelf) \
  859.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceOffset) \
  860.     (somSelf))
  861. #ifndef SOMGD_somGetInstanceOffset
  862.     #if (defined(_somGetInstanceOffset) || defined(__somGetInstanceOffset))
  863.         #undef _somGetInstanceOffset
  864.         #undef __somGetInstanceOffset
  865.         #define SOMGD_somGetInstanceOffset 1
  866.     #else
  867.         #define _somGetInstanceOffset SOMClass_somGetInstanceOffset
  868.     #endif /* _somGetInstanceOffset */
  869. #endif /* SOMGD_somGetInstanceOffset */
  870.  
  871. /*
  872.  * New Method: somGetInstancePartSize
  873.  */
  874. typedef long   SOMLINK somTP_SOMClass_somGetInstancePartSize(SOMClass *somSelf);
  875. typedef somTP_SOMClass_somGetInstancePartSize *somTD_SOMClass_somGetInstancePartSize;
  876. #define somMD_SOMClass_somGetInstancePartSize "::SOMClass::somGetInstancePartSize"
  877. #define SOMClass_somGetInstancePartSize(somSelf) \
  878.     (SOM_Resolve(somSelf, SOMClass, somGetInstancePartSize) \
  879.     (somSelf))
  880. #ifndef SOMGD_somGetInstancePartSize
  881.     #if (defined(_somGetInstancePartSize) || defined(__somGetInstancePartSize))
  882.         #undef _somGetInstancePartSize
  883.         #undef __somGetInstancePartSize
  884.         #define SOMGD_somGetInstancePartSize 1
  885.     #else
  886.         #define _somGetInstancePartSize SOMClass_somGetInstancePartSize
  887.     #endif /* _somGetInstancePartSize */
  888. #endif /* SOMGD_somGetInstancePartSize */
  889.  
  890. /*
  891.  * New Method: somGetInstanceSize
  892.  */
  893. typedef long   SOMLINK somTP_SOMClass_somGetInstanceSize(SOMClass *somSelf);
  894. typedef somTP_SOMClass_somGetInstanceSize *somTD_SOMClass_somGetInstanceSize;
  895. #define somMD_SOMClass_somGetInstanceSize "::SOMClass::somGetInstanceSize"
  896. #define SOMClass_somGetInstanceSize(somSelf) \
  897.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceSize) \
  898.     (somSelf))
  899. #ifndef SOMGD_somGetInstanceSize
  900.     #if (defined(_somGetInstanceSize) || defined(__somGetInstanceSize))
  901.         #undef _somGetInstanceSize
  902.         #undef __somGetInstanceSize
  903.         #define SOMGD_somGetInstanceSize 1
  904.     #else
  905.         #define _somGetInstanceSize SOMClass_somGetInstanceSize
  906.     #endif /* _somGetInstanceSize */
  907. #endif /* SOMGD_somGetInstanceSize */
  908.  
  909. /*
  910.  * New Method: somGetInstanceToken
  911.  */
  912. typedef somDToken   SOMLINK somTP_SOMClass_somGetInstanceToken(SOMClass *somSelf);
  913. typedef somTP_SOMClass_somGetInstanceToken *somTD_SOMClass_somGetInstanceToken;
  914. #define somMD_SOMClass_somGetInstanceToken "::SOMClass::somGetInstanceToken"
  915. #define SOMClass_somGetInstanceToken(somSelf) \
  916.     (SOM_Resolve(somSelf, SOMClass, somGetInstanceToken) \
  917.     (somSelf))
  918. #ifndef SOMGD_somGetInstanceToken
  919.     #if (defined(_somGetInstanceToken) || defined(__somGetInstanceToken))
  920.         #undef _somGetInstanceToken
  921.         #undef __somGetInstanceToken
  922.         #define SOMGD_somGetInstanceToken 1
  923.     #else
  924.         #define _somGetInstanceToken SOMClass_somGetInstanceToken
  925.     #endif /* _somGetInstanceToken */
  926. #endif /* SOMGD_somGetInstanceToken */
  927.  
  928. /*
  929.  * New Method: somGetMemberToken
  930.  */
  931. typedef somDToken   SOMLINK somTP_SOMClass_somGetMemberToken(SOMClass *somSelf,
  932.         long memberOffset,
  933.         somDToken instanceToken);
  934. typedef somTP_SOMClass_somGetMemberToken *somTD_SOMClass_somGetMemberToken;
  935. #define somMD_SOMClass_somGetMemberToken "::SOMClass::somGetMemberToken"
  936. #define SOMClass_somGetMemberToken(somSelf,memberOffset,instanceToken) \
  937.     (SOM_Resolve(somSelf, SOMClass, somGetMemberToken) \
  938.     (somSelf,memberOffset,instanceToken))
  939. #ifndef SOMGD_somGetMemberToken
  940.     #if (defined(_somGetMemberToken) || defined(__somGetMemberToken))
  941.         #undef _somGetMemberToken
  942.         #undef __somGetMemberToken
  943.         #define SOMGD_somGetMemberToken 1
  944.     #else
  945.         #define _somGetMemberToken SOMClass_somGetMemberToken
  946.     #endif /* _somGetMemberToken */
  947. #endif /* SOMGD_somGetMemberToken */
  948.  
  949. /*
  950.  * New Method: somGetMethodData
  951.  */
  952. typedef boolean   SOMLINK somTP_SOMClass_somGetMethodData(SOMClass *somSelf,
  953.         somId methodId,
  954.         somMethodData* md);
  955. typedef somTP_SOMClass_somGetMethodData *somTD_SOMClass_somGetMethodData;
  956. #define somMD_SOMClass_somGetMethodData "::SOMClass::somGetMethodData"
  957. #define SOMClass_somGetMethodData(somSelf,methodId,md) \
  958.     (SOM_Resolve(somSelf, SOMClass, somGetMethodData) \
  959.     (somSelf,methodId,md))
  960. #ifndef SOMGD_somGetMethodData
  961.     #if (defined(_somGetMethodData) || defined(__somGetMethodData))
  962.         #undef _somGetMethodData
  963.         #undef __somGetMethodData
  964.         #define SOMGD_somGetMethodData 1
  965.     #else
  966.         #define _somGetMethodData SOMClass_somGetMethodData
  967.     #endif /* _somGetMethodData */
  968. #endif /* SOMGD_somGetMethodData */
  969.  
  970. /*
  971.  * New Method: somGetRdStub
  972.  */
  973. typedef somMethodProc*   SOMLINK somTP_SOMClass_somGetRdStub(SOMClass *somSelf,
  974.         somId methodId);
  975. typedef somTP_SOMClass_somGetRdStub *somTD_SOMClass_somGetRdStub;
  976. #define somMD_SOMClass_somGetRdStub "::SOMClass::somGetRdStub"
  977. #define SOMClass_somGetRdStub(somSelf,methodId) \
  978.     (SOM_Resolve(somSelf, SOMClass, somGetRdStub) \
  979.     (somSelf,methodId))
  980. #ifndef SOMGD_somGetRdStub
  981.     #if (defined(_somGetRdStub) || defined(__somGetRdStub))
  982.         #undef _somGetRdStub
  983.         #undef __somGetRdStub
  984.         #define SOMGD_somGetRdStub 1
  985.     #else
  986.         #define _somGetRdStub SOMClass_somGetRdStub
  987.     #endif /* _somGetRdStub */
  988. #endif /* SOMGD_somGetRdStub */
  989.  
  990. /*
  991.  * New Method: somGetMethodDescriptor
  992.  */
  993. typedef somId   SOMLINK somTP_SOMClass_somGetMethodDescriptor(SOMClass *somSelf,
  994.         somId methodId);
  995. typedef somTP_SOMClass_somGetMethodDescriptor *somTD_SOMClass_somGetMethodDescriptor;
  996. #define somMD_SOMClass_somGetMethodDescriptor "::SOMClass::somGetMethodDescriptor"
  997. #define SOMClass_somGetMethodDescriptor(somSelf,methodId) \
  998.     (SOM_Resolve(somSelf, SOMClass, somGetMethodDescriptor) \
  999.     (somSelf,methodId))
  1000. #ifndef SOMGD_somGetMethodDescriptor
  1001.     #if (defined(_somGetMethodDescriptor) || defined(__somGetMethodDescriptor))
  1002.         #undef _somGetMethodDescriptor
  1003.         #undef __somGetMethodDescriptor
  1004.         #define SOMGD_somGetMethodDescriptor 1
  1005.     #else
  1006.         #define _somGetMethodDescriptor SOMClass_somGetMethodDescriptor
  1007.     #endif /* _somGetMethodDescriptor */
  1008. #endif /* SOMGD_somGetMethodDescriptor */
  1009.  
  1010. /*
  1011.  * New Method: somGetMethodIndex
  1012.  */
  1013. typedef long   SOMLINK somTP_SOMClass_somGetMethodIndex(SOMClass *somSelf,
  1014.         somId id);
  1015. typedef somTP_SOMClass_somGetMethodIndex *somTD_SOMClass_somGetMethodIndex;
  1016. #define somMD_SOMClass_somGetMethodIndex "::SOMClass::somGetMethodIndex"
  1017. #define SOMClass_somGetMethodIndex(somSelf,id) \
  1018.     (SOM_Resolve(somSelf, SOMClass, somGetMethodIndex) \
  1019.     (somSelf,id))
  1020. #ifndef SOMGD_somGetMethodIndex
  1021.     #if (defined(_somGetMethodIndex) || defined(__somGetMethodIndex))
  1022.         #undef _somGetMethodIndex
  1023.         #undef __somGetMethodIndex
  1024.         #define SOMGD_somGetMethodIndex 1
  1025.     #else
  1026.         #define _somGetMethodIndex SOMClass_somGetMethodIndex
  1027.     #endif /* _somGetMethodIndex */
  1028. #endif /* SOMGD_somGetMethodIndex */
  1029.  
  1030. /*
  1031.  * New Method: somGetMethodToken
  1032.  */
  1033. typedef somMToken   SOMLINK somTP_SOMClass_somGetMethodToken(SOMClass *somSelf,
  1034.         somId methodId);
  1035. typedef somTP_SOMClass_somGetMethodToken *somTD_SOMClass_somGetMethodToken;
  1036. #define somMD_SOMClass_somGetMethodToken "::SOMClass::somGetMethodToken"
  1037. #define SOMClass_somGetMethodToken(somSelf,methodId) \
  1038.     (SOM_Resolve(somSelf, SOMClass, somGetMethodToken) \
  1039.     (somSelf,methodId))
  1040. #ifndef SOMGD_somGetMethodToken
  1041.     #if (defined(_somGetMethodToken) || defined(__somGetMethodToken))
  1042.         #undef _somGetMethodToken
  1043.         #undef __somGetMethodToken
  1044.         #define SOMGD_somGetMethodToken 1
  1045.     #else
  1046.         #define _somGetMethodToken SOMClass_somGetMethodToken
  1047.     #endif /* _somGetMethodToken */
  1048. #endif /* SOMGD_somGetMethodToken */
  1049.  
  1050. /*
  1051.  * New Method: somGetName
  1052.  */
  1053. typedef string   SOMLINK somTP_SOMClass_somGetName(SOMClass *somSelf);
  1054. typedef somTP_SOMClass_somGetName *somTD_SOMClass_somGetName;
  1055. #define somMD_SOMClass_somGetName "::SOMClass::somGetName"
  1056. #define SOMClass_somGetName(somSelf) \
  1057.     (SOM_Resolve(somSelf, SOMClass, somGetName) \
  1058.     (somSelf))
  1059. #ifndef SOMGD_somGetName
  1060.     #if (defined(_somGetName) || defined(__somGetName))
  1061.         #undef _somGetName
  1062.         #undef __somGetName
  1063.         #define SOMGD_somGetName 1
  1064.     #else
  1065.         #define _somGetName SOMClass_somGetName
  1066.     #endif /* _somGetName */
  1067. #endif /* SOMGD_somGetName */
  1068.  
  1069. /*
  1070.  * New Method: somGetNthMethodData
  1071.  */
  1072. typedef boolean   SOMLINK somTP_SOMClass_somGetNthMethodData(SOMClass *somSelf,
  1073.         long n,
  1074.         somMethodData* md);
  1075. typedef somTP_SOMClass_somGetNthMethodData *somTD_SOMClass_somGetNthMethodData;
  1076. #define somMD_SOMClass_somGetNthMethodData "::SOMClass::somGetNthMethodData"
  1077. #define SOMClass_somGetNthMethodData(somSelf,n,md) \
  1078.     (SOM_Resolve(somSelf, SOMClass, somGetNthMethodData) \
  1079.     (somSelf,n,md))
  1080. #ifndef SOMGD_somGetNthMethodData
  1081.     #if (defined(_somGetNthMethodData) || defined(__somGetNthMethodData))
  1082.         #undef _somGetNthMethodData
  1083.         #undef __somGetNthMethodData
  1084.         #define SOMGD_somGetNthMethodData 1
  1085.     #else
  1086.         #define _somGetNthMethodData SOMClass_somGetNthMethodData
  1087.     #endif /* _somGetNthMethodData */
  1088. #endif /* SOMGD_somGetNthMethodData */
  1089.  
  1090. /*
  1091.  * New Method: somGetNthMethodInfo
  1092.  */
  1093. typedef somId   SOMLINK somTP_SOMClass_somGetNthMethodInfo(SOMClass *somSelf,
  1094.         long n,
  1095.         somId* descriptor);
  1096. typedef somTP_SOMClass_somGetNthMethodInfo *somTD_SOMClass_somGetNthMethodInfo;
  1097. #define somMD_SOMClass_somGetNthMethodInfo "::SOMClass::somGetNthMethodInfo"
  1098. #define SOMClass_somGetNthMethodInfo(somSelf,n,descriptor) \
  1099.     (SOM_Resolve(somSelf, SOMClass, somGetNthMethodInfo) \
  1100.     (somSelf,n,descriptor))
  1101. #ifndef SOMGD_somGetNthMethodInfo
  1102.     #if (defined(_somGetNthMethodInfo) || defined(__somGetNthMethodInfo))
  1103.         #undef _somGetNthMethodInfo
  1104.         #undef __somGetNthMethodInfo
  1105.         #define SOMGD_somGetNthMethodInfo 1
  1106.     #else
  1107.         #define _somGetNthMethodInfo SOMClass_somGetNthMethodInfo
  1108.     #endif /* _somGetNthMethodInfo */
  1109. #endif /* SOMGD_somGetNthMethodInfo */
  1110.  
  1111. /*
  1112.  * New Method: somGetNumMethods
  1113.  */
  1114. typedef long   SOMLINK somTP_SOMClass_somGetNumMethods(SOMClass *somSelf);
  1115. typedef somTP_SOMClass_somGetNumMethods *somTD_SOMClass_somGetNumMethods;
  1116. #define somMD_SOMClass_somGetNumMethods "::SOMClass::somGetNumMethods"
  1117. #define SOMClass_somGetNumMethods(somSelf) \
  1118.     (SOM_Resolve(somSelf, SOMClass, somGetNumMethods) \
  1119.     (somSelf))
  1120. #ifndef SOMGD_somGetNumMethods
  1121.     #if (defined(_somGetNumMethods) || defined(__somGetNumMethods))
  1122.         #undef _somGetNumMethods
  1123.         #undef __somGetNumMethods
  1124.         #define SOMGD_somGetNumMethods 1
  1125.     #else
  1126.         #define _somGetNumMethods SOMClass_somGetNumMethods
  1127.     #endif /* _somGetNumMethods */
  1128. #endif /* SOMGD_somGetNumMethods */
  1129.  
  1130. /*
  1131.  * New Method: somGetNumStaticMethods
  1132.  */
  1133. typedef long   SOMLINK somTP_SOMClass_somGetNumStaticMethods(SOMClass *somSelf);
  1134. typedef somTP_SOMClass_somGetNumStaticMethods *somTD_SOMClass_somGetNumStaticMethods;
  1135. #define somMD_SOMClass_somGetNumStaticMethods "::SOMClass::somGetNumStaticMethods"
  1136. #define SOMClass_somGetNumStaticMethods(somSelf) \
  1137.     (SOM_Resolve(somSelf, SOMClass, somGetNumStaticMethods) \
  1138.     (somSelf))
  1139. #ifndef SOMGD_somGetNumStaticMethods
  1140.     #if (defined(_somGetNumStaticMethods) || defined(__somGetNumStaticMethods))
  1141.         #undef _somGetNumStaticMethods
  1142.         #undef __somGetNumStaticMethods
  1143.         #define SOMGD_somGetNumStaticMethods 1
  1144.     #else
  1145.         #define _somGetNumStaticMethods SOMClass_somGetNumStaticMethods
  1146.     #endif /* _somGetNumStaticMethods */
  1147. #endif /* SOMGD_somGetNumStaticMethods */
  1148.  
  1149. /*
  1150.  * New Method: somGetParent
  1151.  */
  1152. typedef SOMClass*   SOMLINK somTP_SOMClass_somGetParent(SOMClass *somSelf);
  1153. typedef somTP_SOMClass_somGetParent *somTD_SOMClass_somGetParent;
  1154. #define somMD_SOMClass_somGetParent "::SOMClass::somGetParent"
  1155. #define SOMClass_somGetParent(somSelf) \
  1156.     (SOM_Resolve(somSelf, SOMClass, somGetParent) \
  1157.     (somSelf))
  1158. #ifndef SOMGD_somGetParent
  1159.     #if (defined(_somGetParent) || defined(__somGetParent))
  1160.         #undef _somGetParent
  1161.         #undef __somGetParent
  1162.         #define SOMGD_somGetParent 1
  1163.     #else
  1164.         #define _somGetParent SOMClass_somGetParent
  1165.     #endif /* _somGetParent */
  1166. #endif /* SOMGD_somGetParent */
  1167.  
  1168. /*
  1169.  * New Method: somGetParents
  1170.  */
  1171. typedef SOMClass_SOMClassSequence   SOMLINK somTP_SOMClass_somGetParents(SOMClass *somSelf);
  1172. typedef somTP_SOMClass_somGetParents *somTD_SOMClass_somGetParents;
  1173. #define somMD_SOMClass_somGetParents "::SOMClass::somGetParents"
  1174. #define SOMClass_somGetParents(somSelf) \
  1175.     (SOM_Resolve(somSelf, SOMClass, somGetParents) \
  1176.     (somSelf))
  1177. #ifndef SOMGD_somGetParents
  1178.     #if (defined(_somGetParents) || defined(__somGetParents))
  1179.         #undef _somGetParents
  1180.         #undef __somGetParents
  1181.         #define SOMGD_somGetParents 1
  1182.     #else
  1183.         #define _somGetParents SOMClass_somGetParents
  1184.     #endif /* _somGetParents */
  1185. #endif /* SOMGD_somGetParents */
  1186.  
  1187. /*
  1188.  * New Method: somGetPClsMtab
  1189.  */
  1190. typedef somMethodTabs   SOMLINK somTP_SOMClass_somGetPClsMtab(SOMClass *somSelf);
  1191. typedef somTP_SOMClass_somGetPClsMtab *somTD_SOMClass_somGetPClsMtab;
  1192. #define somMD_SOMClass_somGetPClsMtab "::SOMClass::somGetPClsMtab"
  1193. #define SOMClass_somGetPClsMtab(somSelf) \
  1194.     (SOM_Resolve(somSelf, SOMClass, somGetPClsMtab) \
  1195.     (somSelf))
  1196. #ifndef SOMGD_somGetPClsMtab
  1197.     #if (defined(_somGetPClsMtab) || defined(__somGetPClsMtab))
  1198.         #undef _somGetPClsMtab
  1199.         #undef __somGetPClsMtab
  1200.         #define SOMGD_somGetPClsMtab 1
  1201.     #else
  1202.         #define _somGetPClsMtab SOMClass_somGetPClsMtab
  1203.     #endif /* _somGetPClsMtab */
  1204. #endif /* SOMGD_somGetPClsMtab */
  1205.  
  1206. /*
  1207.  * New Method: somGetPClsMtabs
  1208.  */
  1209. typedef somMethodTabs   SOMLINK somTP_SOMClass_somGetPClsMtabs(SOMClass *somSelf);
  1210. typedef somTP_SOMClass_somGetPClsMtabs *somTD_SOMClass_somGetPClsMtabs;
  1211. #define somMD_SOMClass_somGetPClsMtabs "::SOMClass::somGetPClsMtabs"
  1212. #define SOMClass_somGetPClsMtabs(somSelf) \
  1213.     (SOM_Resolve(somSelf, SOMClass, somGetPClsMtabs) \
  1214.     (somSelf))
  1215. #ifndef SOMGD_somGetPClsMtabs
  1216.     #if (defined(_somGetPClsMtabs) || defined(__somGetPClsMtabs))
  1217.         #undef _somGetPClsMtabs
  1218.         #undef __somGetPClsMtabs
  1219.         #define SOMGD_somGetPClsMtabs 1
  1220.     #else
  1221.         #define _somGetPClsMtabs SOMClass_somGetPClsMtabs
  1222.     #endif /* _somGetPClsMtabs */
  1223. #endif /* SOMGD_somGetPClsMtabs */
  1224.  
  1225. /*
  1226.  * New Method: somGetVersionNumbers
  1227.  */
  1228. typedef void   SOMLINK somTP_SOMClass_somGetVersionNumbers(SOMClass *somSelf,
  1229.         long* majorVersion,
  1230.         long* minorVersion);
  1231. typedef somTP_SOMClass_somGetVersionNumbers *somTD_SOMClass_somGetVersionNumbers;
  1232. #define somMD_SOMClass_somGetVersionNumbers "::SOMClass::somGetVersionNumbers"
  1233. #define SOMClass_somGetVersionNumbers(somSelf,majorVersion,minorVersion) \
  1234.     (SOM_Resolve(somSelf, SOMClass, somGetVersionNumbers) \
  1235.     (somSelf,majorVersion,minorVersion))
  1236. #ifndef SOMGD_somGetVersionNumbers
  1237.     #if (defined(_somGetVersionNumbers) || defined(__somGetVersionNumbers))
  1238.         #undef _somGetVersionNumbers
  1239.         #undef __somGetVersionNumbers
  1240.         #define SOMGD_somGetVersionNumbers 1
  1241.     #else
  1242.         #define _somGetVersionNumbers SOMClass_somGetVersionNumbers
  1243.     #endif /* _somGetVersionNumbers */
  1244. #endif /* SOMGD_somGetVersionNumbers */
  1245.  
  1246. /*
  1247.  * New Method: somSetMethodDescriptor
  1248.  */
  1249. typedef boolean   SOMLINK somTP_SOMClass_somSetMethodDescriptor(SOMClass *somSelf,
  1250.         somId methodId,
  1251.         somId descriptor);
  1252. typedef somTP_SOMClass_somSetMethodDescriptor *somTD_SOMClass_somSetMethodDescriptor;
  1253. #define somMD_SOMClass_somSetMethodDescriptor "::SOMClass::somSetMethodDescriptor"
  1254. #define SOMClass_somSetMethodDescriptor(somSelf,methodId,descriptor) \
  1255.     (SOM_Resolve(somSelf, SOMClass, somSetMethodDescriptor) \
  1256.     (somSelf,methodId,descriptor))
  1257. #ifndef SOMGD_somSetMethodDescriptor
  1258.     #if (defined(_somSetMethodDescriptor) || defined(__somSetMethodDescriptor))
  1259.         #undef _somSetMethodDescriptor
  1260.         #undef __somSetMethodDescriptor
  1261.         #define SOMGD_somSetMethodDescriptor 1
  1262.     #else
  1263.         #define _somSetMethodDescriptor SOMClass_somSetMethodDescriptor
  1264.     #endif /* _somSetMethodDescriptor */
  1265. #endif /* SOMGD_somSetMethodDescriptor */
  1266.  
  1267. /*
  1268.  * New Method: somFindMethod
  1269.  */
  1270. typedef boolean   SOMLINK somTP_SOMClass_somFindMethod(SOMClass *somSelf,
  1271.         somId methodId,
  1272.         somMethodPtr* m);
  1273. typedef somTP_SOMClass_somFindMethod *somTD_SOMClass_somFindMethod;
  1274. #define somMD_SOMClass_somFindMethod "::SOMClass::somFindMethod"
  1275. #define SOMClass_somFindMethod(somSelf,methodId,m) \
  1276.     (SOM_Resolve(somSelf, SOMClass, somFindMethod) \
  1277.     (somSelf,methodId,m))
  1278. #ifndef SOMGD_somFindMethod
  1279.     #if (defined(_somFindMethod) || defined(__somFindMethod))
  1280.         #undef _somFindMethod
  1281.         #undef __somFindMethod
  1282.         #define SOMGD_somFindMethod 1
  1283.     #else
  1284.         #define _somFindMethod SOMClass_somFindMethod
  1285.     #endif /* _somFindMethod */
  1286. #endif /* SOMGD_somFindMethod */
  1287.  
  1288. /*
  1289.  * New Method: somFindMethodOk
  1290.  */
  1291. typedef boolean   SOMLINK somTP_SOMClass_somFindMethodOk(SOMClass *somSelf,
  1292.         somId methodId,
  1293.         somMethodPtr* m);
  1294. typedef somTP_SOMClass_somFindMethodOk *somTD_SOMClass_somFindMethodOk;
  1295. #define somMD_SOMClass_somFindMethodOk "::SOMClass::somFindMethodOk"
  1296. #define SOMClass_somFindMethodOk(somSelf,methodId,m) \
  1297.     (SOM_Resolve(somSelf, SOMClass, somFindMethodOk) \
  1298.     (somSelf,methodId,m))
  1299. #ifndef SOMGD_somFindMethodOk
  1300.     #if (defined(_somFindMethodOk) || defined(__somFindMethodOk))
  1301.         #undef _somFindMethodOk
  1302.         #undef __somFindMethodOk
  1303.         #define SOMGD_somFindMethodOk 1
  1304.     #else
  1305.         #define _somFindMethodOk SOMClass_somFindMethodOk
  1306.     #endif /* _somFindMethodOk */
  1307. #endif /* SOMGD_somFindMethodOk */
  1308.  
  1309. /*
  1310.  * New Method: somFindSMethod
  1311.  */
  1312. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethod(SOMClass *somSelf,
  1313.         somId methodId);
  1314. typedef somTP_SOMClass_somFindSMethod *somTD_SOMClass_somFindSMethod;
  1315. #define somMD_SOMClass_somFindSMethod "::SOMClass::somFindSMethod"
  1316. #define SOMClass_somFindSMethod(somSelf,methodId) \
  1317.     (SOM_Resolve(somSelf, SOMClass, somFindSMethod) \
  1318.     (somSelf,methodId))
  1319. #ifndef SOMGD_somFindSMethod
  1320.     #if (defined(_somFindSMethod) || defined(__somFindSMethod))
  1321.         #undef _somFindSMethod
  1322.         #undef __somFindSMethod
  1323.         #define SOMGD_somFindSMethod 1
  1324.     #else
  1325.         #define _somFindSMethod SOMClass_somFindSMethod
  1326.     #endif /* _somFindSMethod */
  1327. #endif /* SOMGD_somFindSMethod */
  1328.  
  1329. /*
  1330.  * New Method: somFindSMethodOk
  1331.  */
  1332. typedef somMethodPtr   SOMLINK somTP_SOMClass_somFindSMethodOk(SOMClass *somSelf,
  1333.         somId methodId);
  1334. typedef somTP_SOMClass_somFindSMethodOk *somTD_SOMClass_somFindSMethodOk;
  1335. #define somMD_SOMClass_somFindSMethodOk "::SOMClass::somFindSMethodOk"
  1336. #define SOMClass_somFindSMethodOk(somSelf,methodId) \
  1337.     (SOM_Resolve(somSelf, SOMClass, somFindSMethodOk) \
  1338.     (somSelf,methodId))
  1339. #ifndef SOMGD_somFindSMethodOk
  1340.     #if (defined(_somFindSMethodOk) || defined(__somFindSMethodOk))
  1341.         #undef _somFindSMethodOk
  1342.         #undef __somFindSMethodOk
  1343.         #define SOMGD_somFindSMethodOk 1
  1344.     #else
  1345.         #define _somFindSMethodOk SOMClass_somFindSMethodOk
  1346.     #endif /* _somFindSMethodOk */
  1347. #endif /* SOMGD_somFindSMethodOk */
  1348.  
  1349. /*
  1350.  * New Method: somLookupMethod
  1351.  */
  1352. typedef somMethodPtr   SOMLINK somTP_SOMClass_somLookupMethod(SOMClass *somSelf,
  1353.         somId methodId);
  1354. typedef somTP_SOMClass_somLookupMethod *somTD_SOMClass_somLookupMethod;
  1355. #define somMD_SOMClass_somLookupMethod "::SOMClass::somLookupMethod"
  1356. #define SOMClass_somLookupMethod(somSelf,methodId) \
  1357.     (SOM_Resolve(somSelf, SOMClass, somLookupMethod) \
  1358.     (somSelf,methodId))
  1359. #ifndef SOMGD_somLookupMethod
  1360.     #if (defined(_somLookupMethod) || defined(__somLookupMethod))
  1361.         #undef _somLookupMethod
  1362.         #undef __somLookupMethod
  1363.         #define SOMGD_somLookupMethod 1
  1364.     #else
  1365.         #define _somLookupMethod SOMClass_somLookupMethod
  1366.     #endif /* _somLookupMethod */
  1367. #endif /* SOMGD_somLookupMethod */
  1368.  
  1369. /*
  1370.  * New Method: somCheckVersion
  1371.  */
  1372. typedef boolean   SOMLINK somTP_SOMClass_somCheckVersion(SOMClass *somSelf,
  1373.         long majorVersion,
  1374.         long minorVersion);
  1375. typedef somTP_SOMClass_somCheckVersion *somTD_SOMClass_somCheckVersion;
  1376. #define somMD_SOMClass_somCheckVersion "::SOMClass::somCheckVersion"
  1377. #define SOMClass_somCheckVersion(somSelf,majorVersion,minorVersion) \
  1378.     (SOM_Resolve(somSelf, SOMClass, somCheckVersion) \
  1379.     (somSelf,majorVersion,minorVersion))
  1380. #ifndef SOMGD_somCheckVersion
  1381.     #if (defined(_somCheckVersion) || defined(__somCheckVersion))
  1382.         #undef _somCheckVersion
  1383.         #undef __somCheckVersion
  1384.         #define SOMGD_somCheckVersion 1
  1385.     #else
  1386.         #define _somCheckVersion SOMClass_somCheckVersion
  1387.     #endif /* _somCheckVersion */
  1388. #endif /* SOMGD_somCheckVersion */
  1389.  
  1390. /*
  1391.  * New Method: somDescendedFrom
  1392.  */
  1393. typedef boolean   SOMLINK somTP_SOMClass_somDescendedFrom(SOMClass *somSelf,
  1394.         SOMClass* aClassObj);
  1395. typedef somTP_SOMClass_somDescendedFrom *somTD_SOMClass_somDescendedFrom;
  1396. #define somMD_SOMClass_somDescendedFrom "::SOMClass::somDescendedFrom"
  1397. #define SOMClass_somDescendedFrom(somSelf,aClassObj) \
  1398.     (SOM_Resolve(somSelf, SOMClass, somDescendedFrom) \
  1399.     (somSelf,aClassObj))
  1400. #ifndef SOMGD_somDescendedFrom
  1401.     #if (defined(_somDescendedFrom) || defined(__somDescendedFrom))
  1402.         #undef _somDescendedFrom
  1403.         #undef __somDescendedFrom
  1404.         #define SOMGD_somDescendedFrom 1
  1405.     #else
  1406.         #define _somDescendedFrom SOMClass_somDescendedFrom
  1407.     #endif /* _somDescendedFrom */
  1408. #endif /* SOMGD_somDescendedFrom */
  1409.  
  1410. /*
  1411.  * New Method: somSupportsMethod
  1412.  */
  1413. typedef boolean   SOMLINK somTP_SOMClass_somSupportsMethod(SOMClass *somSelf,
  1414.         somId mId);
  1415. typedef somTP_SOMClass_somSupportsMethod *somTD_SOMClass_somSupportsMethod;
  1416. #define somMD_SOMClass_somSupportsMethod "::SOMClass::somSupportsMethod"
  1417. #define SOMClass_somSupportsMethod(somSelf,mId) \
  1418.     (SOM_Resolve(somSelf, SOMClass, somSupportsMethod) \
  1419.     (somSelf,mId))
  1420. #ifndef SOMGD_somSupportsMethod
  1421.     #if (defined(_somSupportsMethod) || defined(__somSupportsMethod))
  1422.         #undef _somSupportsMethod
  1423.         #undef __somSupportsMethod
  1424.         #define SOMGD_somSupportsMethod 1
  1425.     #else
  1426.         #define _somSupportsMethod SOMClass_somSupportsMethod
  1427.     #endif /* _somSupportsMethod */
  1428. #endif /* SOMGD_somSupportsMethod */
  1429.  
  1430. /*
  1431.  * New Method: somDefinedMethod
  1432.  */
  1433. typedef somMethodPtr   SOMLINK somTP_SOMClass_somDefinedMethod(SOMClass *somSelf,
  1434.         somMToken method);
  1435. typedef somTP_SOMClass_somDefinedMethod *somTD_SOMClass_somDefinedMethod;
  1436. #define somMD_SOMClass_somDefinedMethod "::SOMClass::somDefinedMethod"
  1437. #define SOMClass_somDefinedMethod(somSelf,method) \
  1438.     (SOM_Resolve(somSelf, SOMClass, somDefinedMethod) \
  1439.     (somSelf,method))
  1440. #ifndef SOMGD_somDefinedMethod
  1441.     #if (defined(_somDefinedMethod) || defined(__somDefinedMethod))
  1442.         #undef _somDefinedMethod
  1443.         #undef __somDefinedMethod
  1444.         #define SOMGD_somDefinedMethod 1
  1445.     #else
  1446.         #define _somDefinedMethod SOMClass_somDefinedMethod
  1447.     #endif /* _somDefinedMethod */
  1448. #endif /* SOMGD_somDefinedMethod */
  1449.  
  1450. /*
  1451.  * New Method: somOverrideMtab
  1452.  */
  1453. typedef void   SOMLINK somTP_SOMClass_somOverrideMtab(SOMClass *somSelf);
  1454. typedef somTP_SOMClass_somOverrideMtab *somTD_SOMClass_somOverrideMtab;
  1455. #define somMD_SOMClass_somOverrideMtab "::SOMClass::somOverrideMtab"
  1456. #define SOMClass_somOverrideMtab(somSelf) \
  1457.     (SOM_Resolve(somSelf, SOMClass, somOverrideMtab) \
  1458.     (somSelf))
  1459. #ifndef SOMGD_somOverrideMtab
  1460.     #if (defined(_somOverrideMtab) || defined(__somOverrideMtab))
  1461.         #undef _somOverrideMtab
  1462.         #undef __somOverrideMtab
  1463.         #define SOMGD_somOverrideMtab 1
  1464.     #else
  1465.         #define _somOverrideMtab SOMClass_somOverrideMtab
  1466.     #endif /* _somOverrideMtab */
  1467. #endif /* SOMGD_somOverrideMtab */
  1468. #ifndef SOM_DONT_USE_INHERITED_MACROS
  1469. #define SOMClass_somDefaultInit SOMObject_somDefaultInit
  1470. #define SOMClass_somDestruct SOMObject_somDestruct
  1471. #define SOMClass_somDefaultCopyInit SOMObject_somDefaultCopyInit
  1472. #define SOMClass_somDefaultAssign SOMObject_somDefaultAssign
  1473. #define SOMClass_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  1474. #define SOMClass_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  1475. #define SOMClass_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  1476. #define SOMClass_somDefaultConstAssign SOMObject_somDefaultConstAssign
  1477. #define SOMClass_somDefaultVAssign SOMObject_somDefaultVAssign
  1478. #define SOMClass_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  1479. #define SOMClass_somInit SOMObject_somInit
  1480. #define SOMClass_somFree SOMObject_somFree
  1481. #define SOMClass_somUninit SOMObject_somUninit
  1482. #define SOMClass_somGetClass SOMObject_somGetClass
  1483. #define SOMClass_somGetClassName SOMObject_somGetClassName
  1484. #define SOMClass_somGetSize SOMObject_somGetSize
  1485. #define SOMClass_somIsA SOMObject_somIsA
  1486. #define SOMClass_somIsInstanceOf SOMObject_somIsInstanceOf
  1487. #define SOMClass_somRespondsTo SOMObject_somRespondsTo
  1488. #define SOMClass_somDispatch SOMObject_somDispatch
  1489. #define SOMClass_somClassDispatch SOMObject_somClassDispatch
  1490. #define SOMClass_somCastObj SOMObject_somCastObj
  1491. #define SOMClass_somResetObj SOMObject_somResetObj
  1492. #define SOMClass_somPrintSelf SOMObject_somPrintSelf
  1493. #define SOMClass_somDumpSelf SOMObject_somDumpSelf
  1494. #define SOMClass_somDumpSelfInt SOMObject_somDumpSelfInt
  1495. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  1496.  
  1497. #endif       /* SOM_SOMClass_h */
  1498.