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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: tseqitr.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-92 Apple Computer, Inc.  All rights reserved.
  23.  * 
  24.  * CLASS_NAME: somf_TSequenceIterator
  25.  * 
  26.  * DESCRIPTION: An iterator for TSequences that will iterate over all of
  27.  *              the objects in a sequence.
  28.  * 
  29.  */
  30.  
  31.  
  32. #ifndef SOM_somf_TSequenceIterator_h
  33. #define SOM_somf_TSequenceIterator_h
  34.  
  35.  
  36. /*
  37.  * Passthru lines: File: "C.h", "before"
  38.  */
  39.  
  40. #include <mcollect.h>
  41.  
  42. #include <som.h>
  43.  
  44. /*
  45.  * -- This emitter treats Method Tokens as Thunks by default.
  46.  * -- Use the sc modifier "nothunks" to change this default
  47.  */
  48. #undef somresolve_
  49. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  50.  
  51. /*
  52.  * Define the class name as an object type
  53.  */
  54. #ifndef somf_TSequenceIterator
  55. #define somf_TSequenceIterator SOMObject
  56. #endif
  57. #include <titeratr.h>
  58.  
  59. /*
  60.  * Start of bindings for IDL types
  61.  */
  62.  
  63. #ifndef SOMClass
  64.     #define SOMClass SOMObject
  65. #endif /* SOMClass */
  66. #ifndef somf_MCollectible
  67.     #define somf_MCollectible SOMObject
  68. #endif /* somf_MCollectible */
  69.  
  70. /*
  71.  * End of bindings for IDL types.
  72.  */
  73.  
  74. #define somf_TSequenceIterator_MajorVersion 2
  75. #define somf_TSequenceIterator_MinorVersion 1
  76.  
  77. /*
  78.  * External name shortening if required
  79.  */
  80. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  81. #define somf_TSequenceIteratorNewClass c
  82. #pragma linkage(c, system)
  83. #define somf_TSequenceIteratorClassData d
  84. #define somf_TSequenceIteratorCClassData x
  85. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  86. /*--------------Migration------------*/
  87. #define somf_TSequenceIterator_classObj somf_TSequenceIteratorClassData.classObject
  88. #define _somf_TSequenceIterator somf_TSequenceIterator_classObj
  89.  
  90. /*
  91.  * Declare the class creation procedure
  92.  */
  93. SOMEXTERN SOMClass * SOMLINK somf_TSequenceIteratorNewClass(integer4 somtmajorVersion,
  94.         integer4 somtminorVersion);
  95. #pragma linkage(somf_TSequenceIteratorNewClass, system)
  96.  
  97. /*
  98.  * Declare the class data structure
  99.  */
  100. SOMEXTERN struct somf_TSequenceIteratorClassDataStructure {
  101.     SOMClass *classObject;
  102.     somMToken somfLast;
  103.     somMToken somfPrevious;
  104. } SOMDLINK somf_TSequenceIteratorClassData;
  105.  
  106. /*
  107.  * Declare the C specific class data structure
  108.  */
  109. SOMEXTERN struct somf_TSequenceIteratorCClassDataStructure {
  110.     somMethodTabs parentMtab;
  111.     somDToken instanceDataToken;
  112. } SOMDLINK somf_TSequenceIteratorCClassData;
  113.  
  114. /*
  115.  * New and Renew macros for somf_TSequenceIterator
  116.  */
  117. #define somf_TSequenceIteratorNew() \
  118.    ( _somf_TSequenceIterator ? \
  119.     _somNew(_somf_TSequenceIterator) \
  120.     : ( somf_TSequenceIteratorNewClass(\
  121.         somf_TSequenceIterator_MajorVersion, \
  122.         somf_TSequenceIterator_MinorVersion),\
  123.        _somNew(_somf_TSequenceIterator)))
  124. #define somf_TSequenceIteratorRenew(buf) \
  125.    ( _somf_TSequenceIterator ? \
  126.     _somRenew(_somf_TSequenceIterator, buf) \
  127.     : ( somf_TSequenceIteratorNewClass(\
  128.         somf_TSequenceIterator_MajorVersion, \
  129.         somf_TSequenceIterator_MinorVersion),\
  130.        _somRenew(_somf_TSequenceIterator, buf)))
  131.  
  132. /*
  133.  * Override method: somfFirst
  134.  */
  135. #define somf_TSequenceIterator_somfFirst(somSelf,ev) \
  136.     somf_TIterator_somfFirst(somSelf,ev)
  137.  
  138. /*
  139.  * Override method: somfNext
  140.  */
  141. #define somf_TSequenceIterator_somfNext(somSelf,ev) \
  142.     somf_TIterator_somfNext(somSelf,ev)
  143.  
  144. /*
  145.  * Override method: somfRemove
  146.  */
  147. #define somf_TSequenceIterator_somfRemove(somSelf,ev) \
  148.     somf_TIterator_somfRemove(somSelf,ev)
  149.  
  150. /*
  151.  * New Method: somfLast
  152.  */
  153. typedef somf_MCollectible*   SOMLINK somTP_somf_TSequenceIterator_somfLast(somf_TSequenceIterator *somSelf, Environment *ev);
  154. #pragma linkage(somTP_somf_TSequenceIterator_somfLast, system)
  155. typedef somTP_somf_TSequenceIterator_somfLast *somTD_somf_TSequenceIterator_somfLast;
  156. /*
  157.  *  Determine the last object in the TSequence.
  158.  */
  159. #define somMD_somf_TSequenceIterator_somfLast "::somf_TSequenceIterator::somfLast"
  160. #define somf_TSequenceIterator_somfLast(somSelf,ev) \
  161.     (SOM_Resolve(somSelf, somf_TSequenceIterator, somfLast) \
  162.     (somSelf,ev))
  163. #ifndef SOMGD_somfLast
  164.     #if (defined(_somfLast) || defined(__somfLast))
  165.         #undef _somfLast
  166.         #undef __somfLast
  167.         #define SOMGD_somfLast 1
  168.     #else
  169.         #define _somfLast somf_TSequenceIterator_somfLast
  170.     #endif /* _somfLast */
  171. #endif /* SOMGD_somfLast */
  172.  
  173. /*
  174.  * New Method: somfPrevious
  175.  */
  176. typedef somf_MCollectible*   SOMLINK somTP_somf_TSequenceIterator_somfPrevious(somf_TSequenceIterator *somSelf, Environment *ev);
  177. #pragma linkage(somTP_somf_TSequenceIterator_somfPrevious, system)
  178. typedef somTP_somf_TSequenceIterator_somfPrevious *somTD_somf_TSequenceIterator_somfPrevious;
  179. /*
  180.  *  Determine the previous object in the TSequence.
  181.  */
  182. #define somMD_somf_TSequenceIterator_somfPrevious "::somf_TSequenceIterator::somfPrevious"
  183. #define somf_TSequenceIterator_somfPrevious(somSelf,ev) \
  184.     (SOM_Resolve(somSelf, somf_TSequenceIterator, somfPrevious) \
  185.     (somSelf,ev))
  186. #ifndef SOMGD_somfPrevious
  187.     #if (defined(_somfPrevious) || defined(__somfPrevious))
  188.         #undef _somfPrevious
  189.         #undef __somfPrevious
  190.         #define SOMGD_somfPrevious 1
  191.     #else
  192.         #define _somfPrevious somf_TSequenceIterator_somfPrevious
  193.     #endif /* _somfPrevious */
  194. #endif /* SOMGD_somfPrevious */
  195. #ifndef SOM_DONT_USE_INHERITED_MACROS
  196. #define somf_TSequenceIterator_somDefaultInit SOMObject_somDefaultInit
  197. #define somf_TSequenceIterator_somDestruct SOMObject_somDestruct
  198. #define somf_TSequenceIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
  199. #define somf_TSequenceIterator_somDefaultAssign SOMObject_somDefaultAssign
  200. #define somf_TSequenceIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  201. #define somf_TSequenceIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  202. #define somf_TSequenceIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  203. #define somf_TSequenceIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
  204. #define somf_TSequenceIterator_somDefaultVAssign SOMObject_somDefaultVAssign
  205. #define somf_TSequenceIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  206. #define somf_TSequenceIterator_somInit SOMObject_somInit
  207. #define somf_TSequenceIterator_somFree SOMObject_somFree
  208. #define somf_TSequenceIterator_somUninit SOMObject_somUninit
  209. #define somf_TSequenceIterator_somGetClass SOMObject_somGetClass
  210. #define somf_TSequenceIterator_somGetClassName SOMObject_somGetClassName
  211. #define somf_TSequenceIterator_somGetSize SOMObject_somGetSize
  212. #define somf_TSequenceIterator_somIsA SOMObject_somIsA
  213. #define somf_TSequenceIterator_somIsInstanceOf SOMObject_somIsInstanceOf
  214. #define somf_TSequenceIterator_somRespondsTo SOMObject_somRespondsTo
  215. #define somf_TSequenceIterator_somDispatch SOMObject_somDispatch
  216. #define somf_TSequenceIterator_somClassDispatch SOMObject_somClassDispatch
  217. #define somf_TSequenceIterator_somCastObj SOMObject_somCastObj
  218. #define somf_TSequenceIterator_somResetObj SOMObject_somResetObj
  219. #define somf_TSequenceIterator_somDispatchV SOMObject_somDispatchV
  220. #define somf_TSequenceIterator_somDispatchL SOMObject_somDispatchL
  221. #define somf_TSequenceIterator_somDispatchA SOMObject_somDispatchA
  222. #define somf_TSequenceIterator_somDispatchD SOMObject_somDispatchD
  223. #define somf_TSequenceIterator_somPrintSelf SOMObject_somPrintSelf
  224. #define somf_TSequenceIterator_somDumpSelf SOMObject_somDumpSelf
  225. #define somf_TSequenceIterator_somDumpSelfInt SOMObject_somDumpSelfInt
  226. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  227.  
  228. #endif       /* SOM_somf_TSequenceIterator_h */
  229.