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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: thashitr.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_THashTableIterator
  25.  * 
  26.  * DESCRIPTION: An iterator for somf_THashTable that will iterate over all of the
  27.  *              objects in a hash table
  28.  * 
  29.  * 
  30.  */
  31.  
  32.  
  33. #ifndef SOM_somf_THashTableIterator_h
  34. #define SOM_somf_THashTableIterator_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_THashTableIterator
  50. #define somf_THashTableIterator SOMObject
  51. #endif
  52. #include <titeratr.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_MCollectible
  62.     #define somf_MCollectible SOMObject
  63. #endif /* somf_MCollectible */
  64. #ifndef somf_THashTable
  65.     #define somf_THashTable SOMObject
  66. #endif /* somf_THashTable */
  67. #ifndef somf_TAssoc
  68.     #define somf_TAssoc SOMObject
  69. #endif /* somf_TAssoc */
  70. #ifndef THAssoc
  71.     #define THAssoc SOMObject
  72. #endif /* THAssoc */
  73.  
  74. /*
  75.  * End of bindings for IDL types.
  76.  */
  77.  
  78. /*
  79.  * Passthru lines: File: "C.h", "after"
  80.  */
  81.  
  82. #include <mcollect.h>
  83. #include <thash.h>
  84.  
  85. #define somf_THashTableIterator_MajorVersion 2
  86. #define somf_THashTableIterator_MinorVersion 1
  87.  
  88. /*
  89.  * External name shortening if required
  90.  */
  91. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  92. #define somf_THashTableIteratorNewClass c
  93. #pragma linkage(c, system)
  94. #define somf_THashTableIteratorClassData d
  95. #define somf_THashTableIteratorCClassData x
  96. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  97. /*--------------Migration------------*/
  98. #define somf_THashTableIterator_classObj somf_THashTableIteratorClassData.classObject
  99. #define _somf_THashTableIterator somf_THashTableIterator_classObj
  100.  
  101. /*
  102.  * Declare the class creation procedure
  103.  */
  104. SOMEXTERN SOMClass * SOMLINK somf_THashTableIteratorNewClass(integer4 somtmajorVersion,
  105.         integer4 somtminorVersion);
  106. #pragma linkage(somf_THashTableIteratorNewClass, system)
  107.  
  108. /*
  109.  * Declare the class data structure
  110.  */
  111. SOMEXTERN struct somf_THashTableIteratorClassDataStructure {
  112.     SOMClass *classObject;
  113.     somMToken somfTHashTableIteratorInit;
  114. } SOMDLINK somf_THashTableIteratorClassData;
  115.  
  116. /*
  117.  * Declare the C specific class data structure
  118.  */
  119. SOMEXTERN struct somf_THashTableIteratorCClassDataStructure {
  120.     somMethodTabs parentMtab;
  121.     somDToken instanceDataToken;
  122. } SOMDLINK somf_THashTableIteratorCClassData;
  123.  
  124. /*
  125.  * New and Renew macros for somf_THashTableIterator
  126.  */
  127. #define somf_THashTableIteratorNew() \
  128.    ( _somf_THashTableIterator ? \
  129.     _somNew(_somf_THashTableIterator) \
  130.     : ( somf_THashTableIteratorNewClass(\
  131.         somf_THashTableIterator_MajorVersion, \
  132.         somf_THashTableIterator_MinorVersion),\
  133.        _somNew(_somf_THashTableIterator)))
  134. #define somf_THashTableIteratorRenew(buf) \
  135.    ( _somf_THashTableIterator ? \
  136.     _somRenew(_somf_THashTableIterator, buf) \
  137.     : ( somf_THashTableIteratorNewClass(\
  138.         somf_THashTableIterator_MajorVersion, \
  139.         somf_THashTableIterator_MinorVersion),\
  140.        _somRenew(_somf_THashTableIterator, buf)))
  141.  
  142. /*
  143.  * Override method: somInit
  144.  */
  145. #define somf_THashTableIterator_somInit(somSelf) \
  146.     SOMObject_somInit(somSelf)
  147.  
  148. /*
  149.  * Override method: somUninit
  150.  */
  151. #define somf_THashTableIterator_somUninit(somSelf) \
  152.     SOMObject_somUninit(somSelf)
  153.  
  154. /*
  155.  * Override method: somfNext
  156.  */
  157. #define somf_THashTableIterator_somfNext(somSelf,ev) \
  158.     somf_TIterator_somfNext(somSelf,ev)
  159.  
  160. /*
  161.  * Override method: somfFirst
  162.  */
  163. #define somf_THashTableIterator_somfFirst(somSelf,ev) \
  164.     somf_TIterator_somfFirst(somSelf,ev)
  165.  
  166. /*
  167.  * Override method: somfRemove
  168.  */
  169. #define somf_THashTableIterator_somfRemove(somSelf,ev) \
  170.     somf_TIterator_somfRemove(somSelf,ev)
  171.  
  172. /*
  173.  * New Method: somfTHashTableIteratorInit
  174.  */
  175. typedef somf_THashTableIterator*   SOMLINK somTP_somf_THashTableIterator_somfTHashTableIteratorInit(somf_THashTableIterator *somSelf, Environment *ev, 
  176.         somf_THashTable* h);
  177. #pragma linkage(somTP_somf_THashTableIterator_somfTHashTableIteratorInit, system)
  178. typedef somTP_somf_THashTableIterator_somfTHashTableIteratorInit *somTD_somf_THashTableIterator_somfTHashTableIteratorInit;
  179. /*
  180.  *  Initialize somf_THashTableIterator using somf_THashTable h.
  181.  */
  182. #define somMD_somf_THashTableIterator_somfTHashTableIteratorInit "::somf_THashTableIterator::somfTHashTableIteratorInit"
  183. #define somf_THashTableIterator_somfTHashTableIteratorInit(somSelf,ev,h) \
  184.     (SOM_Resolve(somSelf, somf_THashTableIterator, somfTHashTableIteratorInit) \
  185.     (somSelf,ev,h))
  186. #ifndef SOMGD_somfTHashTableIteratorInit
  187.     #if (defined(_somfTHashTableIteratorInit) || defined(__somfTHashTableIteratorInit))
  188.         #undef _somfTHashTableIteratorInit
  189.         #undef __somfTHashTableIteratorInit
  190.         #define SOMGD_somfTHashTableIteratorInit 1
  191.     #else
  192.         #define _somfTHashTableIteratorInit somf_THashTableIterator_somfTHashTableIteratorInit
  193.     #endif /* _somfTHashTableIteratorInit */
  194. #endif /* SOMGD_somfTHashTableIteratorInit */
  195. #ifndef SOM_DONT_USE_INHERITED_MACROS
  196. #define somf_THashTableIterator_somDefaultInit SOMObject_somDefaultInit
  197. #define somf_THashTableIterator_somDestruct SOMObject_somDestruct
  198. #define somf_THashTableIterator_somDefaultCopyInit SOMObject_somDefaultCopyInit
  199. #define somf_THashTableIterator_somDefaultAssign SOMObject_somDefaultAssign
  200. #define somf_THashTableIterator_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  201. #define somf_THashTableIterator_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  202. #define somf_THashTableIterator_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  203. #define somf_THashTableIterator_somDefaultConstAssign SOMObject_somDefaultConstAssign
  204. #define somf_THashTableIterator_somDefaultVAssign SOMObject_somDefaultVAssign
  205. #define somf_THashTableIterator_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  206. #define somf_THashTableIterator_somFree SOMObject_somFree
  207. #define somf_THashTableIterator_somGetClass SOMObject_somGetClass
  208. #define somf_THashTableIterator_somGetClassName SOMObject_somGetClassName
  209. #define somf_THashTableIterator_somGetSize SOMObject_somGetSize
  210. #define somf_THashTableIterator_somIsA SOMObject_somIsA
  211. #define somf_THashTableIterator_somIsInstanceOf SOMObject_somIsInstanceOf
  212. #define somf_THashTableIterator_somRespondsTo SOMObject_somRespondsTo
  213. #define somf_THashTableIterator_somDispatch SOMObject_somDispatch
  214. #define somf_THashTableIterator_somClassDispatch SOMObject_somClassDispatch
  215. #define somf_THashTableIterator_somCastObj SOMObject_somCastObj
  216. #define somf_THashTableIterator_somResetObj SOMObject_somResetObj
  217. #define somf_THashTableIterator_somDispatchV SOMObject_somDispatchV
  218. #define somf_THashTableIterator_somDispatchL SOMObject_somDispatchL
  219. #define somf_THashTableIterator_somDispatchA SOMObject_somDispatchA
  220. #define somf_THashTableIterator_somDispatchD SOMObject_somDispatchD
  221. #define somf_THashTableIterator_somPrintSelf SOMObject_somPrintSelf
  222. #define somf_THashTableIterator_somDumpSelf SOMObject_somDumpSelf
  223. #define somf_THashTableIterator_somDumpSelfInt SOMObject_somDumpSelfInt
  224. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  225.  
  226. #endif       /* SOM_somf_THashTableIterator_h */
  227.