home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / tpllitr.h < prev    next >
C/C++ Source or Header  |  1999-02-22  |  13KB  |  294 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tpllitr.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 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_h
  34. #define SOM_somf_TPrimitiveLinkedListIterator_h
  35.  
  36.  
  37. #include <som.h>
  38.  
  39. /*
  40.  * -- This emitter treats Method Tokens as Thunks by default.
  41.  * -- Use the sc modifier "nothunks" to change this default
  42.  */
  43. #undef somresolve_
  44. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  45.  
  46. /*
  47.  * Define the class name as an object type
  48.  */
  49. #ifndef somf_TPrimitiveLinkedListIterator
  50. #define somf_TPrimitiveLinkedListIterator SOMObject
  51. #endif
  52. #include <somobj.h>
  53.  
  54. /*
  55.  * Start of bindings for IDL types
  56.  */
  57.  
  58. #ifndef SOMClass
  59.     #define SOMClass SOMObject
  60. #endif /* SOMClass */
  61. #ifndef somf_TPrimitiveLinkedList
  62.     #define somf_TPrimitiveLinkedList SOMObject
  63. #endif /* somf_TPrimitiveLinkedList */
  64. #ifndef somf_MLinkable
  65.     #define somf_MLinkable SOMObject
  66. #endif /* somf_MLinkable */
  67.  
  68. /*
  69.  * End of bindings for IDL types.
  70.  */
  71.  
  72. /*
  73.  * Passthru lines: File: "C.h", "after"
  74.  */
  75.  
  76. #include <mlink.h>
  77. #include <tpll.h>
  78.  
  79. #define somf_TPrimitiveLinkedListIterator_MajorVersion 2
  80. #define somf_TPrimitiveLinkedListIterator_MinorVersion 1
  81.  
  82. /*
  83.  * External name shortening if required
  84.  */
  85. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  86. #define somf_TPrimitiveLinkedListIteratorNewClass c
  87. #pragma linkage(c, system)
  88. #define somf_TPrimitiveLinkedListIteratorClassData d
  89. #define somf_TPrimitiveLinkedListIteratorCClassData x
  90. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  91. /*--------------Migration------------*/
  92. #define somf_TPrimitiveLinkedListIterator_classObj somf_TPrimitiveLinkedListIteratorClassData.classObject
  93. #define _somf_TPrimitiveLinkedListIterator somf_TPrimitiveLinkedListIterator_classObj
  94.  
  95. /*
  96.  * Declare the class creation procedure
  97.  */
  98. SOMEXTERN SOMClass * SOMLINK somf_TPrimitiveLinkedListIteratorNewClass(integer4 somtmajorVersion,
  99.         integer4 somtminorVersion);
  100. #pragma linkage(somf_TPrimitiveLinkedListIteratorNewClass, system)
  101.  
  102. /*
  103.  * Declare the class data structure
  104.  */
  105. SOMEXTERN struct somf_TPrimitiveLinkedListIteratorClassDataStructure {
  106.     SOMClass *classObject;
  107.     somMToken somfFirst;
  108.     somMToken somfNext;
  109.     somMToken somfLast;
  110.     somMToken somfPrevious;
  111.     somMToken somfTPrimitiveLinkedListIteratorInit;
  112. } SOMDLINK somf_TPrimitiveLinkedListIteratorClassData;
  113.  
  114. /*
  115.  * Declare the C specific class data structure
  116.  */
  117. SOMEXTERN struct somf_TPrimitiveLinkedListIteratorCClassDataStructure {
  118.     somMethodTabs parentMtab;
  119.     somDToken instanceDataToken;
  120. } SOMDLINK somf_TPrimitiveLinkedListIteratorCClassData;
  121.  
  122. /*
  123.  * New and Renew macros for somf_TPrimitiveLinkedListIterator
  124.  */
  125. #define somf_TPrimitiveLinkedListIteratorNew() \
  126.    ( _somf_TPrimitiveLinkedListIterator ? \
  127.     _somNew(_somf_TPrimitiveLinkedListIterator) \
  128.     : ( somf_TPrimitiveLinkedListIteratorNewClass(\
  129.         somf_TPrimitiveLinkedListIterator_MajorVersion, \
  130.         somf_TPrimitiveLinkedListIterator_MinorVersion),\
  131.        _somNew(_somf_TPrimitiveLinkedListIterator)))
  132. #define somf_TPrimitiveLinkedListIteratorRenew(buf) \
  133.    ( _somf_TPrimitiveLinkedListIterator ? \
  134.     _somRenew(_somf_TPrimitiveLinkedListIterator, buf) \
  135.     : ( somf_TPrimitiveLinkedListIteratorNewClass(\
  136.         somf_TPrimitiveLinkedListIterator_MajorVersion, \
  137.         somf_TPrimitiveLinkedListIterator_MinorVersion),\
  138.        _somRenew(_somf_TPrimitiveLinkedListIterator, buf)))
  139.  
  140. /*
  141.  * Override method: somUninit
  142.  */
  143. #define somf_TPrimitiveLinkedListIterator_somUninit(somSelf) \
  144.     SOMObject_somUninit(somSelf)
  145.  
  146. /*
  147.  * New Method: somfTPrimitiveLinkedListIteratorInit
  148.  */
  149. typedef somf_TPrimitiveLinkedListIterator*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev, 
  150.         somf_TPrimitiveLinkedList* list);
  151. #pragma linkage(somTP_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit, system)
  152. typedef somTP_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit *somTD_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit;
  153. /*
  154.  *  Initialize somf_TPrimitiveLinkedListIterator using somf_TPrimitiveLinkedList list.
  155.  */
  156. #define somMD_somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit "::somf_TPrimitiveLinkedListIterator::somfTPrimitiveLinkedListIteratorInit"
  157. #define somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit(somSelf,ev,list) \
  158.     (SOM_Resolve(somSelf, somf_TPrimitiveLinkedListIterator, somfTPrimitiveLinkedListIteratorInit) \
  159.     (somSelf,ev,list))
  160. #ifndef SOMGD_somfTPrimitiveLinkedListIteratorInit
  161.     #if (defined(_somfTPrimitiveLinkedListIteratorInit) || defined(__somfTPrimitiveLinkedListIteratorInit))
  162.         #undef _somfTPrimitiveLinkedListIteratorInit
  163.         #undef __somfTPrimitiveLinkedListIteratorInit
  164.         #define SOMGD_somfTPrimitiveLinkedListIteratorInit 1
  165.     #else
  166.         #define _somfTPrimitiveLinkedListIteratorInit somf_TPrimitiveLinkedListIterator_somfTPrimitiveLinkedListIteratorInit
  167.     #endif /* _somfTPrimitiveLinkedListIteratorInit */
  168. #endif /* SOMGD_somfTPrimitiveLinkedListIteratorInit */
  169.  
  170. /*
  171.  * New Method: somfFirst
  172.  */
  173. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfFirst(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  174. #pragma linkage(somTP_somf_TPrimitiveLinkedListIterator_somfFirst, system)
  175. typedef somTP_somf_TPrimitiveLinkedListIterator_somfFirst *somTD_somf_TPrimitiveLinkedListIterator_somfFirst;
  176. /*
  177.  *  Reset the iterator and return the first element of the list.
  178.  */
  179. #define somMD_somf_TPrimitiveLinkedListIterator_somfFirst "::somf_TPrimitiveLinkedListIterator::somfFirst"
  180. #define somf_TPrimitiveLinkedListIterator_somfFirst(somSelf,ev) \
  181.     (SOM_Resolve(somSelf, somf_TPrimitiveLinkedListIterator, somfFirst) \
  182.     (somSelf,ev))
  183. #ifndef SOMGD_somfFirst
  184.     #if (defined(_somfFirst) || defined(__somfFirst))
  185.         #undef _somfFirst
  186.         #undef __somfFirst
  187.         #define SOMGD_somfFirst 1
  188.     #else
  189.         #define _somfFirst somf_TPrimitiveLinkedListIterator_somfFirst
  190.     #endif /* _somfFirst */
  191. #endif /* SOMGD_somfFirst */
  192.  
  193. /*
  194.  * New Method: somfNext
  195.  */
  196. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfNext(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  197. #pragma linkage(somTP_somf_TPrimitiveLinkedListIterator_somfNext, system)
  198. typedef somTP_somf_TPrimitiveLinkedListIterator_somfNext *somTD_somf_TPrimitiveLinkedListIterator_somfNext;
  199. /*
  200.  *  Retrieve the next object in the list and return it.
  201.  */
  202. #define somMD_somf_TPrimitiveLinkedListIterator_somfNext "::somf_TPrimitiveLinkedListIterator::somfNext"
  203. #define somf_TPrimitiveLinkedListIterator_somfNext(somSelf,ev) \
  204.     (SOM_Resolve(somSelf, somf_TPrimitiveLinkedListIterator, somfNext) \
  205.     (somSelf,ev))
  206. #ifndef SOMGD_somfNext
  207.     #if (defined(_somfNext) || defined(__somfNext))
  208.         #undef _somfNext
  209.         #undef __somfNext
  210.         #define SOMGD_somfNext 1
  211.     #else
  212.         #define _somfNext somf_TPrimitiveLinkedListIterator_somfNext
  213.     #endif /* _somfNext */
  214. #endif /* SOMGD_somfNext */
  215.  
  216. /*
  217.  * New Method: somfLast
  218.  */
  219. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfLast(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  220. #pragma linkage(somTP_somf_TPrimitiveLinkedListIterator_somfLast, system)
  221. typedef somTP_somf_TPrimitiveLinkedListIterator_somfLast *somTD_somf_TPrimitiveLinkedListIterator_somfLast;
  222. /*
  223.  *  Retrieve the last object in the list and return it.
  224.  */
  225. #define somMD_somf_TPrimitiveLinkedListIterator_somfLast "::somf_TPrimitiveLinkedListIterator::somfLast"
  226. #define somf_TPrimitiveLinkedListIterator_somfLast(somSelf,ev) \
  227.     (SOM_Resolve(somSelf, somf_TPrimitiveLinkedListIterator, somfLast) \
  228.     (somSelf,ev))
  229. #ifndef SOMGD_somfLast
  230.     #if (defined(_somfLast) || defined(__somfLast))
  231.         #undef _somfLast
  232.         #undef __somfLast
  233.         #define SOMGD_somfLast 1
  234.     #else
  235.         #define _somfLast somf_TPrimitiveLinkedListIterator_somfLast
  236.     #endif /* _somfLast */
  237. #endif /* SOMGD_somfLast */
  238.  
  239. /*
  240.  * New Method: somfPrevious
  241.  */
  242. typedef somf_MLinkable*   SOMLINK somTP_somf_TPrimitiveLinkedListIterator_somfPrevious(somf_TPrimitiveLinkedListIterator *somSelf, Environment *ev);
  243. #pragma linkage(somTP_somf_TPrimitiveLinkedListIterator_somfPrevious, system)
  244. typedef somTP_somf_TPrimitiveLinkedListIterator_somfPrevious *somTD_somf_TPrimitiveLinkedListIterator_somfPrevious;
  245. /*
  246.  *  Retrieve the previous object in the list and return it.
  247.  */
  248. #define somMD_somf_TPrimitiveLinkedListIterator_somfPrevious "::somf_TPrimitiveLinkedListIterator::somfPrevious"
  249. #define somf_TPrimitiveLinkedListIterator_somfPrevious(somSelf,ev) \
  250.     (SOM_Resolve(somSelf, somf_TPrimitiveLinkedListIterator, somfPrevious) \
  251.     (somSelf,ev))
  252. #ifndef SOMGD_somfPrevious
  253.     #if (defined(_somfPrevious) || defined(__somfPrevious))
  254.         #undef _somfPrevious
  255.         #undef __somfPrevious
  256.         #define SOMGD_somfPrevious 1
  257.     #else
  258.         #define _somfPrevious somf_TPrimitiveLinkedListIterator_somfPrevious
  259.     #endif /* _somfPrevious */
  260. #endif /* SOMGD_somfPrevious */
  261. #ifndef SOM_DONT_USE_INHERITED_MACROS
  262. #define somf_TPrimitiveLinkedListIterator_somDefaultInit SOMObject_somDefaultInit
  263. #define somf_TPrimitiveLinkedListIterator_somDestruct SOMObject_somDestruct
  264. #define somf_TPrimitiveLinkedListIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
  265. #define somf_TPrimitiveLinkedListIterator_somDefaultAssign SOMObject_somDefaultAssign
  266. #define somf_TPrimitiveLinkedListIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  267. #define somf_TPrimitiveLinkedListIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  268. #define somf_TPrimitiveLinkedListIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  269. #define somf_TPrimitiveLinkedListIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
  270. #define somf_TPrimitiveLinkedListIterator_somDefaultVAssign SOMObject_somDefaultVAssign
  271. #define somf_TPrimitiveLinkedListIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  272. #define somf_TPrimitiveLinkedListIterator_somInit SOMObject_somInit
  273. #define somf_TPrimitiveLinkedListIterator_somFree SOMObject_somFree
  274. #define somf_TPrimitiveLinkedListIterator_somGetClass SOMObject_somGetClass
  275. #define somf_TPrimitiveLinkedListIterator_somGetClassName SOMObject_somGetClassName
  276. #define somf_TPrimitiveLinkedListIterator_somGetSize SOMObject_somGetSize
  277. #define somf_TPrimitiveLinkedListIterator_somIsA SOMObject_somIsA
  278. #define somf_TPrimitiveLinkedListIterator_somIsInstanceOf SOMObject_somIsInstanceOf
  279. #define somf_TPrimitiveLinkedListIterator_somRespondsTo SOMObject_somRespondsTo
  280. #define somf_TPrimitiveLinkedListIterator_somDispatch SOMObject_somDispatch
  281. #define somf_TPrimitiveLinkedListIterator_somClassDispatch SOMObject_somClassDispatch
  282. #define somf_TPrimitiveLinkedListIterator_somCastObj SOMObject_somCastObj
  283. #define somf_TPrimitiveLinkedListIterator_somResetObj SOMObject_somResetObj
  284. #define somf_TPrimitiveLinkedListIterator_somDispatchV SOMObject_somDispatchV
  285. #define somf_TPrimitiveLinkedListIterator_somDispatchL SOMObject_somDispatchL
  286. #define somf_TPrimitiveLinkedListIterator_somDispatchA SOMObject_somDispatchA
  287. #define somf_TPrimitiveLinkedListIterator_somDispatchD SOMObject_somDispatchD
  288. #define somf_TPrimitiveLinkedListIterator_somPrintSelf SOMObject_somPrintSelf
  289. #define somf_TPrimitiveLinkedListIterator_somDumpSelf SOMObject_somDumpSelf
  290. #define somf_TPrimitiveLinkedListIterator_somDumpSelfInt SOMObject_somDumpSelfInt
  291. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  292.  
  293. #endif       /* SOM_somf_TPrimitiveLinkedListIterator_h */
  294.