home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / ODOBJECT.XH < prev    next >
Text File  |  1997-03-12  |  56KB  |  1,957 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: F:\build\os2\ship\include\ODObject.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. #ifndef SOM_M_ODObject_xh
  11. #define SOM_M_ODObject_xh
  12.  
  13. class M_ODObject;
  14.  
  15. #define M_ODObject_MajorVersion 0
  16. #define M_ODObject_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_SOMClass_xh
  24. #include <somcls.xh>
  25. #endif
  26.  
  27. #ifndef M_ODObject_API
  28. #define M_ODObject_API
  29. /*
  30.  * -- The Class API
  31.  */
  32.  
  33. /*
  34.  * Start of bindings for IDL types
  35.  */
  36.  
  37. class SOMClass;
  38. class SOMObject;
  39. class ODFrame;
  40. class ODFacet;
  41. class ODPlatformCanvas;
  42. class ODObject;
  43. class ODExtension;
  44.  
  45. /*
  46.  * End of bindings for IDL types.
  47.  */
  48.  
  49. /*
  50.  * -- M_ODObject is a metaclass for ODObject. Make sure ODObject is known.
  51.  */
  52. class ODObject;
  53.  
  54.  
  55. /* A procedure to create the M_ODObject Class */
  56. SOMEXTERN SOMClass * SOMLINK M_ODObjectNewClass(
  57.         integer4 majorVersion,
  58.         integer4 minorVersion);
  59.  
  60. /* The API to the M_ODObject class object, and the methods it introduces. */
  61. SOMEXTERN struct M_ODObjectClassDataStructure {
  62.     SOMClass *classObject;
  63. } SOMDLINK M_ODObjectClassData;
  64. #define _M_ODObject M_ODObjectClassData.classObject
  65.  
  66. /* The API to parentMtabs for M_ODObject, and the instance data it introduces. */
  67. SOMEXTERN struct M_ODObjectCClassDataStructure {
  68.     somMethodTabs parentMtab;
  69.     somDToken              instanceDataToken;
  70. } SOMDLINK M_ODObjectCClassData;
  71.  
  72. /*
  73.  * -- Typedefs for M_ODObject Method Procedures
  74.  */
  75. SOMEXTERN {
  76.  
  77. /*
  78.  * -- Typedefs for Reintroduced Wrapper Methods
  79.  */
  80. typedef long   SOMLINK somTP_M_ODObject__get_somDataAlignment(M_ODObject *somSelf);
  81. typedef somTP_M_ODObject__get_somDataAlignment *somTD_M_ODObject__get_somDataAlignment;
  82. typedef SOMClass_somOffsets   SOMLINK somTP_M_ODObject__get_somInstanceDataOffsets(M_ODObject *somSelf);
  83. typedef somTP_M_ODObject__get_somInstanceDataOffsets *somTD_M_ODObject__get_somInstanceDataOffsets;
  84. typedef SOMClass_SOMClassSequence   SOMLINK somTP_M_ODObject__get_somDirectInitClasses(M_ODObject *somSelf);
  85. typedef somTP_M_ODObject__get_somDirectInitClasses *somTD_M_ODObject__get_somDirectInitClasses;
  86. typedef ODObject*   SOMLINK somTP_M_ODObject_somNew(M_ODObject *somSelf);
  87. typedef somTP_M_ODObject_somNew *somTD_M_ODObject_somNew;
  88. typedef SOMObject*   SOMLINK somTP_M_ODObject_somNewNoInit(M_ODObject *somSelf);
  89. typedef somTP_M_ODObject_somNewNoInit *somTD_M_ODObject_somNewNoInit;
  90. typedef SOMObject*   SOMLINK somTP_M_ODObject_somRenew(M_ODObject *somSelf, 
  91.         void* obj);
  92. typedef somTP_M_ODObject_somRenew *somTD_M_ODObject_somRenew;
  93. typedef SOMObject*   SOMLINK somTP_M_ODObject_somRenewNoInit(M_ODObject *somSelf, 
  94.         void* obj);
  95. typedef somTP_M_ODObject_somRenewNoInit *somTD_M_ODObject_somRenewNoInit;
  96. typedef SOMObject*   SOMLINK somTP_M_ODObject_somRenewNoZero(M_ODObject *somSelf, 
  97.         void* obj);
  98. typedef somTP_M_ODObject_somRenewNoZero *somTD_M_ODObject_somRenewNoZero;
  99. typedef SOMObject*   SOMLINK somTP_M_ODObject_somRenewNoInitNoZero(M_ODObject *somSelf, 
  100.         void* obj);
  101. typedef somTP_M_ODObject_somRenewNoInitNoZero *somTD_M_ODObject_somRenewNoInitNoZero;
  102. typedef somToken   SOMLINK somTP_M_ODObject_somAllocate(M_ODObject *somSelf, 
  103.         long size);
  104. typedef somTP_M_ODObject_somAllocate *somTD_M_ODObject_somAllocate;
  105. typedef void   SOMLINK somTP_M_ODObject_somDeallocate(M_ODObject *somSelf, 
  106.         somToken memptr);
  107. typedef somTP_M_ODObject_somDeallocate *somTD_M_ODObject_somDeallocate;
  108. typedef void   SOMLINK somTP_M_ODObject_somInitClass(M_ODObject *somSelf, 
  109.         string className, 
  110.         SOMClass* parentClass, 
  111.         long dataSize, 
  112.         long maxStaticMethods, 
  113.         long majorVersion, 
  114.         long minorVersion);
  115. typedef somTP_M_ODObject_somInitClass *somTD_M_ODObject_somInitClass;
  116. typedef void   SOMLINK somTP_M_ODObject_somInitMIClass(M_ODObject *somSelf, 
  117.         long inherit_vars, 
  118.         string className, 
  119.         SOMClass_SOMClassSequence* parentClasses, 
  120.         long dataSize, 
  121.         long dataAlignment, 
  122.         long maxStaticMethods, 
  123.         long majorVersion, 
  124.         long minorVersion);
  125. typedef somTP_M_ODObject_somInitMIClass *somTD_M_ODObject_somInitMIClass;
  126. typedef somMToken   SOMLINK somTP_M_ODObject_somAddStaticMethod(M_ODObject *somSelf, 
  127.         somId methodId, 
  128.         somId methodDescriptor, 
  129.         somMethodPtr method, 
  130.         somMethodPtr redispatchStub, 
  131.         somMethodPtr applyStub);
  132. typedef somTP_M_ODObject_somAddStaticMethod *somTD_M_ODObject_somAddStaticMethod;
  133. typedef void   SOMLINK somTP_M_ODObject_somAddDynamicMethod(M_ODObject *somSelf, 
  134.         somId methodId, 
  135.         somId methodDescriptor, 
  136.         somMethodPtr method, 
  137.         somMethodPtr applyStub);
  138. typedef somTP_M_ODObject_somAddDynamicMethod *somTD_M_ODObject_somAddDynamicMethod;
  139. typedef void   SOMLINK somTP_M_ODObject_somOverrideSMethod(M_ODObject *somSelf, 
  140.         somId methodId, 
  141.         somMethodPtr method);
  142. typedef somTP_M_ODObject_somOverrideSMethod *somTD_M_ODObject_somOverrideSMethod;
  143. typedef void   SOMLINK somTP_M_ODObject_somClassReady(M_ODObject *somSelf);
  144. typedef somTP_M_ODObject_somClassReady *somTD_M_ODObject_somClassReady;
  145. typedef somMethodPtr   SOMLINK somTP_M_ODObject_somGetApplyStub(M_ODObject *somSelf, 
  146.         somId methodId);
  147. typedef somTP_M_ODObject_somGetApplyStub *somTD_M_ODObject_somGetApplyStub;
  148. typedef somClassDataStructure*   SOMLINK somTP_M_ODObject_somGetClassData(M_ODObject *somSelf);
  149. typedef somTP_M_ODObject_somGetClassData *somTD_M_ODObject_somGetClassData;
  150. typedef void   SOMLINK somTP_M_ODObject_somSetClassData(M_ODObject *somSelf, 
  151.         somClassDataStructure* cds);
  152. typedef somTP_M_ODObject_somSetClassData *somTD_M_ODObject_somSetClassData;
  153. typedef somMethodTab*   SOMLINK somTP_M_ODObject_somGetClassMtab(M_ODObject *somSelf);
  154. typedef somTP_M_ODObject_somGetClassMtab *somTD_M_ODObject_somGetClassMtab;
  155. typedef long   SOMLINK somTP_M_ODObject_somGetInstanceOffset(M_ODObject *somSelf);
  156. typedef somTP_M_ODObject_somGetInstanceOffset *somTD_M_ODObject_somGetInstanceOffset;
  157. typedef long   SOMLINK somTP_M_ODObject_somGetInstancePartSize(M_ODObject *somSelf);
  158. typedef somTP_M_ODObject_somGetInstancePartSize *somTD_M_ODObject_somGetInstancePartSize;
  159. typedef long   SOMLINK somTP_M_ODObject_somGetInstanceSize(M_ODObject *somSelf);
  160. typedef somTP_M_ODObject_somGetInstanceSize *somTD_M_ODObject_somGetInstanceSize;
  161. typedef somDToken   SOMLINK somTP_M_ODObject_somGetInstanceToken(M_ODObject *somSelf);
  162. typedef somTP_M_ODObject_somGetInstanceToken *somTD_M_ODObject_somGetInstanceToken;
  163. typedef somDToken   SOMLINK somTP_M_ODObject_somGetMemberToken(M_ODObject *somSelf, 
  164.         long memberOffset, 
  165.         somDToken instanceToken);
  166. typedef somTP_M_ODObject_somGetMemberToken *somTD_M_ODObject_somGetMemberToken;
  167. typedef boolean   SOMLINK somTP_M_ODObject_somGetMethodData(M_ODObject *somSelf, 
  168.         somId methodId, 
  169.         somMethodData* md);
  170. typedef somTP_M_ODObject_somGetMethodData *somTD_M_ODObject_somGetMethodData;
  171. typedef somMethodProc*   SOMLINK somTP_M_ODObject_somGetRdStub(M_ODObject *somSelf, 
  172.         somId methodId);
  173. typedef somTP_M_ODObject_somGetRdStub *somTD_M_ODObject_somGetRdStub;
  174. typedef somId   SOMLINK somTP_M_ODObject_somGetMethodDescriptor(M_ODObject *somSelf, 
  175.         somId methodId);
  176. typedef somTP_M_ODObject_somGetMethodDescriptor *somTD_M_ODObject_somGetMethodDescriptor;
  177. typedef long   SOMLINK somTP_M_ODObject_somGetMethodIndex(M_ODObject *somSelf, 
  178.         somId id);
  179. typedef somTP_M_ODObject_somGetMethodIndex *somTD_M_ODObject_somGetMethodIndex;
  180. typedef somMToken   SOMLINK somTP_M_ODObject_somGetMethodToken(M_ODObject *somSelf, 
  181.         somId methodId);
  182. typedef somTP_M_ODObject_somGetMethodToken *somTD_M_ODObject_somGetMethodToken;
  183. typedef string   SOMLINK somTP_M_ODObject_somGetName(M_ODObject *somSelf);
  184. typedef somTP_M_ODObject_somGetName *somTD_M_ODObject_somGetName;
  185. typedef boolean   SOMLINK somTP_M_ODObject_somGetNthMethodData(M_ODObject *somSelf, 
  186.         long n, 
  187.         somMethodData* md);
  188. typedef somTP_M_ODObject_somGetNthMethodData *somTD_M_ODObject_somGetNthMethodData;
  189. typedef somId   SOMLINK somTP_M_ODObject_somGetNthMethodInfo(M_ODObject *somSelf, 
  190.         long n, 
  191.         somId* descriptor);
  192. typedef somTP_M_ODObject_somGetNthMethodInfo *somTD_M_ODObject_somGetNthMethodInfo;
  193. typedef long   SOMLINK somTP_M_ODObject_somGetNumMethods(M_ODObject *somSelf);
  194. typedef somTP_M_ODObject_somGetNumMethods *somTD_M_ODObject_somGetNumMethods;
  195. typedef long   SOMLINK somTP_M_ODObject_somGetNumStaticMethods(M_ODObject *somSelf);
  196. typedef somTP_M_ODObject_somGetNumStaticMethods *somTD_M_ODObject_somGetNumStaticMethods;
  197. typedef SOMClass*   SOMLINK somTP_M_ODObject_somGetParent(M_ODObject *somSelf);
  198. typedef somTP_M_ODObject_somGetParent *somTD_M_ODObject_somGetParent;
  199. typedef SOMClass_SOMClassSequence   SOMLINK somTP_M_ODObject_somGetParents(M_ODObject *somSelf);
  200. typedef somTP_M_ODObject_somGetParents *somTD_M_ODObject_somGetParents;
  201. typedef void   SOMLINK somTP_M_ODObject_somGetVersionNumbers(M_ODObject *somSelf, 
  202.         long* majorVersion, 
  203.         long* minorVersion);
  204. typedef somTP_M_ODObject_somGetVersionNumbers *somTD_M_ODObject_somGetVersionNumbers;
  205. typedef boolean   SOMLINK somTP_M_ODObject_somFindMethod(M_ODObject *somSelf, 
  206.         somId methodId, 
  207.         somMethodPtr* m);
  208. typedef somTP_M_ODObject_somFindMethod *somTD_M_ODObject_somFindMethod;
  209. typedef boolean   SOMLINK somTP_M_ODObject_somFindMethodOk(M_ODObject *somSelf, 
  210.         somId methodId, 
  211.         somMethodPtr* m);
  212. typedef somTP_M_ODObject_somFindMethodOk *somTD_M_ODObject_somFindMethodOk;
  213. typedef somMethodPtr   SOMLINK somTP_M_ODObject_somFindSMethod(M_ODObject *somSelf, 
  214.         somId methodId);
  215. typedef somTP_M_ODObject_somFindSMethod *somTD_M_ODObject_somFindSMethod;
  216. typedef somMethodPtr   SOMLINK somTP_M_ODObject_somFindSMethodOk(M_ODObject *somSelf, 
  217.         somId methodId);
  218. typedef somTP_M_ODObject_somFindSMethodOk *somTD_M_ODObject_somFindSMethodOk;
  219. typedef somMethodPtr   SOMLINK somTP_M_ODObject_somLookupMethod(M_ODObject *somSelf, 
  220.         somId methodId);
  221. typedef somTP_M_ODObject_somLookupMethod *somTD_M_ODObject_somLookupMethod;
  222. typedef boolean   SOMLINK somTP_M_ODObject_somCheckVersion(M_ODObject *somSelf, 
  223.         long majorVersion, 
  224.         long minorVersion);
  225. typedef somTP_M_ODObject_somCheckVersion *somTD_M_ODObject_somCheckVersion;
  226. typedef boolean   SOMLINK somTP_M_ODObject_somDescendedFrom(M_ODObject *somSelf, 
  227.         SOMClass* aClassObj);
  228. typedef somTP_M_ODObject_somDescendedFrom *somTD_M_ODObject_somDescendedFrom;
  229. typedef boolean   SOMLINK somTP_M_ODObject_somSupportsMethod(M_ODObject *somSelf, 
  230.         somId mId);
  231. typedef somTP_M_ODObject_somSupportsMethod *somTD_M_ODObject_somSupportsMethod;
  232. typedef somMethodPtr   SOMLINK somTP_M_ODObject_somDefinedMethod(M_ODObject *somSelf, 
  233.         somMToken method);
  234. typedef somTP_M_ODObject_somDefinedMethod *somTD_M_ODObject_somDefinedMethod;
  235. typedef void   SOMLINK somTP_M_ODObject_somOverrideMtab(M_ODObject *somSelf);
  236. typedef somTP_M_ODObject_somOverrideMtab *somTD_M_ODObject_somOverrideMtab;
  237. typedef void   SOMLINK somTP_M_ODObject_somDefaultInit(M_ODObject *somSelf, 
  238.         som3InitCtrl* ctrl);
  239. typedef somTP_M_ODObject_somDefaultInit *somTD_M_ODObject_somDefaultInit;
  240. typedef void   SOMLINK somTP_M_ODObject_somDestruct(M_ODObject *somSelf, 
  241.         octet doFree, 
  242.         som3DestructCtrl* ctrl);
  243. typedef somTP_M_ODObject_somDestruct *somTD_M_ODObject_somDestruct;
  244. typedef void   SOMLINK somTP_M_ODObject_somDefaultCopyInit(M_ODObject *somSelf, 
  245.         som3InitCtrl* ctrl, 
  246.         SOMObject* fromObj);
  247. typedef somTP_M_ODObject_somDefaultCopyInit *somTD_M_ODObject_somDefaultCopyInit;
  248. typedef M_ODObject*   SOMLINK somTP_M_ODObject_somDefaultAssign(M_ODObject *somSelf, 
  249.         som3AssignCtrl* ctrl, 
  250.         SOMObject* fromObj);
  251. typedef somTP_M_ODObject_somDefaultAssign *somTD_M_ODObject_somDefaultAssign;
  252. typedef void   SOMLINK somTP_M_ODObject_somDefaultConstCopyInit(M_ODObject *somSelf, 
  253.         som3InitCtrl* ctrl, 
  254.         SOMObject* fromObj);
  255. typedef somTP_M_ODObject_somDefaultConstCopyInit *somTD_M_ODObject_somDefaultConstCopyInit;
  256. typedef void   SOMLINK somTP_M_ODObject_somDefaultVCopyInit(M_ODObject *somSelf, 
  257.         som3InitCtrl* ctrl, 
  258.         SOMObject* fromObj);
  259. typedef somTP_M_ODObject_somDefaultVCopyInit *somTD_M_ODObject_somDefaultVCopyInit;
  260. typedef void   SOMLINK somTP_M_ODObject_somDefaultConstVCopyInit(M_ODObject *somSelf, 
  261.         som3InitCtrl* ctrl, 
  262.         SOMObject* fromObj);
  263. typedef somTP_M_ODObject_somDefaultConstVCopyInit *somTD_M_ODObject_somDefaultConstVCopyInit;
  264. typedef M_ODObject*   SOMLINK somTP_M_ODObject_somDefaultConstAssign(M_ODObject *somSelf, 
  265.         som3AssignCtrl* ctrl, 
  266.         SOMObject* fromObj);
  267. typedef somTP_M_ODObject_somDefaultConstAssign *somTD_M_ODObject_somDefaultConstAssign;
  268. typedef M_ODObject*   SOMLINK somTP_M_ODObject_somDefaultVAssign(M_ODObject *somSelf, 
  269.         som3AssignCtrl* ctrl, 
  270.         SOMObject* fromObj);
  271. typedef somTP_M_ODObject_somDefaultVAssign *somTD_M_ODObject_somDefaultVAssign;
  272. typedef M_ODObject*   SOMLINK somTP_M_ODObject_somDefaultConstVAssign(M_ODObject *somSelf, 
  273.         som3AssignCtrl* ctrl, 
  274.         SOMObject* fromObj);
  275. typedef somTP_M_ODObject_somDefaultConstVAssign *somTD_M_ODObject_somDefaultConstVAssign;
  276. typedef void   SOMLINK somTP_M_ODObject_somInit(M_ODObject *somSelf);
  277. typedef somTP_M_ODObject_somInit *somTD_M_ODObject_somInit;
  278. typedef void   SOMLINK somTP_M_ODObject_somFree(M_ODObject *somSelf);
  279. typedef somTP_M_ODObject_somFree *somTD_M_ODObject_somFree;
  280. typedef void   SOMLINK somTP_M_ODObject_somUninit(M_ODObject *somSelf);
  281. typedef somTP_M_ODObject_somUninit *somTD_M_ODObject_somUninit;
  282. typedef SOMClass*   SOMLINK somTP_M_ODObject_somGetClass(M_ODObject *somSelf);
  283. typedef somTP_M_ODObject_somGetClass *somTD_M_ODObject_somGetClass;
  284. typedef string   SOMLINK somTP_M_ODObject_somGetClassName(M_ODObject *somSelf);
  285. typedef somTP_M_ODObject_somGetClassName *somTD_M_ODObject_somGetClassName;
  286. typedef long   SOMLINK somTP_M_ODObject_somGetSize(M_ODObject *somSelf);
  287. typedef somTP_M_ODObject_somGetSize *somTD_M_ODObject_somGetSize;
  288. typedef boolean   SOMLINK somTP_M_ODObject_somIsA(M_ODObject *somSelf, 
  289.         SOMClass* aClassObj);
  290. typedef somTP_M_ODObject_somIsA *somTD_M_ODObject_somIsA;
  291. typedef boolean   SOMLINK somTP_M_ODObject_somIsInstanceOf(M_ODObject *somSelf, 
  292.         SOMClass* aClassObj);
  293. typedef somTP_M_ODObject_somIsInstanceOf *somTD_M_ODObject_somIsInstanceOf;
  294. typedef boolean   SOMLINK somTP_M_ODObject_somRespondsTo(M_ODObject *somSelf, 
  295.         somId mId);
  296. typedef somTP_M_ODObject_somRespondsTo *somTD_M_ODObject_somRespondsTo;
  297. typedef boolean   SOMLINK somTP_M_ODObject_somDispatch(M_ODObject *somSelf, 
  298.         somToken* retValue, 
  299.         somId methodId, 
  300.         va_list ap);
  301. typedef somTP_M_ODObject_somDispatch *somTD_M_ODObject_somDispatch;
  302. typedef boolean   SOMLINK somTP_M_ODObject_somClassDispatch(M_ODObject *somSelf, 
  303.         SOMClass* clsObj, 
  304.         somToken* retValue, 
  305.         somId methodId, 
  306.         va_list ap);
  307. typedef somTP_M_ODObject_somClassDispatch *somTD_M_ODObject_somClassDispatch;
  308. typedef boolean   SOMLINK somTP_M_ODObject_somCastObj(M_ODObject *somSelf, 
  309.         SOMClass* cls);
  310. typedef somTP_M_ODObject_somCastObj *somTD_M_ODObject_somCastObj;
  311. typedef boolean   SOMLINK somTP_M_ODObject_somResetObj(M_ODObject *somSelf);
  312. typedef somTP_M_ODObject_somResetObj *somTD_M_ODObject_somResetObj;
  313. typedef void   SOMLINK somTP_M_ODObject_somDispatchV(M_ODObject *somSelf, 
  314.         somId methodId, 
  315.         somId descriptor, 
  316.         va_list ap);
  317. typedef somTP_M_ODObject_somDispatchV *somTD_M_ODObject_somDispatchV;
  318. typedef long   SOMLINK somTP_M_ODObject_somDispatchL(M_ODObject *somSelf, 
  319.         somId methodId, 
  320.         somId descriptor, 
  321.         va_list ap);
  322. typedef somTP_M_ODObject_somDispatchL *somTD_M_ODObject_somDispatchL;
  323. typedef void*   SOMLINK somTP_M_ODObject_somDispatchA(M_ODObject *somSelf, 
  324.         somId methodId, 
  325.         somId descriptor, 
  326.         va_list ap);
  327. typedef somTP_M_ODObject_somDispatchA *somTD_M_ODObject_somDispatchA;
  328. typedef double   SOMLINK somTP_M_ODObject_somDispatchD(M_ODObject *somSelf, 
  329.         somId methodId, 
  330.         somId descriptor, 
  331.         va_list ap);
  332. typedef somTP_M_ODObject_somDispatchD *somTD_M_ODObject_somDispatchD;
  333. typedef SOMObject*   SOMLINK somTP_M_ODObject_somPrintSelf(M_ODObject *somSelf);
  334. typedef somTP_M_ODObject_somPrintSelf *somTD_M_ODObject_somPrintSelf;
  335. typedef void   SOMLINK somTP_M_ODObject_somDumpSelf(M_ODObject *somSelf, 
  336.         long level);
  337. typedef somTP_M_ODObject_somDumpSelf *somTD_M_ODObject_somDumpSelf;
  338. typedef void   SOMLINK somTP_M_ODObject_somDumpSelfInt(M_ODObject *somSelf, 
  339.         long level);
  340. typedef somTP_M_ODObject_somDumpSelfInt *somTD_M_ODObject_somDumpSelfInt;
  341. }
  342.  
  343. #endif /* M_ODObject_API */
  344.  
  345.  
  346. /*
  347.  * -- This emitter treats Method Tokens as Thunks by default.
  348.  * -- Use the sc modifier "nothunks" to change this default
  349.  */
  350. #undef somresolve_
  351. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  352.  
  353. /*
  354.  * -- The C++ Wrapper Class for M_ODObject
  355.  */
  356. class M_ODObject : public SOMClass
  357. {
  358. public:
  359.  
  360. // M_ODObject::new creates the class object if necessary, and then uses somNewNoInit
  361. // to allocate memory and create the object. Initialization is in ctors.
  362. void *operator new(size_t)
  363. {
  364.    if (!_M_ODObject) M_ODObjectNewClass(M_ODObject_MajorVersion,M_ODObject_MinorVersion);
  365.    return (void*)
  366.       SOM_Resolve(_M_ODObject,SOMClass,somNewNoInit)
  367.          ((SOMClass *)((void*)_M_ODObject));
  368. }
  369.  
  370. // M_ODObject::delete uses somDestruct.
  371. void operator delete(void * obj)
  372. {
  373.    if (obj && *(void**)obj) {
  374.       SOM_Resolve(obj,SOMObject,somFree)
  375.          ((SOMObject*)obj);
  376.    }
  377. }
  378.  
  379. M_ODObject& operator=(M_ODObject& fromObj)
  380. {
  381.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  382.    return *this;
  383. }
  384.  
  385. M_ODObject()
  386. {
  387.    if (*(void**)this != 
  388.        ((somParentMtabStructPtr)
  389.         (M_ODObjectCClassData.parentMtab))->mtab)
  390.       return;
  391.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  392. }
  393.  
  394. M_ODObject(M_ODObject* fromObj)
  395. {
  396.    if (*(void**)this != 
  397.        ((somParentMtabStructPtr)
  398.         (M_ODObjectCClassData.parentMtab))->mtab)
  399.       return;
  400.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  401. }
  402.  
  403. #ifdef __IBMCPP__
  404. #pragma info(nocnv,nopar)
  405. #endif
  406. M_ODObject(const M_ODObject* fromObj)
  407. {
  408.    if (*(void**)this != 
  409.        ((somParentMtabStructPtr)
  410.         (M_ODObjectCClassData.parentMtab))->mtab)
  411.       return;
  412.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  413. }
  414. #ifdef __IBMCPP__
  415. #pragma info(restore)
  416. #endif
  417.  
  418.  
  419. /*
  420.  * Reintroduce inherited methods
  421.  */
  422.  
  423. /* method: _get_somDataAlignment */
  424. long   _get_somDataAlignment()
  425. {
  426. /*
  427.  * Method from the IDL attribute statement:
  428.  * "readonly attribute long somDataAlignment"
  429.  */
  430.    return SOM_ResolveD(this,M_ODObject,SOMClass,_get_somDataAlignment)
  431.     (this);
  432. }
  433.  
  434.  
  435. /* nonstatic method: _get_somInstanceDataOffsets */
  436. SOMClass_somOffsets   _get_somInstanceDataOffsets()
  437. {
  438. /*
  439.  * Method from the IDL attribute statement:
  440.  * "readonly attribute SOMClass_somOffsets somInstanceDataOffsets"
  441.  */
  442.    return SOM_ResolveD(this,M_ODObject,SOMClass,_get_somInstanceDataOffsets)
  443.     (this);
  444. }
  445.  
  446.  
  447. /* nonstatic method: _get_somDirectInitClasses */
  448. SOMClass_SOMClassSequence   _get_somDirectInitClasses()
  449. {
  450. /*
  451.  * Method from the IDL attribute statement:
  452.  * "readonly attribute SOMClass_SOMClassSequence somDirectInitClasses"
  453.  */
  454.    return SOM_ResolveD(this,M_ODObject,SOMClass,_get_somDirectInitClasses)
  455.     (this);
  456. }
  457.  
  458.  
  459. /* method: somNew */
  460. ODObject*  somNew()
  461. {
  462.    return SOM_ResolveD(this,M_ODObject,SOMClass,somNew)
  463.     (this);
  464. }
  465.  
  466.  
  467. /* method: somNewNoInit */
  468. SOMObject*   somNewNoInit()
  469. {
  470.    return SOM_ResolveD(this,M_ODObject,SOMClass,somNewNoInit)
  471.     (this);
  472. }
  473.  
  474.  
  475. /* method: somRenew */
  476. SOMObject*   somRenew(void* obj)
  477. {
  478.    return SOM_ResolveD(this,M_ODObject,SOMClass,somRenew)
  479.     (this,obj);
  480. }
  481.  
  482.  
  483. /* method: somRenewNoInit */
  484. SOMObject*   somRenewNoInit(void* obj)
  485. {
  486.    return SOM_ResolveD(this,M_ODObject,SOMClass,somRenewNoInit)
  487.     (this,obj);
  488. }
  489.  
  490.  
  491. /* method: somRenewNoZero */
  492. SOMObject*   somRenewNoZero(void* obj)
  493. {
  494.    return SOM_ResolveD(this,M_ODObject,SOMClass,somRenewNoZero)
  495.     (this,obj);
  496. }
  497.  
  498.  
  499. /* method: somRenewNoInitNoZero */
  500. SOMObject*   somRenewNoInitNoZero(void* obj)
  501. {
  502.    return SOM_ResolveD(this,M_ODObject,SOMClass,somRenewNoInitNoZero)
  503.     (this,obj);
  504. }
  505.  
  506.  
  507. /* nonstatic method: somAllocate */
  508. somToken   somAllocate(long size)
  509. {
  510.    return SOM_ResolveD(this,M_ODObject,SOMClass,somAllocate)
  511.     (this,size);
  512. }
  513.  
  514.  
  515. /* nonstatic method: somDeallocate */
  516. void   somDeallocate(somToken memptr)
  517. {
  518.    SOM_ResolveD(this,M_ODObject,SOMClass,somDeallocate)
  519.     (this,memptr);
  520. }
  521.  
  522.  
  523. /* method: somInitClass */
  524. void   somInitClass(string className, 
  525.         SOMClass* parentClass, 
  526.         long dataSize, 
  527.         long maxStaticMethods, 
  528.         long majorVersion, 
  529.         long minorVersion)
  530. {
  531.    SOM_ResolveD(this,M_ODObject,SOMClass,somInitClass)
  532.     (this,className,parentClass,dataSize,maxStaticMethods,majorVersion,minorVersion);
  533. }
  534.  
  535.  
  536. /* method: somInitMIClass */
  537. void   somInitMIClass(long inherit_vars, 
  538.         string className, 
  539.         SOMClass_SOMClassSequence* parentClasses, 
  540.         long dataSize, 
  541.         long dataAlignment, 
  542.         long maxStaticMethods, 
  543.         long majorVersion, 
  544.         long minorVersion)
  545. {
  546.    SOM_ResolveD(this,M_ODObject,SOMClass,somInitMIClass)
  547.     (this,inherit_vars,className,parentClasses,dataSize,dataAlignment,maxStaticMethods,majorVersion,minorVersion);
  548. }
  549.  
  550.  
  551. /* method: somAddStaticMethod */
  552. somMToken   somAddStaticMethod(somId methodId, 
  553.         somId methodDescriptor, 
  554.         somMethodPtr method, 
  555.         somMethodPtr redispatchStub, 
  556.         somMethodPtr applyStub)
  557. {
  558.    return SOM_ResolveD(this,M_ODObject,SOMClass,somAddStaticMethod)
  559.     (this,methodId,methodDescriptor,method,redispatchStub,applyStub);
  560. }
  561.  
  562.  
  563. /* method: somAddDynamicMethod */
  564. void   somAddDynamicMethod(somId methodId, 
  565.         somId methodDescriptor, 
  566.         somMethodPtr method, 
  567.         somMethodPtr applyStub)
  568. {
  569.    SOM_ResolveD(this,M_ODObject,SOMClass,somAddDynamicMethod)
  570.     (this,methodId,methodDescriptor,method,applyStub);
  571. }
  572.  
  573.  
  574. /* method: somOverrideSMethod */
  575. void   somOverrideSMethod(somId methodId, 
  576.         somMethodPtr method)
  577. {
  578.    SOM_ResolveD(this,M_ODObject,SOMClass,somOverrideSMethod)
  579.     (this,methodId,method);
  580. }
  581.  
  582.  
  583. /* method: somClassReady */
  584. void   somClassReady()
  585. {
  586.    SOM_ResolveD(this,M_ODObject,SOMClass,somClassReady)
  587.     (this);
  588. }
  589.  
  590.  
  591. /* method: somGetApplyStub */
  592. somMethodPtr   somGetApplyStub(somId methodId)
  593. {
  594.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetApplyStub)
  595.     (this,methodId);
  596. }
  597.  
  598.  
  599. /* method: somGetClassData */
  600. somClassDataStructure*   somGetClassData()
  601. {
  602.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetClassData)
  603.     (this);
  604. }
  605.  
  606.  
  607. /* method: somSetClassData */
  608. void   somSetClassData(somClassDataStructure* cds)
  609. {
  610.    SOM_ResolveD(this,M_ODObject,SOMClass,somSetClassData)
  611.     (this,cds);
  612. }
  613.  
  614.  
  615. /* method: somGetClassMtab */
  616. somMethodTab*   somGetClassMtab()
  617. {
  618.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetClassMtab)
  619.     (this);
  620. }
  621.  
  622.  
  623. /* method: somGetInstanceOffset */
  624. long   somGetInstanceOffset()
  625. {
  626.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetInstanceOffset)
  627.     (this);
  628. }
  629.  
  630.  
  631. /* method: somGetInstancePartSize */
  632. long   somGetInstancePartSize()
  633. {
  634.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetInstancePartSize)
  635.     (this);
  636. }
  637.  
  638.  
  639. /* method: somGetInstanceSize */
  640. long   somGetInstanceSize()
  641. {
  642.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetInstanceSize)
  643.     (this);
  644. }
  645.  
  646.  
  647. /* method: somGetInstanceToken */
  648. somDToken   somGetInstanceToken()
  649. {
  650.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetInstanceToken)
  651.     (this);
  652. }
  653.  
  654.  
  655. /* method: somGetMemberToken */
  656. somDToken   somGetMemberToken(long memberOffset, 
  657.         somDToken instanceToken)
  658. {
  659.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetMemberToken)
  660.     (this,memberOffset,instanceToken);
  661. }
  662.  
  663.  
  664. /* method: somGetMethodData */
  665. boolean   somGetMethodData(somId methodId, 
  666.         somMethodData* md)
  667. {
  668.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetMethodData)
  669.     (this,methodId,md);
  670. }
  671.  
  672.  
  673. /* method: somGetRdStub */
  674. somMethodProc*   somGetRdStub(somId methodId)
  675. {
  676.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetRdStub)
  677.     (this,methodId);
  678. }
  679.  
  680.  
  681. /* method: somGetMethodDescriptor */
  682. somId   somGetMethodDescriptor(somId methodId)
  683. {
  684.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetMethodDescriptor)
  685.     (this,methodId);
  686. }
  687.  
  688.  
  689. /* method: somGetMethodIndex */
  690. long   somGetMethodIndex(somId id)
  691. {
  692.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetMethodIndex)
  693.     (this,id);
  694. }
  695.  
  696.  
  697. /* method: somGetMethodToken */
  698. somMToken   somGetMethodToken(somId methodId)
  699. {
  700.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetMethodToken)
  701.     (this,methodId);
  702. }
  703.  
  704.  
  705. /* method: somGetName */
  706. string   somGetName()
  707. {
  708.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetName)
  709.     (this);
  710. }
  711.  
  712.  
  713. /* method: somGetNthMethodData */
  714. boolean   somGetNthMethodData(long n, 
  715.         somMethodData* md)
  716. {
  717.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetNthMethodData)
  718.     (this,n,md);
  719. }
  720.  
  721.  
  722. /* method: somGetNthMethodInfo */
  723. somId   somGetNthMethodInfo(long n, 
  724.         somId* descriptor)
  725. {
  726.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetNthMethodInfo)
  727.     (this,n,descriptor);
  728. }
  729.  
  730.  
  731. /* method: somGetNumMethods */
  732. long   somGetNumMethods()
  733. {
  734.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetNumMethods)
  735.     (this);
  736. }
  737.  
  738.  
  739. /* method: somGetNumStaticMethods */
  740. long   somGetNumStaticMethods()
  741. {
  742.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetNumStaticMethods)
  743.     (this);
  744. }
  745.  
  746.  
  747. /* method: somGetParent */
  748. SOMClass*   somGetParent()
  749. {
  750.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetParent)
  751.     (this);
  752. }
  753.  
  754.  
  755. /* method: somGetParents */
  756. SOMClass_SOMClassSequence   somGetParents()
  757. {
  758.    return SOM_ResolveD(this,M_ODObject,SOMClass,somGetParents)
  759.     (this);
  760. }
  761.  
  762.  
  763. /* method: somGetVersionNumbers */
  764. void   somGetVersionNumbers(long* majorVersion, 
  765.         long* minorVersion)
  766. {
  767.    SOM_ResolveD(this,M_ODObject,SOMClass,somGetVersionNumbers)
  768.     (this,majorVersion,minorVersion);
  769. }
  770.  
  771.  
  772. /* method: somFindMethod */
  773. boolean   somFindMethod(somId methodId, 
  774.         somMethodPtr* m)
  775. {
  776.    return SOM_ResolveD(this,M_ODObject,SOMClass,somFindMethod)
  777.     (this,methodId,m);
  778. }
  779.  
  780.  
  781. /* method: somFindMethodOk */
  782. boolean   somFindMethodOk(somId methodId, 
  783.         somMethodPtr* m)
  784. {
  785.    return SOM_ResolveD(this,M_ODObject,SOMClass,somFindMethodOk)
  786.     (this,methodId,m);
  787. }
  788.  
  789.  
  790. /* method: somFindSMethod */
  791. somMethodPtr   somFindSMethod(somId methodId)
  792. {
  793.    return SOM_ResolveD(this,M_ODObject,SOMClass,somFindSMethod)
  794.     (this,methodId);
  795. }
  796.  
  797.  
  798. /* method: somFindSMethodOk */
  799. somMethodPtr   somFindSMethodOk(somId methodId)
  800. {
  801.    return SOM_ResolveD(this,M_ODObject,SOMClass,somFindSMethodOk)
  802.     (this,methodId);
  803. }
  804.  
  805.  
  806. /* method: somLookupMethod */
  807. somMethodPtr   somLookupMethod(somId methodId)
  808. {
  809.    return SOM_ResolveD(this,M_ODObject,SOMClass,somLookupMethod)
  810.     (this,methodId);
  811. }
  812.  
  813.  
  814. /* method: somCheckVersion */
  815. boolean   somCheckVersion(long majorVersion, 
  816.         long minorVersion)
  817. {
  818.    return SOM_ResolveD(this,M_ODObject,SOMClass,somCheckVersion)
  819.     (this,majorVersion,minorVersion);
  820. }
  821.  
  822.  
  823. /* method: somDescendedFrom */
  824. boolean   somDescendedFrom(SOMClass* aClassObj)
  825. {
  826.    return SOM_ResolveD(this,M_ODObject,SOMClass,somDescendedFrom)
  827.     (this,aClassObj);
  828. }
  829.  
  830.  
  831. /* method: somSupportsMethod */
  832. boolean   somSupportsMethod(somId mId)
  833. {
  834.    return SOM_ResolveD(this,M_ODObject,SOMClass,somSupportsMethod)
  835.     (this,mId);
  836. }
  837.  
  838.  
  839. /* method: somDefinedMethod */
  840. somMethodPtr   somDefinedMethod(somMToken method)
  841. {
  842.    return SOM_ResolveD(this,M_ODObject,SOMClass,somDefinedMethod)
  843.     (this,method);
  844. }
  845.  
  846.  
  847. /* method: somOverrideMtab */
  848. void   somOverrideMtab()
  849. {
  850.    SOM_ResolveD(this,M_ODObject,SOMClass,somOverrideMtab)
  851.     (this);
  852. }
  853.  
  854.  
  855. /* initializer method: somDefaultInit */
  856. void   somDefaultInit(som3InitCtrl* ctrl)
  857. {
  858.    SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultInit)
  859.     (this,ctrl);
  860. }
  861.  
  862.  
  863. /* method: somDestruct */
  864. void   somDestruct(octet doFree, 
  865.         som3DestructCtrl* ctrl)
  866. {
  867.    SOM_ResolveD(this,M_ODObject,SOMObject,somDestruct)
  868.     (this,doFree,ctrl);
  869. }
  870.  
  871.  
  872. /* initializer method: somDefaultCopyInit */
  873. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  874.         SOMObject* fromObj)
  875. {
  876.    SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultCopyInit)
  877.     (this,ctrl,fromObj);
  878. }
  879.  
  880.  
  881. /* method: somDefaultAssign */
  882. M_ODObject*  somDefaultAssign(som3AssignCtrl* ctrl, 
  883.         SOMObject* fromObj)
  884. {
  885.    return SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultAssign)
  886.     (this,ctrl,fromObj);
  887. }
  888.  
  889.  
  890. /* initializer method: somDefaultConstCopyInit */
  891. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  892.         SOMObject* fromObj)
  893. {
  894.    SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultConstCopyInit)
  895.     (this,ctrl,fromObj);
  896. }
  897.  
  898.  
  899. /* initializer method: somDefaultVCopyInit */
  900. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  901.         SOMObject* fromObj)
  902. {
  903.    SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultVCopyInit)
  904.     (this,ctrl,fromObj);
  905. }
  906.  
  907.  
  908. /* initializer method: somDefaultConstVCopyInit */
  909. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  910.         SOMObject* fromObj)
  911. {
  912.    SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultConstVCopyInit)
  913.     (this,ctrl,fromObj);
  914. }
  915.  
  916.  
  917. /* method: somDefaultConstAssign */
  918. M_ODObject*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  919.         SOMObject* fromObj)
  920. {
  921.    return SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultConstAssign)
  922.     (this,ctrl,fromObj);
  923. }
  924.  
  925.  
  926. /* method: somDefaultVAssign */
  927. M_ODObject*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  928.         SOMObject* fromObj)
  929. {
  930.    return SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultVAssign)
  931.     (this,ctrl,fromObj);
  932. }
  933.  
  934.  
  935. /* method: somDefaultConstVAssign */
  936. M_ODObject*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  937.         SOMObject* fromObj)
  938. {
  939.    return SOM_ResolveD(this,M_ODObject,SOMObject,somDefaultConstVAssign)
  940.     (this,ctrl,fromObj);
  941. }
  942.  
  943.  
  944. /* method: somInit */
  945. void   somInit()
  946. {
  947.    SOM_ResolveD(this,M_ODObject,SOMObject,somInit)
  948.     (this);
  949. }
  950.  
  951.  
  952. /* method: somFree */
  953. void   somFree()
  954. {
  955.    SOM_ResolveD(this,M_ODObject,SOMObject,somFree)
  956.     (this);
  957. }
  958.  
  959.  
  960. /* method: somUninit */
  961. void   somUninit()
  962. {
  963.    SOM_ResolveD(this,M_ODObject,SOMObject,somUninit)
  964.     (this);
  965. }
  966.  
  967.  
  968. /* method: somGetClass */
  969. SOMClass*   somGetClass()
  970. {
  971.    return SOM_ResolveD(this,M_ODObject,SOMObject,somGetClass)
  972.     (this);
  973. }
  974.  
  975.  
  976. /* method: somGetClassName */
  977. string   somGetClassName()
  978. {
  979.    return SOM_ResolveD(this,M_ODObject,SOMObject,somGetClassName)
  980.     (this);
  981. }
  982.  
  983.  
  984. /* method: somGetSize */
  985. long   somGetSize()
  986. {
  987.    return SOM_ResolveD(this,M_ODObject,SOMObject,somGetSize)
  988.     (this);
  989. }
  990.  
  991.  
  992. /* method: somIsA */
  993. boolean   somIsA(SOMClass* aClassObj)
  994. {
  995.    return SOM_ResolveD(this,M_ODObject,SOMObject,somIsA)
  996.     (this,aClassObj);
  997. }
  998.  
  999.  
  1000. /* method: somIsInstanceOf */
  1001. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1002. {
  1003.    return SOM_ResolveD(this,M_ODObject,SOMObject,somIsInstanceOf)
  1004.     (this,aClassObj);
  1005. }
  1006.  
  1007.  
  1008. /* method: somRespondsTo */
  1009. boolean   somRespondsTo(somId mId)
  1010. {
  1011.    return SOM_ResolveD(this,M_ODObject,SOMObject,somRespondsTo)
  1012.     (this,mId);
  1013. }
  1014.  
  1015.  
  1016. /* va_list method: somDispatch */
  1017.  
  1018. /* the va_list invocation form */
  1019. boolean   M_ODObject_somDispatch(somToken* retValue, 
  1020.         somId methodId, 
  1021.         va_list ap)
  1022. {return SOM_ResolveD(this,M_ODObject,SOMObject,somDispatch)
  1023.     (this,retValue,methodId,ap);
  1024. }
  1025.  
  1026. /* the varargs invocation form */
  1027. boolean   somDispatch(somToken* retValue, 
  1028.         somId methodId, 
  1029.         ...)
  1030. {
  1031.    va_list ap;
  1032.    va_start(ap, methodId);
  1033.    boolean __somResult = 
  1034.       SOM_ResolveD(this,M_ODObject,SOMObject,somDispatch)
  1035.     (this,retValue,methodId,ap);
  1036.    va_end(ap);
  1037.    return __somResult;
  1038. }
  1039.  
  1040.  
  1041. /* va_list method: somClassDispatch */
  1042.  
  1043. /* the va_list invocation form */
  1044. boolean   M_ODObject_somClassDispatch(SOMClass* clsObj, 
  1045.         somToken* retValue, 
  1046.         somId methodId, 
  1047.         va_list ap)
  1048. {return SOM_ResolveD(this,M_ODObject,SOMObject,somClassDispatch)
  1049.     (this,clsObj,retValue,methodId,ap);
  1050. }
  1051.  
  1052. /* the varargs invocation form */
  1053. boolean   somClassDispatch(SOMClass* clsObj, 
  1054.         somToken* retValue, 
  1055.         somId methodId, 
  1056.         ...)
  1057. {
  1058.    va_list ap;
  1059.    va_start(ap, methodId);
  1060.    boolean __somResult = 
  1061.       SOM_ResolveD(this,M_ODObject,SOMObject,somClassDispatch)
  1062.     (this,clsObj,retValue,methodId,ap);
  1063.    va_end(ap);
  1064.    return __somResult;
  1065. }
  1066.  
  1067.  
  1068. /* method: somCastObj */
  1069. boolean   somCastObj(SOMClass* cls)
  1070. {
  1071.    return SOM_ResolveD(this,M_ODObject,SOMObject,somCastObj)
  1072.     (this,cls);
  1073. }
  1074.  
  1075.  
  1076. /* method: somResetObj */
  1077. boolean   somResetObj()
  1078. {
  1079.    return SOM_ResolveD(this,M_ODObject,SOMObject,somResetObj)
  1080.     (this);
  1081. }
  1082.  
  1083.  
  1084. /* va_list method: somDispatchV */
  1085.  
  1086. /* the va_list invocation form */
  1087. void   M_ODObject_somDispatchV(somId methodId, 
  1088.         somId descriptor, 
  1089.         va_list ap)
  1090. {   SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchV)
  1091.     (this,methodId,descriptor,ap);
  1092. }
  1093.  
  1094. /* the varargs invocation form */
  1095. void   somDispatchV(somId methodId, 
  1096.         somId descriptor, 
  1097.         ...)
  1098. {
  1099.    va_list ap;
  1100.    va_start(ap, descriptor);
  1101.    SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchV)
  1102.     (this,methodId,descriptor,ap);
  1103.    va_end(ap);
  1104. }
  1105.  
  1106.  
  1107. /* va_list method: somDispatchL */
  1108.  
  1109. /* the va_list invocation form */
  1110. long   M_ODObject_somDispatchL(somId methodId, 
  1111.         somId descriptor, 
  1112.         va_list ap)
  1113. {return SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchL)
  1114.     (this,methodId,descriptor,ap);
  1115. }
  1116.  
  1117. /* the varargs invocation form */
  1118. long   somDispatchL(somId methodId, 
  1119.         somId descriptor, 
  1120.         ...)
  1121. {
  1122.    va_list ap;
  1123.    va_start(ap, descriptor);
  1124.    long __somResult = 
  1125.       SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchL)
  1126.     (this,methodId,descriptor,ap);
  1127.    va_end(ap);
  1128.    return __somResult;
  1129. }
  1130.  
  1131.  
  1132. /* va_list method: somDispatchA */
  1133.  
  1134. /* the va_list invocation form */
  1135. void*   M_ODObject_somDispatchA(somId methodId, 
  1136.         somId descriptor, 
  1137.         va_list ap)
  1138. {return SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchA)
  1139.     (this,methodId,descriptor,ap);
  1140. }
  1141.  
  1142. /* the varargs invocation form */
  1143. void*   somDispatchA(somId methodId, 
  1144.         somId descriptor, 
  1145.         ...)
  1146. {
  1147.    va_list ap;
  1148.    va_start(ap, descriptor);
  1149.    void* __somResult = 
  1150.       SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchA)
  1151.     (this,methodId,descriptor,ap);
  1152.    va_end(ap);
  1153.    return __somResult;
  1154. }
  1155.  
  1156.  
  1157. /* va_list method: somDispatchD */
  1158.  
  1159. /* the va_list invocation form */
  1160. double   M_ODObject_somDispatchD(somId methodId, 
  1161.         somId descriptor, 
  1162.         va_list ap)
  1163. {return SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchD)
  1164.     (this,methodId,descriptor,ap);
  1165. }
  1166.  
  1167. /* the varargs invocation form */
  1168. double   somDispatchD(somId methodId, 
  1169.         somId descriptor, 
  1170.         ...)
  1171. {
  1172.    va_list ap;
  1173.    va_start(ap, descriptor);
  1174.    double __somResult = 
  1175.       SOM_ResolveD(this,M_ODObject,SOMObject,somDispatchD)
  1176.     (this,methodId,descriptor,ap);
  1177.    va_end(ap);
  1178.    return __somResult;
  1179. }
  1180.  
  1181.  
  1182. /* method: somPrintSelf */
  1183. SOMObject*   somPrintSelf()
  1184. {
  1185.    return SOM_ResolveD(this,M_ODObject,SOMObject,somPrintSelf)
  1186.     (this);
  1187. }
  1188.  
  1189.  
  1190. /* method: somDumpSelf */
  1191. void   somDumpSelf(long level)
  1192. {
  1193.    SOM_ResolveD(this,M_ODObject,SOMObject,somDumpSelf)
  1194.     (this,level);
  1195. }
  1196.  
  1197.  
  1198. /* method: somDumpSelfInt */
  1199. void   somDumpSelfInt(long level)
  1200. {
  1201.    SOM_ResolveD(this,M_ODObject,SOMObject,somDumpSelfInt)
  1202.     (this,level);
  1203. }
  1204.  
  1205.  
  1206.  
  1207. };   /* M_ODObject */
  1208.  
  1209.  
  1210.  
  1211. #endif       /* SOM_M_ODObject_xh */
  1212.  
  1213. #ifndef SOM_ODObject_xh
  1214. #define SOM_ODObject_xh
  1215.  
  1216. class ODObject;
  1217.  
  1218. #define ODObject_MajorVersion 1
  1219. #define ODObject_MinorVersion 0
  1220.  
  1221. /*
  1222.  * Passthru lines: File: "C.xh", "before"
  1223.  */
  1224.  
  1225. #include <ODTypes.h>
  1226.  
  1227.  
  1228.  
  1229. /* C++ SOM defs */
  1230. #include <somcls.xh>
  1231. #include <somcm.xh>
  1232.  
  1233. /* C++ parent defs */
  1234. #ifndef SOM_SOMObject_xh
  1235. #include <somobj.xh>
  1236. #endif
  1237.  
  1238. #ifndef ODObject_API
  1239. #define ODObject_API
  1240. /*
  1241.  * -- The Class API
  1242.  */
  1243.  
  1244. /*
  1245.  * Start of bindings for IDL types
  1246.  */
  1247.  
  1248.  
  1249. /*
  1250.  * End of bindings for IDL types.
  1251.  */
  1252.  
  1253. /* A procedure to create the ODObject Class */
  1254. class M_ODObject;
  1255. SOMEXTERN M_ODObject * SOMLINK ODObjectNewClass(
  1256.         integer4 majorVersion,
  1257.         integer4 minorVersion);
  1258.  
  1259. /* The API to the ODObject class object, and the methods it introduces. */
  1260. SOMEXTERN struct ODObjectClassDataStructure {
  1261.     M_ODObject *classObject;
  1262.     somMToken InitObject;
  1263.     somMToken HasExtension;
  1264.     somMToken AcquireExtension;
  1265.     somMToken ReleaseExtension;
  1266.     somMToken Purge;
  1267.     somMToken IsEqualTo;
  1268.     somMToken SubClassResponsibility;
  1269. } SOMDLINK ODObjectClassData;
  1270. #define _ODObject ODObjectClassData.classObject
  1271.  
  1272. /* The API to parentMtabs for ODObject, and the instance data it introduces. */
  1273. SOMEXTERN struct ODObjectCClassDataStructure {
  1274.     somMethodTabs parentMtab;
  1275.     somDToken              instanceDataToken;
  1276. } SOMDLINK ODObjectCClassData;
  1277.  
  1278. /*
  1279.  * -- Typedefs for ODObject Method Procedures
  1280.  */
  1281. SOMEXTERN {
  1282. typedef void   SOMLINK somTP_ODObject_InitObject(ODObject *somSelf, Environment *ev);
  1283. typedef somTP_ODObject_InitObject *somTD_ODObject_InitObject;
  1284. typedef ODBoolean   SOMLINK somTP_ODObject_HasExtension(ODObject *somSelf, Environment *ev, 
  1285.         ODType extensionName);
  1286. typedef somTP_ODObject_HasExtension *somTD_ODObject_HasExtension;
  1287. typedef ODExtension*   SOMLINK somTP_ODObject_AcquireExtension(ODObject *somSelf, Environment *ev, 
  1288.         ODType extensionName);
  1289. typedef somTP_ODObject_AcquireExtension *somTD_ODObject_AcquireExtension;
  1290. typedef void   SOMLINK somTP_ODObject_ReleaseExtension(ODObject *somSelf, Environment *ev, 
  1291.         ODExtension* extension);
  1292. typedef somTP_ODObject_ReleaseExtension *somTD_ODObject_ReleaseExtension;
  1293. typedef ODSize   SOMLINK somTP_ODObject_Purge(ODObject *somSelf, Environment *ev, 
  1294.         ODSize size);
  1295. typedef somTP_ODObject_Purge *somTD_ODObject_Purge;
  1296. typedef ODBoolean   SOMLINK somTP_ODObject_IsEqualTo(ODObject *somSelf, Environment *ev, 
  1297.         ODObject* object);
  1298. typedef somTP_ODObject_IsEqualTo *somTD_ODObject_IsEqualTo;
  1299. typedef void   SOMLINK somTP_ODObject_SubClassResponsibility(ODObject *somSelf, Environment *ev);
  1300. typedef somTP_ODObject_SubClassResponsibility *somTD_ODObject_SubClassResponsibility;
  1301.  
  1302. /*
  1303.  * -- Typedefs for Reintroduced Wrapper Methods
  1304.  */
  1305. typedef void   SOMLINK somTP_ODObject_somDefaultInit(ODObject *somSelf, 
  1306.         som3InitCtrl* ctrl);
  1307. typedef somTP_ODObject_somDefaultInit *somTD_ODObject_somDefaultInit;
  1308. typedef void   SOMLINK somTP_ODObject_somDestruct(ODObject *somSelf, 
  1309.         octet doFree, 
  1310.         som3DestructCtrl* ctrl);
  1311. typedef somTP_ODObject_somDestruct *somTD_ODObject_somDestruct;
  1312. typedef void   SOMLINK somTP_ODObject_somDefaultCopyInit(ODObject *somSelf, 
  1313.         som3InitCtrl* ctrl, 
  1314.         SOMObject* fromObj);
  1315. typedef somTP_ODObject_somDefaultCopyInit *somTD_ODObject_somDefaultCopyInit;
  1316. typedef ODObject*   SOMLINK somTP_ODObject_somDefaultAssign(ODObject *somSelf, 
  1317.         som3AssignCtrl* ctrl, 
  1318.         SOMObject* fromObj);
  1319. typedef somTP_ODObject_somDefaultAssign *somTD_ODObject_somDefaultAssign;
  1320. typedef void   SOMLINK somTP_ODObject_somDefaultConstCopyInit(ODObject *somSelf, 
  1321.         som3InitCtrl* ctrl, 
  1322.         SOMObject* fromObj);
  1323. typedef somTP_ODObject_somDefaultConstCopyInit *somTD_ODObject_somDefaultConstCopyInit;
  1324. typedef void   SOMLINK somTP_ODObject_somDefaultVCopyInit(ODObject *somSelf, 
  1325.         som3InitCtrl* ctrl, 
  1326.         SOMObject* fromObj);
  1327. typedef somTP_ODObject_somDefaultVCopyInit *somTD_ODObject_somDefaultVCopyInit;
  1328. typedef void   SOMLINK somTP_ODObject_somDefaultConstVCopyInit(ODObject *somSelf, 
  1329.         som3InitCtrl* ctrl, 
  1330.         SOMObject* fromObj);
  1331. typedef somTP_ODObject_somDefaultConstVCopyInit *somTD_ODObject_somDefaultConstVCopyInit;
  1332. typedef ODObject*   SOMLINK somTP_ODObject_somDefaultConstAssign(ODObject *somSelf, 
  1333.         som3AssignCtrl* ctrl, 
  1334.         SOMObject* fromObj);
  1335. typedef somTP_ODObject_somDefaultConstAssign *somTD_ODObject_somDefaultConstAssign;
  1336. typedef ODObject*   SOMLINK somTP_ODObject_somDefaultVAssign(ODObject *somSelf, 
  1337.         som3AssignCtrl* ctrl, 
  1338.         SOMObject* fromObj);
  1339. typedef somTP_ODObject_somDefaultVAssign *somTD_ODObject_somDefaultVAssign;
  1340. typedef ODObject*   SOMLINK somTP_ODObject_somDefaultConstVAssign(ODObject *somSelf, 
  1341.         som3AssignCtrl* ctrl, 
  1342.         SOMObject* fromObj);
  1343. typedef somTP_ODObject_somDefaultConstVAssign *somTD_ODObject_somDefaultConstVAssign;
  1344. typedef void   SOMLINK somTP_ODObject_somInit(ODObject *somSelf);
  1345. typedef somTP_ODObject_somInit *somTD_ODObject_somInit;
  1346. typedef void   SOMLINK somTP_ODObject_somFree(ODObject *somSelf);
  1347. typedef somTP_ODObject_somFree *somTD_ODObject_somFree;
  1348. typedef void   SOMLINK somTP_ODObject_somUninit(ODObject *somSelf);
  1349. typedef somTP_ODObject_somUninit *somTD_ODObject_somUninit;
  1350. typedef M_ODObject*   SOMLINK somTP_ODObject_somGetClass(ODObject *somSelf);
  1351. typedef somTP_ODObject_somGetClass *somTD_ODObject_somGetClass;
  1352. typedef string   SOMLINK somTP_ODObject_somGetClassName(ODObject *somSelf);
  1353. typedef somTP_ODObject_somGetClassName *somTD_ODObject_somGetClassName;
  1354. typedef long   SOMLINK somTP_ODObject_somGetSize(ODObject *somSelf);
  1355. typedef somTP_ODObject_somGetSize *somTD_ODObject_somGetSize;
  1356. typedef boolean   SOMLINK somTP_ODObject_somIsA(ODObject *somSelf, 
  1357.         SOMClass* aClassObj);
  1358. typedef somTP_ODObject_somIsA *somTD_ODObject_somIsA;
  1359. typedef boolean   SOMLINK somTP_ODObject_somIsInstanceOf(ODObject *somSelf, 
  1360.         SOMClass* aClassObj);
  1361. typedef somTP_ODObject_somIsInstanceOf *somTD_ODObject_somIsInstanceOf;
  1362. typedef boolean   SOMLINK somTP_ODObject_somRespondsTo(ODObject *somSelf, 
  1363.         somId mId);
  1364. typedef somTP_ODObject_somRespondsTo *somTD_ODObject_somRespondsTo;
  1365. typedef boolean   SOMLINK somTP_ODObject_somDispatch(ODObject *somSelf, 
  1366.         somToken* retValue, 
  1367.         somId methodId, 
  1368.         va_list ap);
  1369. typedef somTP_ODObject_somDispatch *somTD_ODObject_somDispatch;
  1370. typedef boolean   SOMLINK somTP_ODObject_somClassDispatch(ODObject *somSelf, 
  1371.         SOMClass* clsObj, 
  1372.         somToken* retValue, 
  1373.         somId methodId, 
  1374.         va_list ap);
  1375. typedef somTP_ODObject_somClassDispatch *somTD_ODObject_somClassDispatch;
  1376. typedef boolean   SOMLINK somTP_ODObject_somCastObj(ODObject *somSelf, 
  1377.         SOMClass* cls);
  1378. typedef somTP_ODObject_somCastObj *somTD_ODObject_somCastObj;
  1379. typedef boolean   SOMLINK somTP_ODObject_somResetObj(ODObject *somSelf);
  1380. typedef somTP_ODObject_somResetObj *somTD_ODObject_somResetObj;
  1381. typedef void   SOMLINK somTP_ODObject_somDispatchV(ODObject *somSelf, 
  1382.         somId methodId, 
  1383.         somId descriptor, 
  1384.         va_list ap);
  1385. typedef somTP_ODObject_somDispatchV *somTD_ODObject_somDispatchV;
  1386. typedef long   SOMLINK somTP_ODObject_somDispatchL(ODObject *somSelf, 
  1387.         somId methodId, 
  1388.         somId descriptor, 
  1389.         va_list ap);
  1390. typedef somTP_ODObject_somDispatchL *somTD_ODObject_somDispatchL;
  1391. typedef void*   SOMLINK somTP_ODObject_somDispatchA(ODObject *somSelf, 
  1392.         somId methodId, 
  1393.         somId descriptor, 
  1394.         va_list ap);
  1395. typedef somTP_ODObject_somDispatchA *somTD_ODObject_somDispatchA;
  1396. typedef double   SOMLINK somTP_ODObject_somDispatchD(ODObject *somSelf, 
  1397.         somId methodId, 
  1398.         somId descriptor, 
  1399.         va_list ap);
  1400. typedef somTP_ODObject_somDispatchD *somTD_ODObject_somDispatchD;
  1401. typedef SOMObject*   SOMLINK somTP_ODObject_somPrintSelf(ODObject *somSelf);
  1402. typedef somTP_ODObject_somPrintSelf *somTD_ODObject_somPrintSelf;
  1403. typedef void   SOMLINK somTP_ODObject_somDumpSelf(ODObject *somSelf, 
  1404.         long level);
  1405. typedef somTP_ODObject_somDumpSelf *somTD_ODObject_somDumpSelf;
  1406. typedef void   SOMLINK somTP_ODObject_somDumpSelfInt(ODObject *somSelf, 
  1407.         long level);
  1408. typedef somTP_ODObject_somDumpSelfInt *somTD_ODObject_somDumpSelfInt;
  1409. }
  1410.  
  1411. #endif /* ODObject_API */
  1412.  
  1413.  
  1414. /*
  1415.  * -- This emitter treats Method Tokens as Thunks by default.
  1416.  * -- Use the sc modifier "nothunks" to change this default
  1417.  */
  1418. #undef somresolve_
  1419. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  1420.  
  1421. /*
  1422.  * -- The C++ Wrapper Class for ODObject
  1423.  */
  1424. class ODObject : public SOMObject
  1425. {
  1426. public:
  1427.  
  1428. // ODObject::new creates the class object if necessary, and then uses somNewNoInit
  1429. // to allocate memory and create the object. Initialization is in ctors.
  1430. void *operator new(size_t)
  1431. {
  1432.    if (!_ODObject) ODObjectNewClass(ODObject_MajorVersion,ODObject_MinorVersion);
  1433.    return (void*)
  1434.       SOM_Resolve(_ODObject,SOMClass,somNewNoInit)
  1435.          ((SOMClass *)((void*)_ODObject));
  1436. }
  1437.  
  1438. // ODObject::delete uses somDestruct.
  1439. void operator delete(void * obj)
  1440. {
  1441.    if (obj && *(void**)obj) {
  1442.       SOM_Resolve(obj,SOMObject,somFree)
  1443.          ((SOMObject*)obj);
  1444.    }
  1445. }
  1446.  
  1447. ODObject& operator=(ODObject& fromObj)
  1448. {
  1449.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  1450.    return *this;
  1451. }
  1452.  
  1453. ODObject()
  1454. {
  1455.    if (*(void**)this != 
  1456.        ((somParentMtabStructPtr)
  1457.         (ODObjectCClassData.parentMtab))->mtab)
  1458.       return;
  1459.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  1460. }
  1461.  
  1462. ODObject(ODObject* fromObj)
  1463. {
  1464.    if (*(void**)this != 
  1465.        ((somParentMtabStructPtr)
  1466.         (ODObjectCClassData.parentMtab))->mtab)
  1467.       return;
  1468.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  1469. }
  1470.  
  1471. #ifdef __IBMCPP__
  1472. #pragma info(nocnv,nopar)
  1473. #endif
  1474. ODObject(const ODObject* fromObj)
  1475. {
  1476.    if (*(void**)this != 
  1477.        ((somParentMtabStructPtr)
  1478.         (ODObjectCClassData.parentMtab))->mtab)
  1479.       return;
  1480.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  1481. }
  1482. #ifdef __IBMCPP__
  1483. #pragma info(restore)
  1484. #endif
  1485.  
  1486.  
  1487. /* method: InitObject */
  1488. void   InitObject(Environment *ev)
  1489. {
  1490.    SOM_ResolveD(this,ODObject,ODObject,InitObject)
  1491.     (this, ev);
  1492. #ifdef SOMCHKEXCEPT
  1493.    if ( ev->_major != NO_EXCEPTION )
  1494.       SOMCHKEXCEPT;
  1495. #endif
  1496. }
  1497.  
  1498.  
  1499. /* method: HasExtension */
  1500. ODBoolean   HasExtension(Environment *ev, 
  1501.         ODType extensionName)
  1502. {
  1503. #ifdef SOMCHKEXCEPT
  1504.    ODBoolean __somResult = 
  1505.       SOM_ResolveD(this,ODObject,ODObject,HasExtension)
  1506.     (this, ev,extensionName);
  1507.    if ( ev->_major != NO_EXCEPTION )
  1508.       SOMCHKEXCEPT;
  1509.    return __somResult;
  1510. #else
  1511.    return SOM_ResolveD(this,ODObject,ODObject,HasExtension)
  1512.     (this, ev,extensionName);
  1513. #endif
  1514. }
  1515.  
  1516.  
  1517. /* method: AcquireExtension */
  1518. ODExtension*   AcquireExtension(Environment *ev, 
  1519.         ODType extensionName)
  1520. {
  1521. #ifdef SOMCHKEXCEPT
  1522.    ODExtension* __somResult = 
  1523.       SOM_ResolveD(this,ODObject,ODObject,AcquireExtension)
  1524.     (this, ev,extensionName);
  1525.    if ( ev->_major != NO_EXCEPTION )
  1526.       SOMCHKEXCEPT;
  1527.    return __somResult;
  1528. #else
  1529.    return SOM_ResolveD(this,ODObject,ODObject,AcquireExtension)
  1530.     (this, ev,extensionName);
  1531. #endif
  1532. }
  1533.  
  1534.  
  1535. /* method: ReleaseExtension */
  1536. void   ReleaseExtension(Environment *ev, 
  1537.         ODExtension* extension)
  1538. {
  1539.    SOM_ResolveD(this,ODObject,ODObject,ReleaseExtension)
  1540.     (this, ev,extension);
  1541. #ifdef SOMCHKEXCEPT
  1542.    if ( ev->_major != NO_EXCEPTION )
  1543.       SOMCHKEXCEPT;
  1544. #endif
  1545. }
  1546.  
  1547.  
  1548. /* method: Purge */
  1549. ODSize   Purge(Environment *ev, 
  1550.         ODSize size)
  1551. {
  1552. #ifdef SOMCHKEXCEPT
  1553.    ODSize __somResult = 
  1554.       SOM_ResolveD(this,ODObject,ODObject,Purge)
  1555.     (this, ev,size);
  1556.    if ( ev->_major != NO_EXCEPTION )
  1557.       SOMCHKEXCEPT;
  1558.    return __somResult;
  1559. #else
  1560.    return SOM_ResolveD(this,ODObject,ODObject,Purge)
  1561.     (this, ev,size);
  1562. #endif
  1563. }
  1564.  
  1565.  
  1566. /* method: IsEqualTo */
  1567. ODBoolean   IsEqualTo(Environment *ev, 
  1568.         ODObject* object)
  1569. {
  1570. #ifdef SOMCHKEXCEPT
  1571.    ODBoolean __somResult = 
  1572.       SOM_ResolveD(this,ODObject,ODObject,IsEqualTo)
  1573.     (this, ev,object);
  1574.    if ( ev->_major != NO_EXCEPTION )
  1575.       SOMCHKEXCEPT;
  1576.    return __somResult;
  1577. #else
  1578.    return SOM_ResolveD(this,ODObject,ODObject,IsEqualTo)
  1579.     (this, ev,object);
  1580. #endif
  1581. }
  1582.  
  1583.  
  1584. /* method: SubClassResponsibility */
  1585. void   SubClassResponsibility(Environment *ev)
  1586. {
  1587.    SOM_ResolveD(this,ODObject,ODObject,SubClassResponsibility)
  1588.     (this, ev);
  1589. #ifdef SOMCHKEXCEPT
  1590.    if ( ev->_major != NO_EXCEPTION )
  1591.       SOMCHKEXCEPT;
  1592. #endif
  1593. }
  1594.  
  1595.  
  1596. /*
  1597.  * Reintroduce inherited methods
  1598.  */
  1599.  
  1600. /* initializer method: somDefaultInit */
  1601. void   somDefaultInit(som3InitCtrl* ctrl)
  1602. {
  1603.    SOM_ResolveD(this,ODObject,SOMObject,somDefaultInit)
  1604.     (this,ctrl);
  1605. }
  1606.  
  1607.  
  1608. /* method: somDestruct */
  1609. void   somDestruct(octet doFree, 
  1610.         som3DestructCtrl* ctrl)
  1611. {
  1612.    SOM_ResolveD(this,ODObject,SOMObject,somDestruct)
  1613.     (this,doFree,ctrl);
  1614. }
  1615.  
  1616.  
  1617. /* initializer method: somDefaultCopyInit */
  1618. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  1619.         SOMObject* fromObj)
  1620. {
  1621.    SOM_ResolveD(this,ODObject,SOMObject,somDefaultCopyInit)
  1622.     (this,ctrl,fromObj);
  1623. }
  1624.  
  1625.  
  1626. /* method: somDefaultAssign */
  1627. ODObject*  somDefaultAssign(som3AssignCtrl* ctrl, 
  1628.         SOMObject* fromObj)
  1629. {
  1630.    return SOM_ResolveD(this,ODObject,SOMObject,somDefaultAssign)
  1631.     (this,ctrl,fromObj);
  1632. }
  1633.  
  1634.  
  1635. /* initializer method: somDefaultConstCopyInit */
  1636. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  1637.         SOMObject* fromObj)
  1638. {
  1639.    SOM_ResolveD(this,ODObject,SOMObject,somDefaultConstCopyInit)
  1640.     (this,ctrl,fromObj);
  1641. }
  1642.  
  1643.  
  1644. /* initializer method: somDefaultVCopyInit */
  1645. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  1646.         SOMObject* fromObj)
  1647. {
  1648.    SOM_ResolveD(this,ODObject,SOMObject,somDefaultVCopyInit)
  1649.     (this,ctrl,fromObj);
  1650. }
  1651.  
  1652.  
  1653. /* initializer method: somDefaultConstVCopyInit */
  1654. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  1655.         SOMObject* fromObj)
  1656. {
  1657.    SOM_ResolveD(this,ODObject,SOMObject,somDefaultConstVCopyInit)
  1658.     (this,ctrl,fromObj);
  1659. }
  1660.  
  1661.  
  1662. /* method: somDefaultConstAssign */
  1663. ODObject*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  1664.         SOMObject* fromObj)
  1665. {
  1666.    return SOM_ResolveD(this,ODObject,SOMObject,somDefaultConstAssign)
  1667.     (this,ctrl,fromObj);
  1668. }
  1669.  
  1670.  
  1671. /* method: somDefaultVAssign */
  1672. ODObject*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  1673.         SOMObject* fromObj)
  1674. {
  1675.    return SOM_ResolveD(this,ODObject,SOMObject,somDefaultVAssign)
  1676.     (this,ctrl,fromObj);
  1677. }
  1678.  
  1679.  
  1680. /* method: somDefaultConstVAssign */
  1681. ODObject*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  1682.         SOMObject* fromObj)
  1683. {
  1684.    return SOM_ResolveD(this,ODObject,SOMObject,somDefaultConstVAssign)
  1685.     (this,ctrl,fromObj);
  1686. }
  1687.  
  1688.  
  1689. /* method: somInit */
  1690. void   somInit()
  1691. {
  1692.    SOM_ResolveD(this,ODObject,SOMObject,somInit)
  1693.     (this);
  1694. }
  1695.  
  1696.  
  1697. /* method: somFree */
  1698. void   somFree()
  1699. {
  1700.    SOM_ResolveD(this,ODObject,SOMObject,somFree)
  1701.     (this);
  1702. }
  1703.  
  1704.  
  1705. /* method: somUninit */
  1706. void   somUninit()
  1707. {
  1708.    SOM_ResolveD(this,ODObject,SOMObject,somUninit)
  1709.     (this);
  1710. }
  1711.  
  1712.  
  1713. /* method: somGetClass */
  1714. M_ODObject*  somGetClass()
  1715. {
  1716.    return SOM_ResolveD(this,ODObject,SOMObject,somGetClass)
  1717.     (this);
  1718. }
  1719.  
  1720.  
  1721. /* method: somGetClassName */
  1722. string   somGetClassName()
  1723. {
  1724.    return SOM_ResolveD(this,ODObject,SOMObject,somGetClassName)
  1725.     (this);
  1726. }
  1727.  
  1728.  
  1729. /* method: somGetSize */
  1730. long   somGetSize()
  1731. {
  1732.    return SOM_ResolveD(this,ODObject,SOMObject,somGetSize)
  1733.     (this);
  1734. }
  1735.  
  1736.  
  1737. /* method: somIsA */
  1738. boolean   somIsA(SOMClass* aClassObj)
  1739. {
  1740.    return SOM_ResolveD(this,ODObject,SOMObject,somIsA)
  1741.     (this,aClassObj);
  1742. }
  1743.  
  1744.  
  1745. /* method: somIsInstanceOf */
  1746. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1747. {
  1748.    return SOM_ResolveD(this,ODObject,SOMObject,somIsInstanceOf)
  1749.     (this,aClassObj);
  1750. }
  1751.  
  1752.  
  1753. /* method: somRespondsTo */
  1754. boolean   somRespondsTo(somId mId)
  1755. {
  1756.    return SOM_ResolveD(this,ODObject,SOMObject,somRespondsTo)
  1757.     (this,mId);
  1758. }
  1759.  
  1760.  
  1761. /* va_list method: somDispatch */
  1762.  
  1763. /* the va_list invocation form */
  1764. boolean   ODObject_somDispatch(somToken* retValue, 
  1765.         somId methodId, 
  1766.         va_list ap)
  1767. {return SOM_ResolveD(this,ODObject,SOMObject,somDispatch)
  1768.     (this,retValue,methodId,ap);
  1769. }
  1770.  
  1771. /* the varargs invocation form */
  1772. boolean   somDispatch(somToken* retValue, 
  1773.         somId methodId, 
  1774.         ...)
  1775. {
  1776.    va_list ap;
  1777.    va_start(ap, methodId);
  1778.    boolean __somResult = 
  1779.       SOM_ResolveD(this,ODObject,SOMObject,somDispatch)
  1780.     (this,retValue,methodId,ap);
  1781.    va_end(ap);
  1782.    return __somResult;
  1783. }
  1784.  
  1785.  
  1786. /* va_list method: somClassDispatch */
  1787.  
  1788. /* the va_list invocation form */
  1789. boolean   ODObject_somClassDispatch(SOMClass* clsObj, 
  1790.         somToken* retValue, 
  1791.         somId methodId, 
  1792.         va_list ap)
  1793. {return SOM_ResolveD(this,ODObject,SOMObject,somClassDispatch)
  1794.     (this,clsObj,retValue,methodId,ap);
  1795. }
  1796.  
  1797. /* the varargs invocation form */
  1798. boolean   somClassDispatch(SOMClass* clsObj, 
  1799.         somToken* retValue, 
  1800.         somId methodId, 
  1801.         ...)
  1802. {
  1803.    va_list ap;
  1804.    va_start(ap, methodId);
  1805.    boolean __somResult = 
  1806.       SOM_ResolveD(this,ODObject,SOMObject,somClassDispatch)
  1807.     (this,clsObj,retValue,methodId,ap);
  1808.    va_end(ap);
  1809.    return __somResult;
  1810. }
  1811.  
  1812.  
  1813. /* method: somCastObj */
  1814. boolean   somCastObj(SOMClass* cls)
  1815. {
  1816.    return SOM_ResolveD(this,ODObject,SOMObject,somCastObj)
  1817.     (this,cls);
  1818. }
  1819.  
  1820.  
  1821. /* method: somResetObj */
  1822. boolean   somResetObj()
  1823. {
  1824.    return SOM_ResolveD(this,ODObject,SOMObject,somResetObj)
  1825.     (this);
  1826. }
  1827.  
  1828.  
  1829. /* va_list method: somDispatchV */
  1830.  
  1831. /* the va_list invocation form */
  1832. void   ODObject_somDispatchV(somId methodId, 
  1833.         somId descriptor, 
  1834.         va_list ap)
  1835. {   SOM_ResolveD(this,ODObject,SOMObject,somDispatchV)
  1836.     (this,methodId,descriptor,ap);
  1837. }
  1838.  
  1839. /* the varargs invocation form */
  1840. void   somDispatchV(somId methodId, 
  1841.         somId descriptor, 
  1842.         ...)
  1843. {
  1844.    va_list ap;
  1845.    va_start(ap, descriptor);
  1846.    SOM_ResolveD(this,ODObject,SOMObject,somDispatchV)
  1847.     (this,methodId,descriptor,ap);
  1848.    va_end(ap);
  1849. }
  1850.  
  1851.  
  1852. /* va_list method: somDispatchL */
  1853.  
  1854. /* the va_list invocation form */
  1855. long   ODObject_somDispatchL(somId methodId, 
  1856.         somId descriptor, 
  1857.         va_list ap)
  1858. {return SOM_ResolveD(this,ODObject,SOMObject,somDispatchL)
  1859.     (this,methodId,descriptor,ap);
  1860. }
  1861.  
  1862. /* the varargs invocation form */
  1863. long   somDispatchL(somId methodId, 
  1864.         somId descriptor, 
  1865.         ...)
  1866. {
  1867.    va_list ap;
  1868.    va_start(ap, descriptor);
  1869.    long __somResult = 
  1870.       SOM_ResolveD(this,ODObject,SOMObject,somDispatchL)
  1871.     (this,methodId,descriptor,ap);
  1872.    va_end(ap);
  1873.    return __somResult;
  1874. }
  1875.  
  1876.  
  1877. /* va_list method: somDispatchA */
  1878.  
  1879. /* the va_list invocation form */
  1880. void*   ODObject_somDispatchA(somId methodId, 
  1881.         somId descriptor, 
  1882.         va_list ap)
  1883. {return SOM_ResolveD(this,ODObject,SOMObject,somDispatchA)
  1884.     (this,methodId,descriptor,ap);
  1885. }
  1886.  
  1887. /* the varargs invocation form */
  1888. void*   somDispatchA(somId methodId, 
  1889.         somId descriptor, 
  1890.         ...)
  1891. {
  1892.    va_list ap;
  1893.    va_start(ap, descriptor);
  1894.    void* __somResult = 
  1895.       SOM_ResolveD(this,ODObject,SOMObject,somDispatchA)
  1896.     (this,methodId,descriptor,ap);
  1897.    va_end(ap);
  1898.    return __somResult;
  1899. }
  1900.  
  1901.  
  1902. /* va_list method: somDispatchD */
  1903.  
  1904. /* the va_list invocation form */
  1905. double   ODObject_somDispatchD(somId methodId, 
  1906.         somId descriptor, 
  1907.         va_list ap)
  1908. {return SOM_ResolveD(this,ODObject,SOMObject,somDispatchD)
  1909.     (this,methodId,descriptor,ap);
  1910. }
  1911.  
  1912. /* the varargs invocation form */
  1913. double   somDispatchD(somId methodId, 
  1914.         somId descriptor, 
  1915.         ...)
  1916. {
  1917.    va_list ap;
  1918.    va_start(ap, descriptor);
  1919.    double __somResult = 
  1920.       SOM_ResolveD(this,ODObject,SOMObject,somDispatchD)
  1921.     (this,methodId,descriptor,ap);
  1922.    va_end(ap);
  1923.    return __somResult;
  1924. }
  1925.  
  1926.  
  1927. /* method: somPrintSelf */
  1928. SOMObject*   somPrintSelf()
  1929. {
  1930.    return SOM_ResolveD(this,ODObject,SOMObject,somPrintSelf)
  1931.     (this);
  1932. }
  1933.  
  1934.  
  1935. /* method: somDumpSelf */
  1936. void   somDumpSelf(long level)
  1937. {
  1938.    SOM_ResolveD(this,ODObject,SOMObject,somDumpSelf)
  1939.     (this,level);
  1940. }
  1941.  
  1942.  
  1943. /* method: somDumpSelfInt */
  1944. void   somDumpSelfInt(long level)
  1945. {
  1946.    SOM_ResolveD(this,ODObject,SOMObject,somDumpSelfInt)
  1947.     (this,level);
  1948. }
  1949.  
  1950.  
  1951.  
  1952. };   /* ODObject */
  1953.  
  1954.  
  1955.  
  1956. #endif       /* SOM_ODObject_xh */
  1957.