home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / tpllitr.xh < prev    next >
Text File  |  1999-02-22  |  30KB  |  867 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tpllitr.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emitxh: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somuc
  12.  * 
  13.  *    ORIGINS: 82, 81, 27
  14.  * 
  15.  * 
  16.  *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,1996
  17.  *    All Rights Reserved
  18.  *    Licensed Materials - Property of IBM
  19.  *    US Government Users Restricted Rights - Use, duplication or
  20.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  21.  * 
  22.  *    Copyright ⌐ 1988, 1989 Apple Computer, Inc. All rights reserved.
  23.  * 
  24.  * CLASS_NAME: somf_TPrimitiveLinkedListIterator
  25.  * 
  26.  * DESCRIPTION: An iterator for somf_TPrimitiveLinkedList that will iterate over
  27.  *              all of the objects in a primitive linked list.
  28.  * 
  29.  * 
  30.  */
  31.  
  32.  
  33. #ifndef SOM_somf_TPrimitiveLinkedListIterator_xh
  34. #define SOM_somf_TPrimitiveLinkedListIterator_xh
  35.  
  36. class somf_TPrimitiveLinkedListIterator;
  37.  
  38. #define somf_TPrimitiveLinkedListIterator_MajorVersion 2
  39. #define somf_TPrimitiveLinkedListIterator_MinorVersion 1
  40.  
  41. /* C++ SOM defs */
  42. #include <somcls.xh>
  43. #include <somcm.xh>
  44.  
  45. /* C++ parent defs */
  46. #ifndef SOM_SOMObject_xh
  47. #include <somobj.xh>
  48. #endif
  49.  
  50. #ifndef somf_TPrimitiveLinkedListIterator_API
  51. #define somf_TPrimitiveLinkedListIterator_API
  52. /*
  53.  * -- The Class API
  54.  */
  55.  
  56. /*
  57.  * Start of bindings for IDL types
  58.  */
  59.  
  60. class SOMClass;
  61. class SOMObject;
  62. class somf_TPrimitiveLinkedList;
  63. class somf_MLinkable;
  64.  
  65. /*
  66.  * End of bindings for IDL types.
  67.  */
  68.  
  69. /*
  70.  * Passthru lines: File: "C.xh", "after"
  71.  */
  72.  
  73. #include <mlink.xh>
  74. #include <tpll.xh>
  75.  
  76. /* A procedure to create the somf_TPrimitiveLinkedListIterator Class */
  77. SOMEXTERN SOMClass * SOMLINK somf_TPrimitiveLinkedListIteratorNewClass(
  78.         integer4 majorVersion,
  79.         integer4 minorVersion);
  80.  
  81. /* The API to the somf_TPrimitiveLinkedListIterator class object, and the methods it introduces. */
  82. SOMEXTERN struct somf_TPrimitiveLinkedListIteratorClassDataStructure {
  83.     SOMClass *classObject;
  84.     somMToken somfFirst;
  85.     somMToken somfNext;
  86.     somMToken somfLast;
  87.     somMToken somfPrevious;
  88.     somMToken somfTPrimitiveLinkedListIteratorInit;
  89. } SOMDLINK somf_TPrimitiveLinkedListIteratorClassData;
  90. #define _somf_TPrimitiveLinkedListIterator somf_TPrimitiveLinkedListIteratorClassData.classObject
  91.  
  92. /* The API to parentMtabs for somf_TPrimitiveLinkedListIterator, and the instance data it introduces. */
  93. SOMEXTERN struct somf_TPrimitiveLinkedListIteratorCClassDataStructure {
  94.     somMethodTabs parentMtab;
  95.     somDToken              instanceDataToken;
  96. } SOMDLINK somf_TPrimitiveLinkedListIteratorCClassData;
  97.  
  98. /*
  99.  * -- Typedefs for somf_TPrimitiveLinkedListIterator Method Procedures
  100.  */
  101. SOMEXTERN {
  102. typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev, 
  103.         somf_TPrimitiveLinkedList* list);
  104. typedef somTP_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit *somTD_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit;
  105. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfFirst(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  106. typedef somTP_somf_TPrimitiveLinkedListIterator_somfFirst *somTD_somf_TPrimitiveLinkedListIterator_somfFirst;
  107. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfNext(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  108. typedef somTP_somf_TPrimitiveLinkedListIterator_somfNext *somTD_somf_TPrimitiveLinkedListIterator_somfNext;
  109. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfLast(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  110. typedef somTP_somf_TPrimitiveLinkedListIterator_somfLast *somTD_somf_TPrimitiveLinkedListIterator_somfLast;
  111. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfPrevious(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  112. typedef somTP_somf_TPrimitiveLinkedListIterator_somfPrevious *somTD_somf_TPrimitiveLinkedListIterator_somfPrevious;
  113.  
  114. /*
  115.  * -- Typedefs for Reintroduced Wrapper Methods
  116.  */
  117. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultInit(somf_TPrimitiveLinkedListIterator *somSelf, 
  118.         som3InitCtrl* ctrl);
  119. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultInit *somTD_somf_TPrimitiveLinkedListIterator_somDefaultInit;
  120. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDestruct(somf_TPrimitiveLinkedListIterator *somSelf, 
  121.         octet doFree, 
  122.         som3DestructCtrl* ctrl);
  123. typedef somTP_somf_TPrimitiveLinkedListIterator_somDestruct *somTD_somf_TPrimitiveLinkedListIterator_somDestruct;
  124. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultCopyInit(somf_TPrimitiveLinkedListIterator *somSelf, 
  125.         som3InitCtrl* ctrl, 
  126.         SOMObject* fromObj);
  127. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultCopyInit *somTD_somf_TPrimitiveLinkedListIterator_somDefaultCopyInit;
  128. typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultAssign(somf_TPrimitiveLinkedListIterator *somSelf, 
  129.         som3AssignCtrl* ctrl, 
  130.         SOMObject* fromObj);
  131. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultAssign *somTD_somf_TPrimitiveLinkedListIterator_somDefaultAssign;
  132. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstCopyInit(somf_TPrimitiveLinkedListIterator *somSelf, 
  133.         som3InitCtrl* ctrl, 
  134.         SOMObject* fromObj);
  135. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstCopyInit *somTD_somf_TPrimitiveLinkedListIterator_somDefaultConstCopyInit;
  136. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultVCopyInit(somf_TPrimitiveLinkedListIterator *somSelf, 
  137.         som3InitCtrl* ctrl, 
  138.         SOMObject* fromObj);
  139. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultVCopyInit *somTD_somf_TPrimitiveLinkedListIterator_somDefaultVCopyInit;
  140. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstVCopyInit(somf_TPrimitiveLinkedListIterator *somSelf, 
  141.         som3InitCtrl* ctrl, 
  142.         SOMObject* fromObj);
  143. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstVCopyInit *somTD_somf_TPrimitiveLinkedListIterator_somDefaultConstVCopyInit;
  144. typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstAssign(somf_TPrimitiveLinkedListIterator *somSelf, 
  145.         som3AssignCtrl* ctrl, 
  146.         SOMObject* fromObj);
  147. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstAssign *somTD_somf_TPrimitiveLinkedListIterator_somDefaultConstAssign;
  148. typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultVAssign(somf_TPrimitiveLinkedListIterator *somSelf, 
  149.         som3AssignCtrl* ctrl, 
  150.         SOMObject* fromObj);
  151. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultVAssign *somTD_somf_TPrimitiveLinkedListIterator_somDefaultVAssign;
  152. typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstVAssign(somf_TPrimitiveLinkedListIterator *somSelf, 
  153.         som3AssignCtrl* ctrl, 
  154.         SOMObject* fromObj);
  155. typedef somTP_somf_TPrimitiveLinkedListIterator_somDefaultConstVAssign *somTD_somf_TPrimitiveLinkedListIterator_somDefaultConstVAssign;
  156. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somInit(somf_TPrimitiveLinkedListIterator *somSelf);
  157. typedef somTP_somf_TPrimitiveLinkedListIterator_somInit *somTD_somf_TPrimitiveLinkedListIterator_somInit;
  158. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somFree(somf_TPrimitiveLinkedListIterator *somSelf);
  159. typedef somTP_somf_TPrimitiveLinkedListIterator_somFree *somTD_somf_TPrimitiveLinkedListIterator_somFree;
  160. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somUninit(somf_TPrimitiveLinkedListIterator *somSelf);
  161. typedef somTP_somf_TPrimitiveLinkedListIterator_somUninit *somTD_somf_TPrimitiveLinkedListIterator_somUninit;
  162. typedef SOMClass*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somGetClass(somf_TPrimitiveLinkedListIterator *somSelf);
  163. typedef somTP_somf_TPrimitiveLinkedListIterator_somGetClass *somTD_somf_TPrimitiveLinkedListIterator_somGetClass;
  164. typedef string   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somGetClassName(somf_TPrimitiveLinkedListIterator *somSelf);
  165. typedef somTP_somf_TPrimitiveLinkedListIterator_somGetClassName *somTD_somf_TPrimitiveLinkedListIterator_somGetClassName;
  166. typedef long   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somGetSize(somf_TPrimitiveLinkedListIterator *somSelf);
  167. typedef somTP_somf_TPrimitiveLinkedListIterator_somGetSize *somTD_somf_TPrimitiveLinkedListIterator_somGetSize;
  168. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somIsA(somf_TPrimitiveLinkedListIterator *somSelf, 
  169.         SOMClass* aClassObj);
  170. typedef somTP_somf_TPrimitiveLinkedListIterator_somIsA *somTD_somf_TPrimitiveLinkedListIterator_somIsA;
  171. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somIsInstanceOf(somf_TPrimitiveLinkedListIterator *somSelf, 
  172.         SOMClass* aClassObj);
  173. typedef somTP_somf_TPrimitiveLinkedListIterator_somIsInstanceOf *somTD_somf_TPrimitiveLinkedListIterator_somIsInstanceOf;
  174. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somRespondsTo(somf_TPrimitiveLinkedListIterator *somSelf, 
  175.         somId mId);
  176. typedef somTP_somf_TPrimitiveLinkedListIterator_somRespondsTo *somTD_somf_TPrimitiveLinkedListIterator_somRespondsTo;
  177. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDispatch(somf_TPrimitiveLinkedListIterator *somSelf, 
  178.         somToken* retValue, 
  179.         somId methodId, 
  180.         va_list ap);
  181. typedef somTP_somf_TPrimitiveLinkedListIterator_somDispatch *somTD_somf_TPrimitiveLinkedListIterator_somDispatch;
  182. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somClassDispatch(somf_TPrimitiveLinkedListIterator *somSelf, 
  183.         SOMClass* clsObj, 
  184.         somToken* retValue, 
  185.         somId methodId, 
  186.         va_list ap);
  187. typedef somTP_somf_TPrimitiveLinkedListIterator_somClassDispatch *somTD_somf_TPrimitiveLinkedListIterator_somClassDispatch;
  188. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somCastObj(somf_TPrimitiveLinkedListIterator *somSelf, 
  189.         SOMClass* cls);
  190. typedef somTP_somf_TPrimitiveLinkedListIterator_somCastObj *somTD_somf_TPrimitiveLinkedListIterator_somCastObj;
  191. typedef boolean   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somResetObj(somf_TPrimitiveLinkedListIterator *somSelf);
  192. typedef somTP_somf_TPrimitiveLinkedListIterator_somResetObj *somTD_somf_TPrimitiveLinkedListIterator_somResetObj;
  193. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDispatchV(somf_TPrimitiveLinkedListIterator *somSelf, 
  194.         somId methodId, 
  195.         somId descriptor, 
  196.         va_list ap);
  197. typedef somTP_somf_TPrimitiveLinkedListIterator_somDispatchV *somTD_somf_TPrimitiveLinkedListIterator_somDispatchV;
  198. typedef long   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDispatchL(somf_TPrimitiveLinkedListIterator *somSelf, 
  199.         somId methodId, 
  200.         somId descriptor, 
  201.         va_list ap);
  202. typedef somTP_somf_TPrimitiveLinkedListIterator_somDispatchL *somTD_somf_TPrimitiveLinkedListIterator_somDispatchL;
  203. typedef void*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDispatchA(somf_TPrimitiveLinkedListIterator *somSelf, 
  204.         somId methodId, 
  205.         somId descriptor, 
  206.         va_list ap);
  207. typedef somTP_somf_TPrimitiveLinkedListIterator_somDispatchA *somTD_somf_TPrimitiveLinkedListIterator_somDispatchA;
  208. typedef double   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDispatchD(somf_TPrimitiveLinkedListIterator *somSelf, 
  209.         somId methodId, 
  210.         somId descriptor, 
  211.         va_list ap);
  212. typedef somTP_somf_TPrimitiveLinkedListIterator_somDispatchD *somTD_somf_TPrimitiveLinkedListIterator_somDispatchD;
  213. typedef SOMObject*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somPrintSelf(somf_TPrimitiveLinkedListIterator *somSelf);
  214. typedef somTP_somf_TPrimitiveLinkedListIterator_somPrintSelf *somTD_somf_TPrimitiveLinkedListIterator_somPrintSelf;
  215. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDumpSelf(somf_TPrimitiveLinkedListIterator *somSelf, 
  216.         long level);
  217. typedef somTP_somf_TPrimitiveLinkedListIterator_somDumpSelf *somTD_somf_TPrimitiveLinkedListIterator_somDumpSelf;
  218. typedef void   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somDumpSelfInt(somf_TPrimitiveLinkedListIterator *somSelf, 
  219.         long level);
  220. typedef somTP_somf_TPrimitiveLinkedListIterator_somDumpSelfInt *somTD_somf_TPrimitiveLinkedListIterator_somDumpSelfInt;
  221. }
  222.  
  223. #endif /* somf_TPrimitiveLinkedListIterator_API */
  224.  
  225.  
  226. /*
  227.  * -- This emitter treats Method Tokens as Thunks by default.
  228.  * -- Use the sc modifier "nothunks" to change this default
  229.  */
  230. #undef somresolve_
  231. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  232.  
  233. /*
  234.  * -- The C++ Wrapper Class for somf_TPrimitiveLinkedListIterator
  235.  */
  236. class somf_TPrimitiveLinkedListIterator : public SOMObject
  237. {
  238. public:
  239.  
  240. // somf_TPrimitiveLinkedListIterator::new creates the class object if necessary, and then uses somNewNoInit
  241. // to allocate memory and create the object. Initialization is in ctors.
  242. void *operator new(size_t)
  243. {
  244.    if (!_somf_TPrimitiveLinkedListIterator) somf_TPrimitiveLinkedListIteratorNewClass(somf_TPrimitiveLinkedListIterator_MajorVersion,somf_TPrimitiveLinkedListIterator_MinorVersion);
  245.    return (void*)
  246.       SOM_Resolve(_somf_TPrimitiveLinkedListIterator,SOMClass,somNewNoInit)
  247.          ((SOMClass *)((void*)_somf_TPrimitiveLinkedListIterator));
  248. }
  249.  
  250. // somf_TPrimitiveLinkedListIterator::delete uses somDestruct.
  251. void operator delete(void * obj)
  252. {
  253.    if (obj && *(void**)obj) {
  254.       SOM_Resolve(obj,SOMObject,somFree)
  255.          ((SOMObject*)obj);
  256.    }
  257. }
  258.  
  259. somf_TPrimitiveLinkedListIterator& operator=(somf_TPrimitiveLinkedListIterator& fromObj)
  260. {
  261.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  262.    return *this;
  263. }
  264.  
  265. somf_TPrimitiveLinkedListIterator()
  266. {
  267.    if (*(void**)this != 
  268.        ((somParentMtabStructPtr)
  269.         (somf_TPrimitiveLinkedListIteratorCClassData.parentMtab))->mtab)
  270.       return;
  271.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  272. }
  273.  
  274. somf_TPrimitiveLinkedListIterator(somf_TPrimitiveLinkedListIterator* fromObj)
  275. {
  276.    if (*(void**)this != 
  277.        ((somParentMtabStructPtr)
  278.         (somf_TPrimitiveLinkedListIteratorCClassData.parentMtab))->mtab)
  279.       return;
  280.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  281. }
  282.  
  283. #ifdef __IBMCPP__
  284. #pragma info(nocnv,nopar)
  285. #endif
  286. somf_TPrimitiveLinkedListIterator(const somf_TPrimitiveLinkedListIterator* fromObj)
  287. {
  288.    if (*(void**)this != 
  289.        ((somParentMtabStructPtr)
  290.         (somf_TPrimitiveLinkedListIteratorCClassData.parentMtab))->mtab)
  291.       return;
  292.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  293. }
  294. #ifdef __IBMCPP__
  295. #pragma info(restore)
  296. #endif
  297.  
  298.  
  299. /* method: somfTPrimitiveLinkedListIteratorInit */
  300. somf_TPrimitiveLinkedListIterator*   somfTPrimitiveLinkedListIteratorInit(Environment *ev, 
  301.         somf_TPrimitiveLinkedList* list)
  302. {
  303. /*
  304.  *  Initialize somf_TPrimitiveLinkedListIterator using somf_TPrimitiveLinkedList list.
  305.  */
  306.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,somf_TPrimitiveLinkedListIterator,somfTPrimitiveLinkedListIteratorInit)
  307.     (this, ev,list);
  308. }
  309.  
  310.  
  311. /* method: somfFirst */
  312. somf_MLinkable*   somfFirst(Environment *ev)
  313. {
  314. /*
  315.  *  Reset the iterator and return the first element of the list.
  316.  */
  317.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,somf_TPrimitiveLinkedListIterator,somfFirst)
  318.     (this, ev);
  319. }
  320.  
  321.  
  322. /* method: somfNext */
  323. somf_MLinkable*   somfNext(Environment *ev)
  324. {
  325. /*
  326.  *  Retrieve the next object in the list and return it.
  327.  */
  328.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,somf_TPrimitiveLinkedListIterator,somfNext)
  329.     (this, ev);
  330. }
  331.  
  332.  
  333. /* method: somfLast */
  334. somf_MLinkable*   somfLast(Environment *ev)
  335. {
  336. /*
  337.  *  Retrieve the last object in the list and return it.
  338.  */
  339.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,somf_TPrimitiveLinkedListIterator,somfLast)
  340.     (this, ev);
  341. }
  342.  
  343.  
  344. /* method: somfPrevious */
  345. somf_MLinkable*   somfPrevious(Environment *ev)
  346. {
  347. /*
  348.  *  Retrieve the previous object in the list and return it.
  349.  */
  350.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,somf_TPrimitiveLinkedListIterator,somfPrevious)
  351.     (this, ev);
  352. }
  353.  
  354.  
  355. /*
  356.  * Reintroduce inherited methods
  357.  */
  358.  
  359. /* initializer method: somDefaultInit */
  360. void   somDefaultInit(som3InitCtrl* ctrl)
  361. {
  362. /*
  363.  *  A default initializer for a SOM object. Passing a null ctrl
  364.  *  indicates to the receiver that its class is the class of the
  365.  *  object being initialized, whereby the initializer will determine
  366.  *  an appropriate control structure.
  367.  */
  368.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultInit)
  369.     (this,ctrl);
  370. }
  371.  
  372.  
  373. /* method: somDestruct */
  374. void   somDestruct(octet doFree, 
  375.         som3DestructCtrl* ctrl)
  376. {
  377. /*
  378.  *  The default destructor for a SOM object. A nonzero <doFree>
  379.  *  indicates that the object storage should be freed by the
  380.  *  object's class (via somDeallocate) after uninitialization.
  381.  *  As with somDefaultInit, a null ctrl can be passed.
  382.  */
  383.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDestruct)
  384.     (this,doFree,ctrl);
  385. }
  386.  
  387.  
  388. /* initializer method: somDefaultCopyInit */
  389. void   somDefaultCopyInit(som3InitCtrl* ctrl, 
  390.         SOMObject* fromObj)
  391. {
  392. /*
  393.  *  A default copy constructor. Use this to make copies of objects for
  394.  *  calling methods with "by-value" argument semantics.
  395.  */
  396.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultCopyInit)
  397.     (this,ctrl,fromObj);
  398. }
  399.  
  400.  
  401. /* method: somDefaultAssign */
  402. somf_TPrimitiveLinkedListIterator*  somDefaultAssign(som3AssignCtrl* ctrl, 
  403.         SOMObject* fromObj)
  404. {
  405. /*
  406.  *  A default assignment operator. Use this to "assign" the state of one
  407.  *  object to another.
  408.  */
  409.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultAssign)
  410.     (this,ctrl,fromObj);
  411. }
  412.  
  413.  
  414. /* initializer method: somDefaultConstCopyInit */
  415. void   somDefaultConstCopyInit(som3InitCtrl* ctrl, 
  416.         SOMObject* fromObj)
  417. {
  418. /*
  419.  *  A default copy constructor that uses a const fromObj.
  420.  */
  421.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultConstCopyInit)
  422.     (this,ctrl,fromObj);
  423. }
  424.  
  425.  
  426. /* initializer method: somDefaultVCopyInit */
  427. void   somDefaultVCopyInit(som3InitCtrl* ctrl, 
  428.         SOMObject* fromObj)
  429. {
  430. /*
  431.  *  A default copy constructor that uses a volatile fromObj.
  432.  */
  433.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultVCopyInit)
  434.     (this,ctrl,fromObj);
  435. }
  436.  
  437.  
  438. /* initializer method: somDefaultConstVCopyInit */
  439. void   somDefaultConstVCopyInit(som3InitCtrl* ctrl, 
  440.         SOMObject* fromObj)
  441. {
  442. /*
  443.  *  A default copy constructor that uses a const volatile fromObj.
  444.  */
  445.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultConstVCopyInit)
  446.     (this,ctrl,fromObj);
  447. }
  448.  
  449.  
  450. /* method: somDefaultConstAssign */
  451. somf_TPrimitiveLinkedListIterator*  somDefaultConstAssign(som3AssignCtrl* ctrl, 
  452.         SOMObject* fromObj)
  453. {
  454. /*
  455.  *  A default assignment operator that uses a const fromObj.
  456.  */
  457.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultConstAssign)
  458.     (this,ctrl,fromObj);
  459. }
  460.  
  461.  
  462. /* method: somDefaultVAssign */
  463. somf_TPrimitiveLinkedListIterator*  somDefaultVAssign(som3AssignCtrl* ctrl, 
  464.         SOMObject* fromObj)
  465. {
  466. /*
  467.  *  A default assignment operator that uses a volatile fromObj.
  468.  */
  469.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultVAssign)
  470.     (this,ctrl,fromObj);
  471. }
  472.  
  473.  
  474. /* method: somDefaultConstVAssign */
  475. somf_TPrimitiveLinkedListIterator*  somDefaultConstVAssign(som3AssignCtrl* ctrl, 
  476.         SOMObject* fromObj)
  477. {
  478. /*
  479.  *  A default assignment operator that uses a const volatile fromObj.
  480.  */
  481.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDefaultConstVAssign)
  482.     (this,ctrl,fromObj);
  483. }
  484.  
  485.  
  486. /* method: somInit */
  487. void   somInit()
  488. {
  489. /*
  490.  *  Obsolete but still supported. Override somDefaultInit instead of somInit.
  491.  */
  492.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somInit)
  493.     (this);
  494. }
  495.  
  496.  
  497. /* method: somFree */
  498. void   somFree()
  499. {
  500. /*
  501.  *  Use as directed by framework implementations.
  502.  */
  503.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somFree)
  504.     (this);
  505. }
  506.  
  507.  
  508. /* method: somUninit */
  509. void   somUninit()
  510. {
  511. /*
  512.  *  Obsolete but still supported. Override somDestruct instead of somUninit.
  513.  */
  514.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somUninit)
  515.     (this);
  516. }
  517.  
  518.  
  519. /* method: somGetClass */
  520. SOMClass*   somGetClass()
  521. {
  522. /*
  523.  *  Return the receiver's class.
  524.  */
  525.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somGetClass)
  526.     (this);
  527. }
  528.  
  529.  
  530. /* method: somGetClassName */
  531. string   somGetClassName()
  532. {
  533. /*
  534.  *  Return the name of the receiver's class.
  535.  */
  536.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somGetClassName)
  537.     (this);
  538. }
  539.  
  540.  
  541. /* method: somGetSize */
  542. long   somGetSize()
  543. {
  544. /*
  545.  *  Return the size of the receiver.
  546.  */
  547.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somGetSize)
  548.     (this);
  549. }
  550.  
  551.  
  552. /* method: somIsA */
  553. boolean   somIsA(SOMClass* aClassObj)
  554. {
  555. /*
  556.  *  Returns 1 (true) if the receiver responds to methods
  557.  *  introduced by <aClassObj>, and 0 (false) otherwise.
  558.  */
  559.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somIsA)
  560.     (this,aClassObj);
  561. }
  562.  
  563.  
  564. /* method: somIsInstanceOf */
  565. boolean   somIsInstanceOf(SOMClass* aClassObj)
  566. {
  567. /*
  568.  *  Returns 1 (true) if the receiver is an instance of
  569.  *  <aClassObj> and 0 (false) otherwise.
  570.  */
  571.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somIsInstanceOf)
  572.     (this,aClassObj);
  573. }
  574.  
  575.  
  576. /* method: somRespondsTo */
  577. boolean   somRespondsTo(somId mId)
  578. {
  579. /*
  580.  *  Returns 1 (true) if the indicated method can be invoked
  581.  *  on the receiver and 0 (false) otherwise.
  582.  */
  583.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somRespondsTo)
  584.     (this,mId);
  585. }
  586.  
  587.  
  588. /* va_list method: somDispatch */
  589.  
  590. /*
  591.  *  This method provides a generic, class-specific dispatch mechanism.
  592.  *  It accepts as input <retValue> a pointer to the memory area to be
  593.  *  loaded with the result of dispatching the method indicated by
  594.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  595.  *  on which the method is to be invoked as the first argument.
  596.  */
  597. /* the va_list invocation form */
  598. boolean   somf_TPrimitiveLinkedListIterator_somDispatch(somToken* retValue, 
  599.         somId methodId, 
  600.         va_list ap)
  601. {return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatch)
  602.     (this,retValue,methodId,ap);
  603. }
  604.  
  605. /* the varargs invocation form */
  606. boolean   somDispatch(somToken* retValue, 
  607.         somId methodId, 
  608.         ...)
  609. {
  610. /*
  611.  *  This method provides a generic, class-specific dispatch mechanism.
  612.  *  It accepts as input <retValue> a pointer to the memory area to be
  613.  *  loaded with the result of dispatching the method indicated by
  614.  *  <methodId> using the arguments in <ap>. <ap> contains the object
  615.  *  on which the method is to be invoked as the first argument.
  616.  */
  617.    va_list ap;
  618.    va_start(ap, methodId);
  619.    boolean __somResult = 
  620.       SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatch)
  621.     (this,retValue,methodId,ap);
  622.    va_end(ap);
  623.    return __somResult;
  624. }
  625.  
  626.  
  627. /* va_list method: somClassDispatch */
  628.  
  629. /*
  630.  *  Like somDispatch, but method resolution for static methods is done
  631.  *  according to the clsObj instance method table.
  632.  */
  633. /* the va_list invocation form */
  634. boolean   somf_TPrimitiveLinkedListIterator_somClassDispatch(SOMClass* clsObj, 
  635.         somToken* retValue, 
  636.         somId methodId, 
  637.         va_list ap)
  638. {return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somClassDispatch)
  639.     (this,clsObj,retValue,methodId,ap);
  640. }
  641.  
  642. /* the varargs invocation form */
  643. boolean   somClassDispatch(SOMClass* clsObj, 
  644.         somToken* retValue, 
  645.         somId methodId, 
  646.         ...)
  647. {
  648. /*
  649.  *  Like somDispatch, but method resolution for static methods is done
  650.  *  according to the clsObj instance method table.
  651.  */
  652.    va_list ap;
  653.    va_start(ap, methodId);
  654.    boolean __somResult = 
  655.       SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somClassDispatch)
  656.     (this,clsObj,retValue,methodId,ap);
  657.    va_end(ap);
  658.    return __somResult;
  659. }
  660.  
  661.  
  662. /* method: somCastObj */
  663. boolean   somCastObj(SOMClass* cls)
  664. {
  665. /*
  666.  *  cast the receiving object to cls (which must be an ancestor of the
  667.  *  objects true class. Returns true on success.
  668.  */
  669.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somCastObj)
  670.     (this,cls);
  671. }
  672.  
  673.  
  674. /* method: somResetObj */
  675. boolean   somResetObj()
  676. {
  677. /*
  678.  *  reset an object to its true class. Returns true always.
  679.  */
  680.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somResetObj)
  681.     (this);
  682. }
  683.  
  684.  
  685. /* va_list method: somDispatchV */
  686.  
  687. /*
  688.  *  Obsolete. Use somDispatch instead.
  689.  */
  690. /* the va_list invocation form */
  691. void   somf_TPrimitiveLinkedListIterator_somDispatchV(somId methodId, 
  692.         somId descriptor, 
  693.         va_list ap)
  694. {   SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchV)
  695.     (this,methodId,descriptor,ap);
  696. }
  697.  
  698. /* the varargs invocation form */
  699. void   somDispatchV(somId methodId, 
  700.         somId descriptor, 
  701.         ...)
  702. {
  703. /*
  704.  *  Obsolete. Use somDispatch instead.
  705.  */
  706.    va_list ap;
  707.    va_start(ap, descriptor);
  708.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchV)
  709.     (this,methodId,descriptor,ap);
  710.    va_end(ap);
  711. }
  712.  
  713.  
  714. /* va_list method: somDispatchL */
  715.  
  716. /*
  717.  *  Obsolete. Use somDispatch instead.
  718.  */
  719. /* the va_list invocation form */
  720. long   somf_TPrimitiveLinkedListIterator_somDispatchL(somId methodId, 
  721.         somId descriptor, 
  722.         va_list ap)
  723. {return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchL)
  724.     (this,methodId,descriptor,ap);
  725. }
  726.  
  727. /* the varargs invocation form */
  728. long   somDispatchL(somId methodId, 
  729.         somId descriptor, 
  730.         ...)
  731. {
  732. /*
  733.  *  Obsolete. Use somDispatch instead.
  734.  */
  735.    va_list ap;
  736.    va_start(ap, descriptor);
  737.    long __somResult = 
  738.       SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchL)
  739.     (this,methodId,descriptor,ap);
  740.    va_end(ap);
  741.    return __somResult;
  742. }
  743.  
  744.  
  745. /* va_list method: somDispatchA */
  746.  
  747. /*
  748.  *  Obsolete. Use somDispatch instead.
  749.  */
  750. /* the va_list invocation form */
  751. void*   somf_TPrimitiveLinkedListIterator_somDispatchA(somId methodId, 
  752.         somId descriptor, 
  753.         va_list ap)
  754. {return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchA)
  755.     (this,methodId,descriptor,ap);
  756. }
  757.  
  758. /* the varargs invocation form */
  759. void*   somDispatchA(somId methodId, 
  760.         somId descriptor, 
  761.         ...)
  762. {
  763. /*
  764.  *  Obsolete. Use somDispatch instead.
  765.  */
  766.    va_list ap;
  767.    va_start(ap, descriptor);
  768.    void* __somResult = 
  769.       SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchA)
  770.     (this,methodId,descriptor,ap);
  771.    va_end(ap);
  772.    return __somResult;
  773. }
  774.  
  775.  
  776. /* va_list method: somDispatchD */
  777.  
  778. /*
  779.  *  Obsolete. Use somDispatch instead.
  780.  */
  781. /* the va_list invocation form */
  782. double   somf_TPrimitiveLinkedListIterator_somDispatchD(somId methodId, 
  783.         somId descriptor, 
  784.         va_list ap)
  785. {return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchD)
  786.     (this,methodId,descriptor,ap);
  787. }
  788.  
  789. /* the varargs invocation form */
  790. double   somDispatchD(somId methodId, 
  791.         somId descriptor, 
  792.         ...)
  793. {
  794. /*
  795.  *  Obsolete. Use somDispatch instead.
  796.  */
  797.    va_list ap;
  798.    va_start(ap, descriptor);
  799.    double __somResult = 
  800.       SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDispatchD)
  801.     (this,methodId,descriptor,ap);
  802.    va_end(ap);
  803.    return __somResult;
  804. }
  805.  
  806.  
  807. /* method: somPrintSelf */
  808. SOMObject*   somPrintSelf()
  809. {
  810. /*
  811.  *  Uses <SOMOutCharRoutine> to write a brief string with identifying
  812.  *  information about this object.  The default implementation just gives
  813.  *  the object's class name and its address in memory.
  814.  *  <self> is returned.
  815.  */
  816.    return SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somPrintSelf)
  817.     (this);
  818. }
  819.  
  820.  
  821. /* method: somDumpSelf */
  822. void   somDumpSelf(long level)
  823. {
  824. /*
  825.  *  Uses <SOMOutCharRoutine> to write a detailed description of this object
  826.  *  and its current state.
  827.  * 
  828.  *  <level> indicates the nesting level for describing compound objects
  829.  *  it must be greater than or equal to zero.  All lines in the
  830.  *  description will be preceeded by <2*level> spaces.
  831.  * 
  832.  *  This routine only actually writes the data that concerns the object
  833.  *  as a whole, such as class, and uses <somDumpSelfInt> to describe
  834.  *  the object's current state.  This approach allows readable
  835.  *  descriptions of compound objects to be constructed.
  836.  * 
  837.  *  Generally it is not necessary to override this method, if it is
  838.  *  overriden it generally must be completely replaced.
  839.  */
  840.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDumpSelf)
  841.     (this,level);
  842. }
  843.  
  844.  
  845. /* method: somDumpSelfInt */
  846. void   somDumpSelfInt(long level)
  847. {
  848. /*
  849.  *  Uses <SOMOutCharRoutine> to write in the current state of this object.
  850.  *  Generally this method will need to be overridden.  When overriding
  851.  *  it, begin by calling the parent class form of this method and then
  852.  *  write in a description of your class's instance data. This will
  853.  *  result in a description of all the object's instance data going
  854.  *  from its root ancestor class to its specific class.
  855.  */
  856.    SOM_ResolveD(this,somf_TPrimitiveLinkedListIterator,SOMObject,somDumpSelfInt)
  857.     (this,level);
  858. }
  859.  
  860.  
  861.  
  862. };   /* somf_TPrimitiveLinkedListIterator */
  863.  
  864.  
  865.  
  866. #endif       /* SOM_somf_TPrimitiveLinkedListIterator_xh */
  867.