home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / opendc12.zip / od124os2.exe / od12ort2.exe / pkg / en_us / iodbasec.odz / iodbcutl.xh < prev    next >
Text File  |  1997-04-02  |  45KB  |  1,678 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: F:\build\os2\iuo\samples\INCLUDE\iodbcutl.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.7
  7.  *     SOM Emitter emitxh: 2.42
  8.  */
  9.  
  10. #ifndef SOM_ALink_xh
  11. #define SOM_ALink_xh
  12.  
  13. class ALink;
  14.  
  15. #define ALink_MajorVersion 1
  16. #define ALink_MinorVersion 0
  17.  
  18. /* C++ SOM defs */
  19. #include <somcls.xh>
  20. #include <somcm.xh>
  21.  
  22. /* C++ parent defs */
  23. #ifndef SOM_ODObject_xh
  24. #include <ODObject.xh>
  25. #endif
  26.  
  27. #ifndef ALink_API
  28. #define ALink_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. class ALink;
  45. class ALinkedList;
  46.  
  47. /*
  48.  * End of bindings for IDL types.
  49.  */
  50.  
  51. /* A procedure to create the ALink Class */
  52. SOMEXTERN SOMClass * SOMLINK ALinkNewClass(
  53.         integer4 majorVersion,
  54.         integer4 minorVersion);
  55.  
  56. /* The API to the ALink class object, and the methods it introduces. */
  57. SOMEXTERN struct ALinkClassDataStructure {
  58.     SOMClass *classObject;
  59.     somMToken Content;
  60.     somMToken Next;
  61.     somMToken setContent;
  62.     somMToken setNext;
  63. } SOMDLINK ALinkClassData;
  64. #define _ALink ALinkClassData.classObject
  65.  
  66. /* The API to parentMtabs for ALink, and the instance data it introduces. */
  67. SOMEXTERN struct ALinkCClassDataStructure {
  68.     somMethodTabs parentMtab;
  69.     somDToken              instanceDataToken;
  70. } SOMDLINK ALinkCClassData;
  71.  
  72. /*
  73.  * -- Typedefs for ALink Method Procedures
  74.  */
  75. SOMEXTERN {
  76. typedef ODPtr   SOMLINK somTP_ALink_Content(ALink *somSelf, Environment *ev);
  77. typedef somTP_ALink_Content *somTD_ALink_Content;
  78. typedef ALink*   SOMLINK somTP_ALink_Next(ALink *somSelf, Environment *ev);
  79. typedef somTP_ALink_Next *somTD_ALink_Next;
  80. typedef void   SOMLINK somTP_ALink_setContent(ALink *somSelf, Environment *ev, 
  81.         ODPtr content);
  82. typedef somTP_ALink_setContent *somTD_ALink_setContent;
  83. typedef void   SOMLINK somTP_ALink_setNext(ALink *somSelf, Environment *ev, 
  84.         ALink* next);
  85. typedef somTP_ALink_setNext *somTD_ALink_setNext;
  86.  
  87. /*
  88.  * -- Typedefs for Reintroduced Wrapper Methods
  89.  */
  90. typedef void   SOMLINK somTP_ALink_InitObject(ALink *somSelf, Environment *ev);
  91. typedef somTP_ALink_InitObject *somTD_ALink_InitObject;
  92. typedef ODBoolean   SOMLINK somTP_ALink_HasExtension(ALink *somSelf, Environment *ev, 
  93.         ODType extensionName);
  94. typedef somTP_ALink_HasExtension *somTD_ALink_HasExtension;
  95. typedef ODExtension*   SOMLINK somTP_ALink_AcquireExtension(ALink *somSelf, Environment *ev, 
  96.         ODType extensionName);
  97. typedef somTP_ALink_AcquireExtension *somTD_ALink_AcquireExtension;
  98. typedef void   SOMLINK somTP_ALink_ReleaseExtension(ALink *somSelf, Environment *ev, 
  99.         ODExtension* extension);
  100. typedef somTP_ALink_ReleaseExtension *somTD_ALink_ReleaseExtension;
  101. typedef ODSize   SOMLINK somTP_ALink_Purge(ALink *somSelf, Environment *ev, 
  102.         ODSize size);
  103. typedef somTP_ALink_Purge *somTD_ALink_Purge;
  104. typedef ODBoolean   SOMLINK somTP_ALink_IsEqualTo(ALink *somSelf, Environment *ev, 
  105.         ODObject* object);
  106. typedef somTP_ALink_IsEqualTo *somTD_ALink_IsEqualTo;
  107. typedef void   SOMLINK somTP_ALink_SubClassResponsibility(ALink *somSelf, Environment *ev);
  108. typedef somTP_ALink_SubClassResponsibility *somTD_ALink_SubClassResponsibility;
  109. typedef void   SOMLINK somTP_ALink_somInit(ALink *somSelf);
  110. typedef somTP_ALink_somInit *somTD_ALink_somInit;
  111. typedef void   SOMLINK somTP_ALink_somUninit(ALink *somSelf);
  112. typedef somTP_ALink_somUninit *somTD_ALink_somUninit;
  113. typedef void   SOMLINK somTP_ALink_somDefaultInit(ALink *somSelf, 
  114.         som3InitCtrl* ctrl);
  115. typedef somTP_ALink_somDefaultInit *somTD_ALink_somDefaultInit;
  116. typedef void   SOMLINK somTP_ALink_somDestruct(ALink *somSelf, 
  117.         octet doFree, 
  118.         som3DestructCtrl* ctrl);
  119. typedef somTP_ALink_somDestruct *somTD_ALink_somDestruct;
  120. typedef void   SOMLINK somTP_ALink_somDefaultCopyInit(ALink *somSelf, 
  121.         som3InitCtrl* ctrl, 
  122.         SOMObject* fromObj);
  123. typedef somTP_ALink_somDefaultCopyInit *somTD_ALink_somDefaultCopyInit;
  124. typedef ALink*   SOMLINK somTP_ALink_somDefaultAssign(ALink *somSelf, 
  125.         som3AssignCtrl* ctrl, 
  126.         SOMObject* fromObj);
  127. typedef somTP_ALink_somDefaultAssign *somTD_ALink_somDefaultAssign;
  128. typedef void   SOMLINK somTP_ALink_somDefaultConstCopyInit(ALink *somSelf, 
  129.         som3InitCtrl* ctrl, 
  130.         SOMObject* fromObj);
  131. typedef somTP_ALink_somDefaultConstCopyInit *somTD_ALink_somDefaultConstCopyInit;
  132. typedef void   SOMLINK somTP_ALink_somDefaultVCopyInit(ALink *somSelf, 
  133.         som3InitCtrl* ctrl, 
  134.         SOMObject* fromObj);
  135. typedef somTP_ALink_somDefaultVCopyInit *somTD_ALink_somDefaultVCopyInit;
  136. typedef void   SOMLINK somTP_ALink_somDefaultConstVCopyInit(ALink *somSelf, 
  137.         som3InitCtrl* ctrl, 
  138.         SOMObject* fromObj);
  139. typedef somTP_ALink_somDefaultConstVCopyInit *somTD_ALink_somDefaultConstVCopyInit;
  140. typedef ALink*   SOMLINK somTP_ALink_somDefaultConstAssign(ALink *somSelf, 
  141.         som3AssignCtrl* ctrl, 
  142.         SOMObject* fromObj);
  143. typedef somTP_ALink_somDefaultConstAssign *somTD_ALink_somDefaultConstAssign;
  144. typedef ALink*   SOMLINK somTP_ALink_somDefaultVAssign(ALink *somSelf, 
  145.         som3AssignCtrl* ctrl, 
  146.         SOMObject* fromObj);
  147. typedef somTP_ALink_somDefaultVAssign *somTD_ALink_somDefaultVAssign;
  148. typedef ALink*   SOMLINK somTP_ALink_somDefaultConstVAssign(ALink *somSelf, 
  149.         som3AssignCtrl* ctrl, 
  150.         SOMObject* fromObj);
  151. typedef somTP_ALink_somDefaultConstVAssign *somTD_ALink_somDefaultConstVAssign;
  152. typedef void   SOMLINK somTP_ALink_somFree(ALink *somSelf);
  153. typedef somTP_ALink_somFree *somTD_ALink_somFree;
  154. typedef SOMClass*   SOMLINK somTP_ALink_somGetClass(ALink *somSelf);
  155. typedef somTP_ALink_somGetClass *somTD_ALink_somGetClass;
  156. typedef string   SOMLINK somTP_ALink_somGetClassName(ALink *somSelf);
  157. typedef somTP_ALink_somGetClassName *somTD_ALink_somGetClassName;
  158. typedef long   SOMLINK somTP_ALink_somGetSize(ALink *somSelf);
  159. typedef somTP_ALink_somGetSize *somTD_ALink_somGetSize;
  160. typedef boolean   SOMLINK somTP_ALink_somIsA(ALink *somSelf, 
  161.         SOMClass* aClassObj);
  162. typedef somTP_ALink_somIsA *somTD_ALink_somIsA;
  163. typedef boolean   SOMLINK somTP_ALink_somIsInstanceOf(ALink *somSelf, 
  164.         SOMClass* aClassObj);
  165. typedef somTP_ALink_somIsInstanceOf *somTD_ALink_somIsInstanceOf;
  166. typedef boolean   SOMLINK somTP_ALink_somRespondsTo(ALink *somSelf, 
  167.         somId mId);
  168. typedef somTP_ALink_somRespondsTo *somTD_ALink_somRespondsTo;
  169. typedef boolean   SOMLINK somTP_ALink_somDispatch(ALink *somSelf, 
  170.         somToken* retValue, 
  171.         somId methodId, 
  172.         va_list ap);
  173. typedef somTP_ALink_somDispatch *somTD_ALink_somDispatch;
  174. typedef boolean   SOMLINK somTP_ALink_somClassDispatch(ALink *somSelf, 
  175.         SOMClass* clsObj, 
  176.         somToken* retValue, 
  177.         somId methodId, 
  178.         va_list ap);
  179. typedef somTP_ALink_somClassDispatch *somTD_ALink_somClassDispatch;
  180. typedef boolean   SOMLINK somTP_ALink_somCastObj(ALink *somSelf, 
  181.         SOMClass* cls);
  182. typedef somTP_ALink_somCastObj *somTD_ALink_somCastObj;
  183. typedef boolean   SOMLINK somTP_ALink_somResetObj(ALink *somSelf);
  184. typedef somTP_ALink_somResetObj *somTD_ALink_somResetObj;
  185. typedef void   SOMLINK somTP_ALink_somDispatchV(ALink *somSelf, 
  186.         somId methodId, 
  187.         somId descriptor, 
  188.         va_list ap);
  189. typedef somTP_ALink_somDispatchV *somTD_ALink_somDispatchV;
  190. typedef long   SOMLINK somTP_ALink_somDispatchL(ALink *somSelf, 
  191.         somId methodId, 
  192.         somId descriptor, 
  193.         va_list ap);
  194. typedef somTP_ALink_somDispatchL *somTD_ALink_somDispatchL;
  195. typedef void*   SOMLINK somTP_ALink_somDispatchA(ALink *somSelf, 
  196.         somId methodId, 
  197.         somId descriptor, 
  198.         va_list ap);
  199. typedef somTP_ALink_somDispatchA *somTD_ALink_somDispatchA;
  200. typedef double   SOMLINK somTP_ALink_somDispatchD(ALink *somSelf, 
  201.         somId methodId, 
  202.         somId descriptor, 
  203.         va_list ap);
  204. typedef somTP_ALink_somDispatchD *somTD_ALink_somDispatchD;
  205. typedef SOMObject*   SOMLINK somTP_ALink_somPrintSelf(ALink *somSelf);
  206. typedef somTP_ALink_somPrintSelf *somTD_ALink_somPrintSelf;
  207. typedef void   SOMLINK somTP_ALink_somDumpSelf(ALink *somSelf, 
  208.         long level);
  209. typedef somTP_ALink_somDumpSelf *somTD_ALink_somDumpSelf;
  210. typedef void   SOMLINK somTP_ALink_somDumpSelfInt(ALink *somSelf, 
  211.         long level);
  212. typedef somTP_ALink_somDumpSelfInt *somTD_ALink_somDumpSelfInt;
  213. }
  214.  
  215. #endif /* ALink_API */
  216.  
  217.  
  218. /*
  219.  * -- This emitter treats Method Tokens as Thunks by default.
  220.  * -- Use the sc modifier "nothunks" to change this default
  221.  */
  222. #undef somresolve_
  223. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  224.  
  225. /*
  226.  * -- The C++ Wrapper Class for ALink
  227.  */
  228. class ALink : public ODObject
  229. {
  230. public:
  231.  
  232. // ALink::new creates the class object if necessary, and then uses somNewNoInit
  233. // to allocate memory and create the object. Initialization is in ctors.
  234. void *operator new(size_t)
  235. {
  236.    if (!_ALink) ALinkNewClass(ALink_MajorVersion,ALink_MinorVersion);
  237.    return (void*)
  238.       SOM_Resolve(_ALink,SOMClass,somNewNoInit)
  239.          ((SOMClass *)((void*)_ALink));
  240. }
  241.  
  242. // ALink::delete uses somDestruct.
  243. void operator delete(void * obj)
  244. {
  245.    if (obj && *(void**)obj) {
  246.       SOM_Resolve(obj,SOMObject,somFree)
  247.          ((SOMObject*)obj);
  248.    }
  249. }
  250.  
  251. ALink& operator=(ALink& fromObj)
  252. {
  253.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  254.    return *this;
  255. }
  256.  
  257. ALink()
  258. {
  259.    if (*(void**)this != 
  260.        ((somParentMtabStructPtr)
  261.         (ALinkCClassData.parentMtab))->mtab)
  262.       return;
  263.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  264. }
  265.  
  266. ALink(ALink* fromObj)
  267. {
  268.    if (*(void**)this != 
  269.        ((somParentMtabStructPtr)
  270.         (ALinkCClassData.parentMtab))->mtab)
  271.       return;
  272.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  273. }
  274.  
  275. #ifdef __IBMCPP__
  276. #pragma info(nocnv,nopar)
  277. #endif
  278. ALink(const ALink* fromObj)
  279. {
  280.    if (*(void**)this != 
  281.        ((somParentMtabStructPtr)
  282.         (ALinkCClassData.parentMtab))->mtab)
  283.       return;
  284.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  285. }
  286. #ifdef __IBMCPP__
  287. #pragma info(restore)
  288. #endif
  289.  
  290.  
  291. /* method: Content */
  292. ODPtr   Content(Environment *ev)
  293. {
  294. #ifdef SOMCHKEXCEPT
  295.    ODPtr __somResult = 
  296.       SOM_ResolveD(this,ALink,ALink,Content)
  297.     (this, ev);
  298.    if ( ev->_major != NO_EXCEPTION )
  299.       SOMCHKEXCEPT;
  300.    return __somResult;
  301. #else
  302.    return SOM_ResolveD(this,ALink,ALink,Content)
  303.     (this, ev);
  304. #endif
  305. }
  306.  
  307.  
  308. /* method: Next */
  309. ALink*   Next(Environment *ev)
  310. {
  311. #ifdef SOMCHKEXCEPT
  312.    ALink* __somResult = 
  313.       SOM_ResolveD(this,ALink,ALink,Next)
  314.     (this, ev);
  315.    if ( ev->_major != NO_EXCEPTION )
  316.       SOMCHKEXCEPT;
  317.    return __somResult;
  318. #else
  319.    return SOM_ResolveD(this,ALink,ALink,Next)
  320.     (this, ev);
  321. #endif
  322. }
  323.  
  324.  
  325. /* method: setContent */
  326. void   setContent(Environment *ev, 
  327.         ODPtr content)
  328. {
  329.    SOM_ResolveD(this,ALink,ALink,setContent)
  330.     (this, ev,content);
  331. #ifdef SOMCHKEXCEPT
  332.    if ( ev->_major != NO_EXCEPTION )
  333.       SOMCHKEXCEPT;
  334. #endif
  335. }
  336.  
  337.  
  338. /* method: setNext */
  339. void   setNext(Environment *ev, 
  340.         ALink* next)
  341. {
  342.    SOM_ResolveD(this,ALink,ALink,setNext)
  343.     (this, ev,next);
  344. #ifdef SOMCHKEXCEPT
  345.    if ( ev->_major != NO_EXCEPTION )
  346.       SOMCHKEXCEPT;
  347. #endif
  348. }
  349.  
  350.  
  351. /*
  352.  * Reintroduce inherited methods
  353.  */
  354.  
  355. /* method: InitObject */
  356. void   InitObject(Environment *ev)
  357. {
  358.    SOM_ResolveD(this,ALink,ODObject,InitObject)
  359.     (this, ev);
  360. #ifdef SOMCHKEXCEPT
  361.    if ( ev->_major != NO_EXCEPTION )
  362.       SOMCHKEXCEPT;
  363. #endif
  364. }
  365.  
  366.  
  367. /* method: HasExtension */
  368. ODBoolean   HasExtension(Environment *ev, 
  369.         ODType extensionName)
  370. {
  371. #ifdef SOMCHKEXCEPT
  372.    ODBoolean __somResult = 
  373.       SOM_ResolveD(this,ALink,ODObject,HasExtension)
  374.     (this, ev,extensionName);
  375.    if ( ev->_major != NO_EXCEPTION )
  376.       SOMCHKEXCEPT;
  377.    return __somResult;
  378. #else
  379.    return SOM_ResolveD(this,ALink,ODObject,HasExtension)
  380.     (this, ev,extensionName);
  381. #endif
  382. }
  383.  
  384.  
  385. /* method: AcquireExtension */
  386. ODExtension*   AcquireExtension(Environment *ev, 
  387.         ODType extensionName)
  388. {
  389. #ifdef SOMCHKEXCEPT
  390.    ODExtension* __somResult = 
  391.       SOM_ResolveD(this,ALink,ODObject,AcquireExtension)
  392.     (this, ev,extensionName);
  393.    if ( ev->_major != NO_EXCEPTION )
  394.       SOMCHKEXCEPT;
  395.    return __somResult;
  396. #else
  397.    return SOM_ResolveD(this,ALink,ODObject,AcquireExtension)
  398.     (this, ev,extensionName);
  399. #endif
  400. }
  401.  
  402.  
  403. /* method: ReleaseExtension */
  404. void   ReleaseExtension(Environment *ev, 
  405.         ODExtension* extension)
  406. {
  407.    SOM_ResolveD(this,ALink,ODObject,ReleaseExtension)
  408.     (this, ev,extension);
  409. #ifdef SOMCHKEXCEPT
  410.    if ( ev->_major != NO_EXCEPTION )
  411.       SOMCHKEXCEPT;
  412. #endif
  413. }
  414.  
  415.  
  416. /* method: Purge */
  417. ODSize   Purge(Environment *ev, 
  418.         ODSize size)
  419. {
  420. #ifdef SOMCHKEXCEPT
  421.    ODSize __somResult = 
  422.       SOM_ResolveD(this,ALink,ODObject,Purge)
  423.     (this, ev,size);
  424.    if ( ev->_major != NO_EXCEPTION )
  425.       SOMCHKEXCEPT;
  426.    return __somResult;
  427. #else
  428.    return SOM_ResolveD(this,ALink,ODObject,Purge)
  429.     (this, ev,size);
  430. #endif
  431. }
  432.  
  433.  
  434. /* method: IsEqualTo */
  435. ODBoolean   IsEqualTo(Environment *ev, 
  436.         ODObject* object)
  437. {
  438. #ifdef SOMCHKEXCEPT
  439.    ODBoolean __somResult = 
  440.       SOM_ResolveD(this,ALink,ODObject,IsEqualTo)
  441.     (this, ev,object);
  442.    if ( ev->_major != NO_EXCEPTION )
  443.       SOMCHKEXCEPT;
  444.    return __somResult;
  445. #else
  446.    return SOM_ResolveD(this,ALink,ODObject,IsEqualTo)
  447.     (this, ev,object);
  448. #endif
  449. }
  450.  
  451.  
  452. /* method: SubClassResponsibility */
  453. void   SubClassResponsibility(Environment *ev)
  454. {
  455.    SOM_ResolveD(this,ALink,ODObject,SubClassResponsibility)
  456.     (this, ev);
  457. #ifdef SOMCHKEXCEPT
  458.    if ( ev->_major != NO_EXCEPTION )
  459.       SOMCHKEXCEPT;
  460. #endif
  461. }
  462.  
  463.  
  464. /* method: somInit */
  465. void   somInit()
  466. {
  467.    SOM_ResolveD(this,ALink,SOMObject,somInit)
  468.     (this);
  469. }
  470.  
  471.  
  472. /* method: somUninit */
  473. void   somUninit()
  474. {
  475.    SOM_ResolveD(this,ALink,SOMObject,somUninit)
  476.     (this);
  477. }
  478.  
  479.  
  480. /* initializer method: somDefaultInit */
  481. void   somDefaultInit(som3InitCtrl* ctrl)
  482. {
  483.    SOM_ResolveD(this,ALink,SOMObject,somDefaultInit)
  484.     (this,ctrl);
  485. }
  486.  
  487.  
  488. /* method: somDestruct */
  489. void   somDestruct(octet doFree, 
  490.         som3DestructCtrl* ctrl)
  491. {
  492.    SOM_ResolveD(this,ALink,SOMObject,somDestruct)
  493.     (this,doFree,ctrl);
  494. }
  495.  
  496.  
  497. /* initializer method: somDefaultCopyInit */
  498. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  499.         SOMObject* fromObj)
  500. {
  501.    SOM_ResolveD(this,ALink,SOMObject,somDefaultCopyInit)
  502.     (this,ctrl,fromObj);
  503. }
  504.  
  505.  
  506. /* method: somDefaultAssign */
  507. ALink*  somDefaultAssign(som3AssignCtrl* ctrl, 
  508.         SOMObject* fromObj)
  509. {
  510.    return SOM_ResolveD(this,ALink,SOMObject,somDefaultAssign)
  511.     (this,ctrl,fromObj);
  512. }
  513.  
  514.  
  515. /* initializer method: somDefaultConstCopyInit */
  516. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  517.         SOMObject* fromObj)
  518. {
  519.    SOM_ResolveD(this,ALink,SOMObject,somDefaultConstCopyInit)
  520.     (this,ctrl,fromObj);
  521. }
  522.  
  523.  
  524. /* initializer method: somDefaultVCopyInit */
  525. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  526.         SOMObject* fromObj)
  527. {
  528.    SOM_ResolveD(this,ALink,SOMObject,somDefaultVCopyInit)
  529.     (this,ctrl,fromObj);
  530. }
  531.  
  532.  
  533. /* initializer method: somDefaultConstVCopyInit */
  534. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  535.         SOMObject* fromObj)
  536. {
  537.    SOM_ResolveD(this,ALink,SOMObject,somDefaultConstVCopyInit)
  538.     (this,ctrl,fromObj);
  539. }
  540.  
  541.  
  542. /* method: somDefaultConstAssign */
  543. ALink*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  544.         SOMObject* fromObj)
  545. {
  546.    return SOM_ResolveD(this,ALink,SOMObject,somDefaultConstAssign)
  547.     (this,ctrl,fromObj);
  548. }
  549.  
  550.  
  551. /* method: somDefaultVAssign */
  552. ALink*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  553.         SOMObject* fromObj)
  554. {
  555.    return SOM_ResolveD(this,ALink,SOMObject,somDefaultVAssign)
  556.     (this,ctrl,fromObj);
  557. }
  558.  
  559.  
  560. /* method: somDefaultConstVAssign */
  561. ALink*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  562.         SOMObject* fromObj)
  563. {
  564.    return SOM_ResolveD(this,ALink,SOMObject,somDefaultConstVAssign)
  565.     (this,ctrl,fromObj);
  566. }
  567.  
  568.  
  569. /* method: somFree */
  570. void   somFree()
  571. {
  572.    SOM_ResolveD(this,ALink,SOMObject,somFree)
  573.     (this);
  574. }
  575.  
  576.  
  577. /* method: somGetClass */
  578. SOMClass*   somGetClass()
  579. {
  580.    return SOM_ResolveD(this,ALink,SOMObject,somGetClass)
  581.     (this);
  582. }
  583.  
  584.  
  585. /* method: somGetClassName */
  586. string   somGetClassName()
  587. {
  588.    return SOM_ResolveD(this,ALink,SOMObject,somGetClassName)
  589.     (this);
  590. }
  591.  
  592.  
  593. /* method: somGetSize */
  594. long   somGetSize()
  595. {
  596.    return SOM_ResolveD(this,ALink,SOMObject,somGetSize)
  597.     (this);
  598. }
  599.  
  600.  
  601. /* method: somIsA */
  602. boolean   somIsA(SOMClass* aClassObj)
  603. {
  604.    return SOM_ResolveD(this,ALink,SOMObject,somIsA)
  605.     (this,aClassObj);
  606. }
  607.  
  608.  
  609. /* method: somIsInstanceOf */
  610. boolean   somIsInstanceOf(SOMClass* aClassObj)
  611. {
  612.    return SOM_ResolveD(this,ALink,SOMObject,somIsInstanceOf)
  613.     (this,aClassObj);
  614. }
  615.  
  616.  
  617. /* method: somRespondsTo */
  618. boolean   somRespondsTo(somId mId)
  619. {
  620.    return SOM_ResolveD(this,ALink,SOMObject,somRespondsTo)
  621.     (this,mId);
  622. }
  623.  
  624.  
  625. /* va_list method: somDispatch */
  626.  
  627. /* the va_list invocation form */
  628. boolean   ALink_somDispatch(somToken* retValue, 
  629.         somId methodId, 
  630.         va_list ap)
  631. {return SOM_ResolveD(this,ALink,SOMObject,somDispatch)
  632.     (this,retValue,methodId,ap);
  633. }
  634.  
  635. /* the varargs invocation form */
  636. boolean   somDispatch(somToken* retValue, 
  637.         somId methodId, 
  638.         ...)
  639. {
  640.    va_list ap;
  641.    va_start(ap, methodId);
  642.    boolean __somResult = 
  643.       SOM_ResolveD(this,ALink,SOMObject,somDispatch)
  644.     (this,retValue,methodId,ap);
  645.    va_end(ap);
  646.    return __somResult;
  647. }
  648.  
  649.  
  650. /* va_list method: somClassDispatch */
  651.  
  652. /* the va_list invocation form */
  653. boolean   ALink_somClassDispatch(SOMClass* clsObj, 
  654.         somToken* retValue, 
  655.         somId methodId, 
  656.         va_list ap)
  657. {return SOM_ResolveD(this,ALink,SOMObject,somClassDispatch)
  658.     (this,clsObj,retValue,methodId,ap);
  659. }
  660.  
  661. /* the varargs invocation form */
  662. boolean   somClassDispatch(SOMClass* clsObj, 
  663.         somToken* retValue, 
  664.         somId methodId, 
  665.         ...)
  666. {
  667.    va_list ap;
  668.    va_start(ap, methodId);
  669.    boolean __somResult = 
  670.       SOM_ResolveD(this,ALink,SOMObject,somClassDispatch)
  671.     (this,clsObj,retValue,methodId,ap);
  672.    va_end(ap);
  673.    return __somResult;
  674. }
  675.  
  676.  
  677. /* method: somCastObj */
  678. boolean   somCastObj(SOMClass* cls)
  679. {
  680.    return SOM_ResolveD(this,ALink,SOMObject,somCastObj)
  681.     (this,cls);
  682. }
  683.  
  684.  
  685. /* method: somResetObj */
  686. boolean   somResetObj()
  687. {
  688.    return SOM_ResolveD(this,ALink,SOMObject,somResetObj)
  689.     (this);
  690. }
  691.  
  692.  
  693. /* va_list method: somDispatchV */
  694.  
  695. /* the va_list invocation form */
  696. void   ALink_somDispatchV(somId methodId, 
  697.         somId descriptor, 
  698.         va_list ap)
  699. {   SOM_ResolveD(this,ALink,SOMObject,somDispatchV)
  700.     (this,methodId,descriptor,ap);
  701. }
  702.  
  703. /* the varargs invocation form */
  704. void   somDispatchV(somId methodId, 
  705.         somId descriptor, 
  706.         ...)
  707. {
  708.    va_list ap;
  709.    va_start(ap, descriptor);
  710.    SOM_ResolveD(this,ALink,SOMObject,somDispatchV)
  711.     (this,methodId,descriptor,ap);
  712.    va_end(ap);
  713. }
  714.  
  715.  
  716. /* va_list method: somDispatchL */
  717.  
  718. /* the va_list invocation form */
  719. long   ALink_somDispatchL(somId methodId, 
  720.         somId descriptor, 
  721.         va_list ap)
  722. {return SOM_ResolveD(this,ALink,SOMObject,somDispatchL)
  723.     (this,methodId,descriptor,ap);
  724. }
  725.  
  726. /* the varargs invocation form */
  727. long   somDispatchL(somId methodId, 
  728.         somId descriptor, 
  729.         ...)
  730. {
  731.    va_list ap;
  732.    va_start(ap, descriptor);
  733.    long __somResult = 
  734.       SOM_ResolveD(this,ALink,SOMObject,somDispatchL)
  735.     (this,methodId,descriptor,ap);
  736.    va_end(ap);
  737.    return __somResult;
  738. }
  739.  
  740.  
  741. /* va_list method: somDispatchA */
  742.  
  743. /* the va_list invocation form */
  744. void*   ALink_somDispatchA(somId methodId, 
  745.         somId descriptor, 
  746.         va_list ap)
  747. {return SOM_ResolveD(this,ALink,SOMObject,somDispatchA)
  748.     (this,methodId,descriptor,ap);
  749. }
  750.  
  751. /* the varargs invocation form */
  752. void*   somDispatchA(somId methodId, 
  753.         somId descriptor, 
  754.         ...)
  755. {
  756.    va_list ap;
  757.    va_start(ap, descriptor);
  758.    void* __somResult = 
  759.       SOM_ResolveD(this,ALink,SOMObject,somDispatchA)
  760.     (this,methodId,descriptor,ap);
  761.    va_end(ap);
  762.    return __somResult;
  763. }
  764.  
  765.  
  766. /* va_list method: somDispatchD */
  767.  
  768. /* the va_list invocation form */
  769. double   ALink_somDispatchD(somId methodId, 
  770.         somId descriptor, 
  771.         va_list ap)
  772. {return SOM_ResolveD(this,ALink,SOMObject,somDispatchD)
  773.     (this,methodId,descriptor,ap);
  774. }
  775.  
  776. /* the varargs invocation form */
  777. double   somDispatchD(somId methodId, 
  778.         somId descriptor, 
  779.         ...)
  780. {
  781.    va_list ap;
  782.    va_start(ap, descriptor);
  783.    double __somResult = 
  784.       SOM_ResolveD(this,ALink,SOMObject,somDispatchD)
  785.     (this,methodId,descriptor,ap);
  786.    va_end(ap);
  787.    return __somResult;
  788. }
  789.  
  790.  
  791. /* method: somPrintSelf */
  792. SOMObject*   somPrintSelf()
  793. {
  794.    return SOM_ResolveD(this,ALink,SOMObject,somPrintSelf)
  795.     (this);
  796. }
  797.  
  798.  
  799. /* method: somDumpSelf */
  800. void   somDumpSelf(long level)
  801. {
  802.    SOM_ResolveD(this,ALink,SOMObject,somDumpSelf)
  803.     (this,level);
  804. }
  805.  
  806.  
  807. /* method: somDumpSelfInt */
  808. void   somDumpSelfInt(long level)
  809. {
  810.    SOM_ResolveD(this,ALink,SOMObject,somDumpSelfInt)
  811.     (this,level);
  812. }
  813.  
  814.  
  815.  
  816. };   /* ALink */
  817.  
  818.  
  819.  
  820. #endif       /* SOM_ALink_xh */
  821.  
  822. #ifndef SOM_ALinkedList_xh
  823. #define SOM_ALinkedList_xh
  824.  
  825. class ALinkedList;
  826.  
  827. #define ALinkedList_MajorVersion 1
  828. #define ALinkedList_MinorVersion 0
  829.  
  830. /* C++ SOM defs */
  831. #include <somcls.xh>
  832. #include <somcm.xh>
  833.  
  834. /* C++ parent defs */
  835. #ifndef SOM_ODObject_xh
  836. #include <ODObject.xh>
  837. #endif
  838.  
  839. #ifndef ALinkedList_API
  840. #define ALinkedList_API
  841. /*
  842.  * -- The Class API
  843.  */
  844.  
  845. /*
  846.  * Start of bindings for IDL types
  847.  */
  848.  
  849.  
  850. /*
  851.  * End of bindings for IDL types.
  852.  */
  853.  
  854. /* A procedure to create the ALinkedList Class */
  855. SOMEXTERN SOMClass * SOMLINK ALinkedListNewClass(
  856.         integer4 majorVersion,
  857.         integer4 minorVersion);
  858.  
  859. /* The API to the ALinkedList class object, and the methods it introduces. */
  860. SOMEXTERN struct ALinkedListClassDataStructure {
  861.     SOMClass *classObject;
  862.     somMToken First;
  863.     somMToken AddFirst;
  864.     somMToken AddLast;
  865.     somMToken Remove;
  866.     somMToken RemoveAll;
  867.     somMToken Contains;
  868.     somMToken Count;
  869. } SOMDLINK ALinkedListClassData;
  870. #define _ALinkedList ALinkedListClassData.classObject
  871.  
  872. /* The API to parentMtabs for ALinkedList, and the instance data it introduces. */
  873. SOMEXTERN struct ALinkedListCClassDataStructure {
  874.     somMethodTabs parentMtab;
  875.     somDToken              instanceDataToken;
  876. } SOMDLINK ALinkedListCClassData;
  877.  
  878. /*
  879.  * -- Typedefs for ALinkedList Method Procedures
  880.  */
  881. SOMEXTERN {
  882. typedef ALink*   SOMLINK somTP_ALinkedList_First(ALinkedList *somSelf, Environment *ev);
  883. typedef somTP_ALinkedList_First *somTD_ALinkedList_First;
  884. typedef void   SOMLINK somTP_ALinkedList_AddFirst(ALinkedList *somSelf, Environment *ev, 
  885.         ODPtr content);
  886. typedef somTP_ALinkedList_AddFirst *somTD_ALinkedList_AddFirst;
  887. typedef void   SOMLINK somTP_ALinkedList_AddLast(ALinkedList *somSelf, Environment *ev, 
  888.         ODPtr content);
  889. typedef somTP_ALinkedList_AddLast *somTD_ALinkedList_AddLast;
  890. typedef void   SOMLINK somTP_ALinkedList_Remove(ALinkedList *somSelf, Environment *ev, 
  891.         ODPtr content);
  892. typedef somTP_ALinkedList_Remove *somTD_ALinkedList_Remove;
  893. typedef void   SOMLINK somTP_ALinkedList_RemoveAll(ALinkedList *somSelf, Environment *ev);
  894. typedef somTP_ALinkedList_RemoveAll *somTD_ALinkedList_RemoveAll;
  895. typedef ODBoolean   SOMLINK somTP_ALinkedList_Contains(ALinkedList *somSelf, Environment *ev, 
  896.         ODPtr content);
  897. typedef somTP_ALinkedList_Contains *somTD_ALinkedList_Contains;
  898. typedef ODULong   SOMLINK somTP_ALinkedList_Count(ALinkedList *somSelf, Environment *ev);
  899. typedef somTP_ALinkedList_Count *somTD_ALinkedList_Count;
  900.  
  901. /*
  902.  * -- Typedefs for Reintroduced Wrapper Methods
  903.  */
  904. typedef void   SOMLINK somTP_ALinkedList_InitObject(ALinkedList *somSelf, Environment *ev);
  905. typedef somTP_ALinkedList_InitObject *somTD_ALinkedList_InitObject;
  906. typedef ODBoolean   SOMLINK somTP_ALinkedList_HasExtension(ALinkedList *somSelf, Environment *ev, 
  907.         ODType extensionName);
  908. typedef somTP_ALinkedList_HasExtension *somTD_ALinkedList_HasExtension;
  909. typedef ODExtension*   SOMLINK somTP_ALinkedList_AcquireExtension(ALinkedList *somSelf, Environment *ev, 
  910.         ODType extensionName);
  911. typedef somTP_ALinkedList_AcquireExtension *somTD_ALinkedList_AcquireExtension;
  912. typedef void   SOMLINK somTP_ALinkedList_ReleaseExtension(ALinkedList *somSelf, Environment *ev, 
  913.         ODExtension* extension);
  914. typedef somTP_ALinkedList_ReleaseExtension *somTD_ALinkedList_ReleaseExtension;
  915. typedef ODSize   SOMLINK somTP_ALinkedList_Purge(ALinkedList *somSelf, Environment *ev, 
  916.         ODSize size);
  917. typedef somTP_ALinkedList_Purge *somTD_ALinkedList_Purge;
  918. typedef ODBoolean   SOMLINK somTP_ALinkedList_IsEqualTo(ALinkedList *somSelf, Environment *ev, 
  919.         ODObject* object);
  920. typedef somTP_ALinkedList_IsEqualTo *somTD_ALinkedList_IsEqualTo;
  921. typedef void   SOMLINK somTP_ALinkedList_SubClassResponsibility(ALinkedList *somSelf, Environment *ev);
  922. typedef somTP_ALinkedList_SubClassResponsibility *somTD_ALinkedList_SubClassResponsibility;
  923. typedef void   SOMLINK somTP_ALinkedList_somInit(ALinkedList *somSelf);
  924. typedef somTP_ALinkedList_somInit *somTD_ALinkedList_somInit;
  925. typedef void   SOMLINK somTP_ALinkedList_somUninit(ALinkedList *somSelf);
  926. typedef somTP_ALinkedList_somUninit *somTD_ALinkedList_somUninit;
  927. typedef void   SOMLINK somTP_ALinkedList_somDefaultInit(ALinkedList *somSelf, 
  928.         som3InitCtrl* ctrl);
  929. typedef somTP_ALinkedList_somDefaultInit *somTD_ALinkedList_somDefaultInit;
  930. typedef void   SOMLINK somTP_ALinkedList_somDestruct(ALinkedList *somSelf, 
  931.         octet doFree, 
  932.         som3DestructCtrl* ctrl);
  933. typedef somTP_ALinkedList_somDestruct *somTD_ALinkedList_somDestruct;
  934. typedef void   SOMLINK somTP_ALinkedList_somDefaultCopyInit(ALinkedList *somSelf, 
  935.         som3InitCtrl* ctrl, 
  936.         SOMObject* fromObj);
  937. typedef somTP_ALinkedList_somDefaultCopyInit *somTD_ALinkedList_somDefaultCopyInit;
  938. typedef ALinkedList*   SOMLINK somTP_ALinkedList_somDefaultAssign(ALinkedList *somSelf, 
  939.         som3AssignCtrl* ctrl, 
  940.         SOMObject* fromObj);
  941. typedef somTP_ALinkedList_somDefaultAssign *somTD_ALinkedList_somDefaultAssign;
  942. typedef void   SOMLINK somTP_ALinkedList_somDefaultConstCopyInit(ALinkedList *somSelf, 
  943.         som3InitCtrl* ctrl, 
  944.         SOMObject* fromObj);
  945. typedef somTP_ALinkedList_somDefaultConstCopyInit *somTD_ALinkedList_somDefaultConstCopyInit;
  946. typedef void   SOMLINK somTP_ALinkedList_somDefaultVCopyInit(ALinkedList *somSelf, 
  947.         som3InitCtrl* ctrl, 
  948.         SOMObject* fromObj);
  949. typedef somTP_ALinkedList_somDefaultVCopyInit *somTD_ALinkedList_somDefaultVCopyInit;
  950. typedef void   SOMLINK somTP_ALinkedList_somDefaultConstVCopyInit(ALinkedList *somSelf, 
  951.         som3InitCtrl* ctrl, 
  952.         SOMObject* fromObj);
  953. typedef somTP_ALinkedList_somDefaultConstVCopyInit *somTD_ALinkedList_somDefaultConstVCopyInit;
  954. typedef ALinkedList*   SOMLINK somTP_ALinkedList_somDefaultConstAssign(ALinkedList *somSelf, 
  955.         som3AssignCtrl* ctrl, 
  956.         SOMObject* fromObj);
  957. typedef somTP_ALinkedList_somDefaultConstAssign *somTD_ALinkedList_somDefaultConstAssign;
  958. typedef ALinkedList*   SOMLINK somTP_ALinkedList_somDefaultVAssign(ALinkedList *somSelf, 
  959.         som3AssignCtrl* ctrl, 
  960.         SOMObject* fromObj);
  961. typedef somTP_ALinkedList_somDefaultVAssign *somTD_ALinkedList_somDefaultVAssign;
  962. typedef ALinkedList*   SOMLINK somTP_ALinkedList_somDefaultConstVAssign(ALinkedList *somSelf, 
  963.         som3AssignCtrl* ctrl, 
  964.         SOMObject* fromObj);
  965. typedef somTP_ALinkedList_somDefaultConstVAssign *somTD_ALinkedList_somDefaultConstVAssign;
  966. typedef void   SOMLINK somTP_ALinkedList_somFree(ALinkedList *somSelf);
  967. typedef somTP_ALinkedList_somFree *somTD_ALinkedList_somFree;
  968. typedef SOMClass*   SOMLINK somTP_ALinkedList_somGetClass(ALinkedList *somSelf);
  969. typedef somTP_ALinkedList_somGetClass *somTD_ALinkedList_somGetClass;
  970. typedef string   SOMLINK somTP_ALinkedList_somGetClassName(ALinkedList *somSelf);
  971. typedef somTP_ALinkedList_somGetClassName *somTD_ALinkedList_somGetClassName;
  972. typedef long   SOMLINK somTP_ALinkedList_somGetSize(ALinkedList *somSelf);
  973. typedef somTP_ALinkedList_somGetSize *somTD_ALinkedList_somGetSize;
  974. typedef boolean   SOMLINK somTP_ALinkedList_somIsA(ALinkedList *somSelf, 
  975.         SOMClass* aClassObj);
  976. typedef somTP_ALinkedList_somIsA *somTD_ALinkedList_somIsA;
  977. typedef boolean   SOMLINK somTP_ALinkedList_somIsInstanceOf(ALinkedList *somSelf, 
  978.         SOMClass* aClassObj);
  979. typedef somTP_ALinkedList_somIsInstanceOf *somTD_ALinkedList_somIsInstanceOf;
  980. typedef boolean   SOMLINK somTP_ALinkedList_somRespondsTo(ALinkedList *somSelf, 
  981.         somId mId);
  982. typedef somTP_ALinkedList_somRespondsTo *somTD_ALinkedList_somRespondsTo;
  983. typedef boolean   SOMLINK somTP_ALinkedList_somDispatch(ALinkedList *somSelf, 
  984.         somToken* retValue, 
  985.         somId methodId, 
  986.         va_list ap);
  987. typedef somTP_ALinkedList_somDispatch *somTD_ALinkedList_somDispatch;
  988. typedef boolean   SOMLINK somTP_ALinkedList_somClassDispatch(ALinkedList *somSelf, 
  989.         SOMClass* clsObj, 
  990.         somToken* retValue, 
  991.         somId methodId, 
  992.         va_list ap);
  993. typedef somTP_ALinkedList_somClassDispatch *somTD_ALinkedList_somClassDispatch;
  994. typedef boolean   SOMLINK somTP_ALinkedList_somCastObj(ALinkedList *somSelf, 
  995.         SOMClass* cls);
  996. typedef somTP_ALinkedList_somCastObj *somTD_ALinkedList_somCastObj;
  997. typedef boolean   SOMLINK somTP_ALinkedList_somResetObj(ALinkedList *somSelf);
  998. typedef somTP_ALinkedList_somResetObj *somTD_ALinkedList_somResetObj;
  999. typedef void   SOMLINK somTP_ALinkedList_somDispatchV(ALinkedList *somSelf, 
  1000.         somId methodId, 
  1001.         somId descriptor, 
  1002.         va_list ap);
  1003. typedef somTP_ALinkedList_somDispatchV *somTD_ALinkedList_somDispatchV;
  1004. typedef long   SOMLINK somTP_ALinkedList_somDispatchL(ALinkedList *somSelf, 
  1005.         somId methodId, 
  1006.         somId descriptor, 
  1007.         va_list ap);
  1008. typedef somTP_ALinkedList_somDispatchL *somTD_ALinkedList_somDispatchL;
  1009. typedef void*   SOMLINK somTP_ALinkedList_somDispatchA(ALinkedList *somSelf, 
  1010.         somId methodId, 
  1011.         somId descriptor, 
  1012.         va_list ap);
  1013. typedef somTP_ALinkedList_somDispatchA *somTD_ALinkedList_somDispatchA;
  1014. typedef double   SOMLINK somTP_ALinkedList_somDispatchD(ALinkedList *somSelf, 
  1015.         somId methodId, 
  1016.         somId descriptor, 
  1017.         va_list ap);
  1018. typedef somTP_ALinkedList_somDispatchD *somTD_ALinkedList_somDispatchD;
  1019. typedef SOMObject*   SOMLINK somTP_ALinkedList_somPrintSelf(ALinkedList *somSelf);
  1020. typedef somTP_ALinkedList_somPrintSelf *somTD_ALinkedList_somPrintSelf;
  1021. typedef void   SOMLINK somTP_ALinkedList_somDumpSelf(ALinkedList *somSelf, 
  1022.         long level);
  1023. typedef somTP_ALinkedList_somDumpSelf *somTD_ALinkedList_somDumpSelf;
  1024. typedef void   SOMLINK somTP_ALinkedList_somDumpSelfInt(ALinkedList *somSelf, 
  1025.         long level);
  1026. typedef somTP_ALinkedList_somDumpSelfInt *somTD_ALinkedList_somDumpSelfInt;
  1027. }
  1028.  
  1029. #endif /* ALinkedList_API */
  1030.  
  1031.  
  1032. /*
  1033.  * -- This emitter treats Method Tokens as Thunks by default.
  1034.  * -- Use the sc modifier "nothunks" to change this default
  1035.  */
  1036. #undef somresolve_
  1037. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  1038.  
  1039. /*
  1040.  * -- The C++ Wrapper Class for ALinkedList
  1041.  */
  1042. class ALinkedList : public ODObject
  1043. {
  1044. public:
  1045.  
  1046. // ALinkedList::new creates the class object if necessary, and then uses somNewNoInit
  1047. // to allocate memory and create the object. Initialization is in ctors.
  1048. void *operator new(size_t)
  1049. {
  1050.    if (!_ALinkedList) ALinkedListNewClass(ALinkedList_MajorVersion,ALinkedList_MinorVersion);
  1051.    return (void*)
  1052.       SOM_Resolve(_ALinkedList,SOMClass,somNewNoInit)
  1053.          ((SOMClass *)((void*)_ALinkedList));
  1054. }
  1055.  
  1056. // ALinkedList::delete uses somDestruct.
  1057. void operator delete(void * obj)
  1058. {
  1059.    if (obj && *(void**)obj) {
  1060.       SOM_Resolve(obj,SOMObject,somFree)
  1061.          ((SOMObject*)obj);
  1062.    }
  1063. }
  1064.  
  1065. ALinkedList& operator=(ALinkedList& fromObj)
  1066. {
  1067.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  1068.    return *this;
  1069. }
  1070.  
  1071. ALinkedList()
  1072. {
  1073.    if (*(void**)this != 
  1074.        ((somParentMtabStructPtr)
  1075.         (ALinkedListCClassData.parentMtab))->mtab)
  1076.       return;
  1077.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  1078. }
  1079.  
  1080. ALinkedList(ALinkedList* fromObj)
  1081. {
  1082.    if (*(void**)this != 
  1083.        ((somParentMtabStructPtr)
  1084.         (ALinkedListCClassData.parentMtab))->mtab)
  1085.       return;
  1086.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  1087. }
  1088.  
  1089. #ifdef __IBMCPP__
  1090. #pragma info(nocnv,nopar)
  1091. #endif
  1092. ALinkedList(const ALinkedList* fromObj)
  1093. {
  1094.    if (*(void**)this != 
  1095.        ((somParentMtabStructPtr)
  1096.         (ALinkedListCClassData.parentMtab))->mtab)
  1097.       return;
  1098.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  1099. }
  1100. #ifdef __IBMCPP__
  1101. #pragma info(restore)
  1102. #endif
  1103.  
  1104.  
  1105. /* method: First */
  1106. ALink*   First(Environment *ev)
  1107. {
  1108. #ifdef SOMCHKEXCEPT
  1109.    ALink* __somResult = 
  1110.       SOM_ResolveD(this,ALinkedList,ALinkedList,First)
  1111.     (this, ev);
  1112.    if ( ev->_major != NO_EXCEPTION )
  1113.       SOMCHKEXCEPT;
  1114.    return __somResult;
  1115. #else
  1116.    return SOM_ResolveD(this,ALinkedList,ALinkedList,First)
  1117.     (this, ev);
  1118. #endif
  1119. }
  1120.  
  1121.  
  1122. /* method: AddFirst */
  1123. void   AddFirst(Environment *ev, 
  1124.         ODPtr content)
  1125. {
  1126.    SOM_ResolveD(this,ALinkedList,ALinkedList,AddFirst)
  1127.     (this, ev,content);
  1128. #ifdef SOMCHKEXCEPT
  1129.    if ( ev->_major != NO_EXCEPTION )
  1130.       SOMCHKEXCEPT;
  1131. #endif
  1132. }
  1133.  
  1134.  
  1135. /* method: AddLast */
  1136. void   AddLast(Environment *ev, 
  1137.         ODPtr content)
  1138. {
  1139.    SOM_ResolveD(this,ALinkedList,ALinkedList,AddLast)
  1140.     (this, ev,content);
  1141. #ifdef SOMCHKEXCEPT
  1142.    if ( ev->_major != NO_EXCEPTION )
  1143.       SOMCHKEXCEPT;
  1144. #endif
  1145. }
  1146.  
  1147.  
  1148. /* method: Remove */
  1149. void   Remove(Environment *ev, 
  1150.         ODPtr content)
  1151. {
  1152.    SOM_ResolveD(this,ALinkedList,ALinkedList,Remove)
  1153.     (this, ev,content);
  1154. #ifdef SOMCHKEXCEPT
  1155.    if ( ev->_major != NO_EXCEPTION )
  1156.       SOMCHKEXCEPT;
  1157. #endif
  1158. }
  1159.  
  1160.  
  1161. /* method: RemoveAll */
  1162. void   RemoveAll(Environment *ev)
  1163. {
  1164.    SOM_ResolveD(this,ALinkedList,ALinkedList,RemoveAll)
  1165.     (this, ev);
  1166. #ifdef SOMCHKEXCEPT
  1167.    if ( ev->_major != NO_EXCEPTION )
  1168.       SOMCHKEXCEPT;
  1169. #endif
  1170. }
  1171.  
  1172.  
  1173. /* method: Contains */
  1174. ODBoolean   Contains(Environment *ev, 
  1175.         ODPtr content)
  1176. {
  1177. #ifdef SOMCHKEXCEPT
  1178.    ODBoolean __somResult = 
  1179.       SOM_ResolveD(this,ALinkedList,ALinkedList,Contains)
  1180.     (this, ev,content);
  1181.    if ( ev->_major != NO_EXCEPTION )
  1182.       SOMCHKEXCEPT;
  1183.    return __somResult;
  1184. #else
  1185.    return SOM_ResolveD(this,ALinkedList,ALinkedList,Contains)
  1186.     (this, ev,content);
  1187. #endif
  1188. }
  1189.  
  1190.  
  1191. /* method: Count */
  1192. ODULong   Count(Environment *ev)
  1193. {
  1194. #ifdef SOMCHKEXCEPT
  1195.    ODULong __somResult = 
  1196.       SOM_ResolveD(this,ALinkedList,ALinkedList,Count)
  1197.     (this, ev);
  1198.    if ( ev->_major != NO_EXCEPTION )
  1199.       SOMCHKEXCEPT;
  1200.    return __somResult;
  1201. #else
  1202.    return SOM_ResolveD(this,ALinkedList,ALinkedList,Count)
  1203.     (this, ev);
  1204. #endif
  1205. }
  1206.  
  1207.  
  1208. /*
  1209.  * Reintroduce inherited methods
  1210.  */
  1211.  
  1212. /* method: InitObject */
  1213. void   InitObject(Environment *ev)
  1214. {
  1215.    SOM_ResolveD(this,ALinkedList,ODObject,InitObject)
  1216.     (this, ev);
  1217. #ifdef SOMCHKEXCEPT
  1218.    if ( ev->_major != NO_EXCEPTION )
  1219.       SOMCHKEXCEPT;
  1220. #endif
  1221. }
  1222.  
  1223.  
  1224. /* method: HasExtension */
  1225. ODBoolean   HasExtension(Environment *ev, 
  1226.         ODType extensionName)
  1227. {
  1228. #ifdef SOMCHKEXCEPT
  1229.    ODBoolean __somResult = 
  1230.       SOM_ResolveD(this,ALinkedList,ODObject,HasExtension)
  1231.     (this, ev,extensionName);
  1232.    if ( ev->_major != NO_EXCEPTION )
  1233.       SOMCHKEXCEPT;
  1234.    return __somResult;
  1235. #else
  1236.    return SOM_ResolveD(this,ALinkedList,ODObject,HasExtension)
  1237.     (this, ev,extensionName);
  1238. #endif
  1239. }
  1240.  
  1241.  
  1242. /* method: AcquireExtension */
  1243. ODExtension*   AcquireExtension(Environment *ev, 
  1244.         ODType extensionName)
  1245. {
  1246. #ifdef SOMCHKEXCEPT
  1247.    ODExtension* __somResult = 
  1248.       SOM_ResolveD(this,ALinkedList,ODObject,AcquireExtension)
  1249.     (this, ev,extensionName);
  1250.    if ( ev->_major != NO_EXCEPTION )
  1251.       SOMCHKEXCEPT;
  1252.    return __somResult;
  1253. #else
  1254.    return SOM_ResolveD(this,ALinkedList,ODObject,AcquireExtension)
  1255.     (this, ev,extensionName);
  1256. #endif
  1257. }
  1258.  
  1259.  
  1260. /* method: ReleaseExtension */
  1261. void   ReleaseExtension(Environment *ev, 
  1262.         ODExtension* extension)
  1263. {
  1264.    SOM_ResolveD(this,ALinkedList,ODObject,ReleaseExtension)
  1265.     (this, ev,extension);
  1266. #ifdef SOMCHKEXCEPT
  1267.    if ( ev->_major != NO_EXCEPTION )
  1268.       SOMCHKEXCEPT;
  1269. #endif
  1270. }
  1271.  
  1272.  
  1273. /* method: Purge */
  1274. ODSize   Purge(Environment *ev, 
  1275.         ODSize size)
  1276. {
  1277. #ifdef SOMCHKEXCEPT
  1278.    ODSize __somResult = 
  1279.       SOM_ResolveD(this,ALinkedList,ODObject,Purge)
  1280.     (this, ev,size);
  1281.    if ( ev->_major != NO_EXCEPTION )
  1282.       SOMCHKEXCEPT;
  1283.    return __somResult;
  1284. #else
  1285.    return SOM_ResolveD(this,ALinkedList,ODObject,Purge)
  1286.     (this, ev,size);
  1287. #endif
  1288. }
  1289.  
  1290.  
  1291. /* method: IsEqualTo */
  1292. ODBoolean   IsEqualTo(Environment *ev, 
  1293.         ODObject* object)
  1294. {
  1295. #ifdef SOMCHKEXCEPT
  1296.    ODBoolean __somResult = 
  1297.       SOM_ResolveD(this,ALinkedList,ODObject,IsEqualTo)
  1298.     (this, ev,object);
  1299.    if ( ev->_major != NO_EXCEPTION )
  1300.       SOMCHKEXCEPT;
  1301.    return __somResult;
  1302. #else
  1303.    return SOM_ResolveD(this,ALinkedList,ODObject,IsEqualTo)
  1304.     (this, ev,object);
  1305. #endif
  1306. }
  1307.  
  1308.  
  1309. /* method: SubClassResponsibility */
  1310. void   SubClassResponsibility(Environment *ev)
  1311. {
  1312.    SOM_ResolveD(this,ALinkedList,ODObject,SubClassResponsibility)
  1313.     (this, ev);
  1314. #ifdef SOMCHKEXCEPT
  1315.    if ( ev->_major != NO_EXCEPTION )
  1316.       SOMCHKEXCEPT;
  1317. #endif
  1318. }
  1319.  
  1320.  
  1321. /* method: somInit */
  1322. void   somInit()
  1323. {
  1324.    SOM_ResolveD(this,ALinkedList,SOMObject,somInit)
  1325.     (this);
  1326. }
  1327.  
  1328.  
  1329. /* method: somUninit */
  1330. void   somUninit()
  1331. {
  1332.    SOM_ResolveD(this,ALinkedList,SOMObject,somUninit)
  1333.     (this);
  1334. }
  1335.  
  1336.  
  1337. /* initializer method: somDefaultInit */
  1338. void   somDefaultInit(som3InitCtrl* ctrl)
  1339. {
  1340.    SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultInit)
  1341.     (this,ctrl);
  1342. }
  1343.  
  1344.  
  1345. /* method: somDestruct */
  1346. void   somDestruct(octet doFree, 
  1347.         som3DestructCtrl* ctrl)
  1348. {
  1349.    SOM_ResolveD(this,ALinkedList,SOMObject,somDestruct)
  1350.     (this,doFree,ctrl);
  1351. }
  1352.  
  1353.  
  1354. /* initializer method: somDefaultCopyInit */
  1355. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  1356.         SOMObject* fromObj)
  1357. {
  1358.    SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultCopyInit)
  1359.     (this,ctrl,fromObj);
  1360. }
  1361.  
  1362.  
  1363. /* method: somDefaultAssign */
  1364. ALinkedList*  somDefaultAssign(som3AssignCtrl* ctrl, 
  1365.         SOMObject* fromObj)
  1366. {
  1367.    return SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultAssign)
  1368.     (this,ctrl,fromObj);
  1369. }
  1370.  
  1371.  
  1372. /* initializer method: somDefaultConstCopyInit */
  1373. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  1374.         SOMObject* fromObj)
  1375. {
  1376.    SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultConstCopyInit)
  1377.     (this,ctrl,fromObj);
  1378. }
  1379.  
  1380.  
  1381. /* initializer method: somDefaultVCopyInit */
  1382. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  1383.         SOMObject* fromObj)
  1384. {
  1385.    SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultVCopyInit)
  1386.     (this,ctrl,fromObj);
  1387. }
  1388.  
  1389.  
  1390. /* initializer method: somDefaultConstVCopyInit */
  1391. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  1392.         SOMObject* fromObj)
  1393. {
  1394.    SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultConstVCopyInit)
  1395.     (this,ctrl,fromObj);
  1396. }
  1397.  
  1398.  
  1399. /* method: somDefaultConstAssign */
  1400. ALinkedList*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  1401.         SOMObject* fromObj)
  1402. {
  1403.    return SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultConstAssign)
  1404.     (this,ctrl,fromObj);
  1405. }
  1406.  
  1407.  
  1408. /* method: somDefaultVAssign */
  1409. ALinkedList*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  1410.         SOMObject* fromObj)
  1411. {
  1412.    return SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultVAssign)
  1413.     (this,ctrl,fromObj);
  1414. }
  1415.  
  1416.  
  1417. /* method: somDefaultConstVAssign */
  1418. ALinkedList*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  1419.         SOMObject* fromObj)
  1420. {
  1421.    return SOM_ResolveD(this,ALinkedList,SOMObject,somDefaultConstVAssign)
  1422.     (this,ctrl,fromObj);
  1423. }
  1424.  
  1425.  
  1426. /* method: somFree */
  1427. void   somFree()
  1428. {
  1429.    SOM_ResolveD(this,ALinkedList,SOMObject,somFree)
  1430.     (this);
  1431. }
  1432.  
  1433.  
  1434. /* method: somGetClass */
  1435. SOMClass*   somGetClass()
  1436. {
  1437.    return SOM_ResolveD(this,ALinkedList,SOMObject,somGetClass)
  1438.     (this);
  1439. }
  1440.  
  1441.  
  1442. /* method: somGetClassName */
  1443. string   somGetClassName()
  1444. {
  1445.    return SOM_ResolveD(this,ALinkedList,SOMObject,somGetClassName)
  1446.     (this);
  1447. }
  1448.  
  1449.  
  1450. /* method: somGetSize */
  1451. long   somGetSize()
  1452. {
  1453.    return SOM_ResolveD(this,ALinkedList,SOMObject,somGetSize)
  1454.     (this);
  1455. }
  1456.  
  1457.  
  1458. /* method: somIsA */
  1459. boolean   somIsA(SOMClass* aClassObj)
  1460. {
  1461.    return SOM_ResolveD(this,ALinkedList,SOMObject,somIsA)
  1462.     (this,aClassObj);
  1463. }
  1464.  
  1465.  
  1466. /* method: somIsInstanceOf */
  1467. boolean   somIsInstanceOf(SOMClass* aClassObj)
  1468. {
  1469.    return SOM_ResolveD(this,ALinkedList,SOMObject,somIsInstanceOf)
  1470.     (this,aClassObj);
  1471. }
  1472.  
  1473.  
  1474. /* method: somRespondsTo */
  1475. boolean   somRespondsTo(somId mId)
  1476. {
  1477.    return SOM_ResolveD(this,ALinkedList,SOMObject,somRespondsTo)
  1478.     (this,mId);
  1479. }
  1480.  
  1481.  
  1482. /* va_list method: somDispatch */
  1483.  
  1484. /* the va_list invocation form */
  1485. boolean   ALinkedList_somDispatch(somToken* retValue, 
  1486.         somId methodId, 
  1487.         va_list ap)
  1488. {return SOM_ResolveD(this,ALinkedList,SOMObject,somDispatch)
  1489.     (this,retValue,methodId,ap);
  1490. }
  1491.  
  1492. /* the varargs invocation form */
  1493. boolean   somDispatch(somToken* retValue, 
  1494.         somId methodId, 
  1495.         ...)
  1496. {
  1497.    va_list ap;
  1498.    va_start(ap, methodId);
  1499.    boolean __somResult = 
  1500.       SOM_ResolveD(this,ALinkedList,SOMObject,somDispatch)
  1501.     (this,retValue,methodId,ap);
  1502.    va_end(ap);
  1503.    return __somResult;
  1504. }
  1505.  
  1506.  
  1507. /* va_list method: somClassDispatch */
  1508.  
  1509. /* the va_list invocation form */
  1510. boolean   ALinkedList_somClassDispatch(SOMClass* clsObj, 
  1511.         somToken* retValue, 
  1512.         somId methodId, 
  1513.         va_list ap)
  1514. {return SOM_ResolveD(this,ALinkedList,SOMObject,somClassDispatch)
  1515.     (this,clsObj,retValue,methodId,ap);
  1516. }
  1517.  
  1518. /* the varargs invocation form */
  1519. boolean   somClassDispatch(SOMClass* clsObj, 
  1520.         somToken* retValue, 
  1521.         somId methodId, 
  1522.         ...)
  1523. {
  1524.    va_list ap;
  1525.    va_start(ap, methodId);
  1526.    boolean __somResult = 
  1527.       SOM_ResolveD(this,ALinkedList,SOMObject,somClassDispatch)
  1528.     (this,clsObj,retValue,methodId,ap);
  1529.    va_end(ap);
  1530.    return __somResult;
  1531. }
  1532.  
  1533.  
  1534. /* method: somCastObj */
  1535. boolean   somCastObj(SOMClass* cls)
  1536. {
  1537.    return SOM_ResolveD(this,ALinkedList,SOMObject,somCastObj)
  1538.     (this,cls);
  1539. }
  1540.  
  1541.  
  1542. /* method: somResetObj */
  1543. boolean   somResetObj()
  1544. {
  1545.    return SOM_ResolveD(this,ALinkedList,SOMObject,somResetObj)
  1546.     (this);
  1547. }
  1548.  
  1549.  
  1550. /* va_list method: somDispatchV */
  1551.  
  1552. /* the va_list invocation form */
  1553. void   ALinkedList_somDispatchV(somId methodId, 
  1554.         somId descriptor, 
  1555.         va_list ap)
  1556. {   SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchV)
  1557.     (this,methodId,descriptor,ap);
  1558. }
  1559.  
  1560. /* the varargs invocation form */
  1561. void   somDispatchV(somId methodId, 
  1562.         somId descriptor, 
  1563.         ...)
  1564. {
  1565.    va_list ap;
  1566.    va_start(ap, descriptor);
  1567.    SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchV)
  1568.     (this,methodId,descriptor,ap);
  1569.    va_end(ap);
  1570. }
  1571.  
  1572.  
  1573. /* va_list method: somDispatchL */
  1574.  
  1575. /* the va_list invocation form */
  1576. long   ALinkedList_somDispatchL(somId methodId, 
  1577.         somId descriptor, 
  1578.         va_list ap)
  1579. {return SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchL)
  1580.     (this,methodId,descriptor,ap);
  1581. }
  1582.  
  1583. /* the varargs invocation form */
  1584. long   somDispatchL(somId methodId, 
  1585.         somId descriptor, 
  1586.         ...)
  1587. {
  1588.    va_list ap;
  1589.    va_start(ap, descriptor);
  1590.    long __somResult = 
  1591.       SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchL)
  1592.     (this,methodId,descriptor,ap);
  1593.    va_end(ap);
  1594.    return __somResult;
  1595. }
  1596.  
  1597.  
  1598. /* va_list method: somDispatchA */
  1599.  
  1600. /* the va_list invocation form */
  1601. void*   ALinkedList_somDispatchA(somId methodId, 
  1602.         somId descriptor, 
  1603.         va_list ap)
  1604. {return SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchA)
  1605.     (this,methodId,descriptor,ap);
  1606. }
  1607.  
  1608. /* the varargs invocation form */
  1609. void*   somDispatchA(somId methodId, 
  1610.         somId descriptor, 
  1611.         ...)
  1612. {
  1613.    va_list ap;
  1614.    va_start(ap, descriptor);
  1615.    void* __somResult = 
  1616.       SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchA)
  1617.     (this,methodId,descriptor,ap);
  1618.    va_end(ap);
  1619.    return __somResult;
  1620. }
  1621.  
  1622.  
  1623. /* va_list method: somDispatchD */
  1624.  
  1625. /* the va_list invocation form */
  1626. double   ALinkedList_somDispatchD(somId methodId, 
  1627.         somId descriptor, 
  1628.         va_list ap)
  1629. {return SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchD)
  1630.     (this,methodId,descriptor,ap);
  1631. }
  1632.  
  1633. /* the varargs invocation form */
  1634. double   somDispatchD(somId methodId, 
  1635.         somId descriptor, 
  1636.         ...)
  1637. {
  1638.    va_list ap;
  1639.    va_start(ap, descriptor);
  1640.    double __somResult = 
  1641.       SOM_ResolveD(this,ALinkedList,SOMObject,somDispatchD)
  1642.     (this,methodId,descriptor,ap);
  1643.    va_end(ap);
  1644.    return __somResult;
  1645. }
  1646.  
  1647.  
  1648. /* method: somPrintSelf */
  1649. SOMObject*   somPrintSelf()
  1650. {
  1651.    return SOM_ResolveD(this,ALinkedList,SOMObject,somPrintSelf)
  1652.     (this);
  1653. }
  1654.  
  1655.  
  1656. /* method: somDumpSelf */
  1657. void   somDumpSelf(long level)
  1658. {
  1659.    SOM_ResolveD(this,ALinkedList,SOMObject,somDumpSelf)
  1660.     (this,level);
  1661. }
  1662.  
  1663.  
  1664. /* method: somDumpSelfInt */
  1665. void   somDumpSelfInt(long level)
  1666. {
  1667.    SOM_ResolveD(this,ALinkedList,SOMObject,somDumpSelfInt)
  1668.     (this,level);
  1669. }
  1670.  
  1671.  
  1672.  
  1673. };   /* ALinkedList */
  1674.  
  1675.  
  1676.  
  1677. #endif       /* SOM_ALinkedList_xh */
  1678.