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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: objset.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somp
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *     25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,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.  */
  23.  
  24.  
  25. #ifndef SOM_SOMPObjectSet_h
  26. #define SOM_SOMPObjectSet_h
  27.  
  28.  
  29. #include <som.h>
  30.  
  31. /*
  32.  * -- This emitter treats Method Tokens as Thunks by default.
  33.  * -- Use the sc modifier "nothunks" to change this default
  34.  */
  35. #undef somresolve_
  36. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  37.  
  38. /*
  39.  * Define the class name as an object type
  40.  */
  41. #ifndef SOMPObjectSet
  42. #define SOMPObjectSet SOMObject
  43. #endif
  44. /*
  45.  *  This class is an abstact definition for a set of objects
  46.  *  and the operations which can be performed on the set.
  47.  */
  48. #include <somobj.h>
  49.  
  50. /*
  51.  * Start of bindings for IDL types
  52.  */
  53.  
  54. #ifndef SOMClass
  55.     #define SOMClass SOMObject
  56. #endif /* SOMClass */
  57. #ifndef SOMBuf
  58.     #define SOMBuf SOMObject
  59. #endif /* SOMBuf */
  60. #ifndef SOMPPersistentId
  61.     #define SOMPPersistentId SOMObject
  62. #endif /* SOMPPersistentId */
  63.  
  64. /*
  65.  * End of bindings for IDL types.
  66.  */
  67.  
  68. #define SOMPObjectSet_MajorVersion 2
  69. #define SOMPObjectSet_MinorVersion 1
  70.  
  71. /*
  72.  * External name shortening if required
  73.  */
  74. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  75. #define SOMPObjectSetNewClass c
  76. #pragma linkage(c, system)
  77. #define SOMPObjectSetClassData d
  78. #define SOMPObjectSetCClassData x
  79. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  80. /*--------------Migration------------*/
  81. #define SOMPObjectSet_classObj SOMPObjectSetClassData.classObject
  82. #define _SOMPObjectSet SOMPObjectSet_classObj
  83.  
  84. /*
  85.  * Declare the class creation procedure
  86.  */
  87. SOMEXTERN SOMClass * SOMLINK SOMPObjectSetNewClass(integer4 somtmajorVersion,
  88.         integer4 somtminorVersion);
  89. #pragma linkage(SOMPObjectSetNewClass, system)
  90.  
  91. /*
  92.  * Declare the class data structure
  93.  */
  94. SOMEXTERN struct SOMPObjectSetClassDataStructure {
  95.     SOMClass *classObject;
  96.     somMToken sompSetGetNth;
  97.     somMToken sompFindByID;
  98.     somMToken sompFindByAddress;
  99.     somMToken sompAddToSet;
  100.     somMToken sompSetDeleteNth;
  101.     somMToken sompGetSetSize;
  102.     somMToken sompObjEqualsID;
  103. } SOMDLINK SOMPObjectSetClassData;
  104.  
  105. /*
  106.  * Declare the C specific class data structure
  107.  */
  108. SOMEXTERN struct SOMPObjectSetCClassDataStructure {
  109.     somMethodTabs parentMtab;
  110.     somDToken instanceDataToken;
  111. } SOMDLINK SOMPObjectSetCClassData;
  112.  
  113. /*
  114.  * New and Renew macros for SOMPObjectSet
  115.  */
  116. #define SOMPObjectSetNew() \
  117.    ( _SOMPObjectSet ? \
  118.     _somNew(_SOMPObjectSet) \
  119.     : ( SOMPObjectSetNewClass(\
  120.         SOMPObjectSet_MajorVersion, \
  121.         SOMPObjectSet_MinorVersion),\
  122.        _somNew(_SOMPObjectSet)))
  123. #define SOMPObjectSetRenew(buf) \
  124.    ( _SOMPObjectSet ? \
  125.     _somRenew(_SOMPObjectSet, buf) \
  126.     : ( SOMPObjectSetNewClass(\
  127.         SOMPObjectSet_MajorVersion, \
  128.         SOMPObjectSet_MinorVersion),\
  129.        _somRenew(_SOMPObjectSet, buf)))
  130.  
  131. /*
  132.  * Override method: somInit
  133.  */
  134. #define SOMPObjectSet_somInit(somSelf) \
  135.     SOMObject_somInit(somSelf)
  136.  
  137. /*
  138.  * Override method: somUninit
  139.  */
  140. #define SOMPObjectSet_somUninit(somSelf) \
  141.     SOMObject_somUninit(somSelf)
  142.  
  143. /*
  144.  * Override method: somDumpSelfInt
  145.  */
  146. #define SOMPObjectSet_somDumpSelfInt(somSelf,level) \
  147.     SOMObject_somDumpSelfInt(somSelf,level)
  148.  
  149. /*
  150.  * New Method: sompSetGetNth
  151.  */
  152. typedef SOMObject*   SOMLINK somTP_SOMPObjectSet_sompSetGetNth(SOMPObjectSet *somSelf, Environment *ev, 
  153.         unsigned long n);
  154. #pragma linkage(somTP_SOMPObjectSet_sompSetGetNth, system)
  155. typedef somTP_SOMPObjectSet_sompSetGetNth *somTD_SOMPObjectSet_sompSetGetNth;
  156. /*
  157.  *  Return the nth object from the set.
  158.  */
  159. #define somMD_SOMPObjectSet_sompSetGetNth "::SOMPObjectSet::sompSetGetNth"
  160. #define SOMPObjectSet_sompSetGetNth(somSelf,ev,n) \
  161.     (SOM_Resolve(somSelf, SOMPObjectSet, sompSetGetNth) \
  162.     (somSelf,ev,n))
  163. #ifndef SOMGD_sompSetGetNth
  164.     #if (defined(_sompSetGetNth) || defined(__sompSetGetNth))
  165.         #undef _sompSetGetNth
  166.         #undef __sompSetGetNth
  167.         #define SOMGD_sompSetGetNth 1
  168.     #else
  169.         #define _sompSetGetNth SOMPObjectSet_sompSetGetNth
  170.     #endif /* _sompSetGetNth */
  171. #endif /* SOMGD_sompSetGetNth */
  172.  
  173. /*
  174.  * New Method: sompFindByID
  175.  */
  176. typedef SOMObject*   SOMLINK somTP_SOMPObjectSet_sompFindByID(SOMPObjectSet *somSelf, Environment *ev, 
  177.         SOMPPersistentId* lookfor);
  178. #pragma linkage(somTP_SOMPObjectSet_sompFindByID, system)
  179. typedef somTP_SOMPObjectSet_sompFindByID *somTD_SOMPObjectSet_sompFindByID;
  180. /*
  181.  *  Return the object with the ID given by <lookfor>. The true type of the
  182.  *  ID passed depends on the objects in the set. (All the objects in the
  183.  *  set are expected to be of the same type.)
  184.  */
  185. #define somMD_SOMPObjectSet_sompFindByID "::SOMPObjectSet::sompFindByID"
  186. #define SOMPObjectSet_sompFindByID(somSelf,ev,lookfor) \
  187.     (SOM_Resolve(somSelf, SOMPObjectSet, sompFindByID) \
  188.     (somSelf,ev,lookfor))
  189. #ifndef SOMGD_sompFindByID
  190.     #if (defined(_sompFindByID) || defined(__sompFindByID))
  191.         #undef _sompFindByID
  192.         #undef __sompFindByID
  193.         #define SOMGD_sompFindByID 1
  194.     #else
  195.         #define _sompFindByID SOMPObjectSet_sompFindByID
  196.     #endif /* _sompFindByID */
  197. #endif /* SOMGD_sompFindByID */
  198.  
  199. /*
  200.  * New Method: sompFindByAddress
  201.  */
  202. typedef long   SOMLINK somTP_SOMPObjectSet_sompFindByAddress(SOMPObjectSet *somSelf, Environment *ev, 
  203.         SOMObject* lookfor);
  204. #pragma linkage(somTP_SOMPObjectSet_sompFindByAddress, system)
  205. typedef somTP_SOMPObjectSet_sompFindByAddress *somTD_SOMPObjectSet_sompFindByAddress;
  206. /*
  207.  *  Returns the position in the set of the "lookfor" object or
  208.  *  -1 if the object was not found.
  209.  */
  210. #define somMD_SOMPObjectSet_sompFindByAddress "::SOMPObjectSet::sompFindByAddress"
  211. #define SOMPObjectSet_sompFindByAddress(somSelf,ev,lookfor) \
  212.     (SOM_Resolve(somSelf, SOMPObjectSet, sompFindByAddress) \
  213.     (somSelf,ev,lookfor))
  214. #ifndef SOMGD_sompFindByAddress
  215.     #if (defined(_sompFindByAddress) || defined(__sompFindByAddress))
  216.         #undef _sompFindByAddress
  217.         #undef __sompFindByAddress
  218.         #define SOMGD_sompFindByAddress 1
  219.     #else
  220.         #define _sompFindByAddress SOMPObjectSet_sompFindByAddress
  221.     #endif /* _sompFindByAddress */
  222. #endif /* SOMGD_sompFindByAddress */
  223.  
  224. /*
  225.  * New Method: sompAddToSet
  226.  */
  227. typedef void   SOMLINK somTP_SOMPObjectSet_sompAddToSet(SOMPObjectSet *somSelf, Environment *ev, 
  228.         SOMObject* thisObject);
  229. #pragma linkage(somTP_SOMPObjectSet_sompAddToSet, system)
  230. typedef somTP_SOMPObjectSet_sompAddToSet *somTD_SOMPObjectSet_sompAddToSet;
  231. /*
  232.  *  Add an object to the set.
  233.  */
  234. #define somMD_SOMPObjectSet_sompAddToSet "::SOMPObjectSet::sompAddToSet"
  235. #define SOMPObjectSet_sompAddToSet(somSelf,ev,thisObject) \
  236.     (SOM_Resolve(somSelf, SOMPObjectSet, sompAddToSet) \
  237.     (somSelf,ev,thisObject))
  238. #ifndef SOMGD_sompAddToSet
  239.     #if (defined(_sompAddToSet) || defined(__sompAddToSet))
  240.         #undef _sompAddToSet
  241.         #undef __sompAddToSet
  242.         #define SOMGD_sompAddToSet 1
  243.     #else
  244.         #define _sompAddToSet SOMPObjectSet_sompAddToSet
  245.     #endif /* _sompAddToSet */
  246. #endif /* SOMGD_sompAddToSet */
  247.  
  248. /*
  249.  * New Method: sompSetDeleteNth
  250.  */
  251. typedef void   SOMLINK somTP_SOMPObjectSet_sompSetDeleteNth(SOMPObjectSet *somSelf, Environment *ev, 
  252.         unsigned long n);
  253. #pragma linkage(somTP_SOMPObjectSet_sompSetDeleteNth, system)
  254. typedef somTP_SOMPObjectSet_sompSetDeleteNth *somTD_SOMPObjectSet_sompSetDeleteNth;
  255. /*
  256.  *  Delete the nth object from the set.
  257.  */
  258. #define somMD_SOMPObjectSet_sompSetDeleteNth "::SOMPObjectSet::sompSetDeleteNth"
  259. #define SOMPObjectSet_sompSetDeleteNth(somSelf,ev,n) \
  260.     (SOM_Resolve(somSelf, SOMPObjectSet, sompSetDeleteNth) \
  261.     (somSelf,ev,n))
  262. #ifndef SOMGD_sompSetDeleteNth
  263.     #if (defined(_sompSetDeleteNth) || defined(__sompSetDeleteNth))
  264.         #undef _sompSetDeleteNth
  265.         #undef __sompSetDeleteNth
  266.         #define SOMGD_sompSetDeleteNth 1
  267.     #else
  268.         #define _sompSetDeleteNth SOMPObjectSet_sompSetDeleteNth
  269.     #endif /* _sompSetDeleteNth */
  270. #endif /* SOMGD_sompSetDeleteNth */
  271.  
  272. /*
  273.  * New Method: sompGetSetSize
  274.  */
  275. typedef long   SOMLINK somTP_SOMPObjectSet_sompGetSetSize(SOMPObjectSet *somSelf, Environment *ev);
  276. #pragma linkage(somTP_SOMPObjectSet_sompGetSetSize, system)
  277. typedef somTP_SOMPObjectSet_sompGetSetSize *somTD_SOMPObjectSet_sompGetSetSize;
  278. /*
  279.  *  Returns the set size.
  280.  */
  281. #define somMD_SOMPObjectSet_sompGetSetSize "::SOMPObjectSet::sompGetSetSize"
  282. #define SOMPObjectSet_sompGetSetSize(somSelf,ev) \
  283.     (SOM_Resolve(somSelf, SOMPObjectSet, sompGetSetSize) \
  284.     (somSelf,ev))
  285. #ifndef SOMGD_sompGetSetSize
  286.     #if (defined(_sompGetSetSize) || defined(__sompGetSetSize))
  287.         #undef _sompGetSetSize
  288.         #undef __sompGetSetSize
  289.         #define SOMGD_sompGetSetSize 1
  290.     #else
  291.         #define _sompGetSetSize SOMPObjectSet_sompGetSetSize
  292.     #endif /* _sompGetSetSize */
  293. #endif /* SOMGD_sompGetSetSize */
  294.  
  295. /*
  296.  * New Method: sompObjEqualsID
  297.  */
  298. typedef boolean   SOMLINK somTP_SOMPObjectSet_sompObjEqualsID(SOMPObjectSet *somSelf, Environment *ev, 
  299.         SOMObject* cmpObj, 
  300.         SOMPPersistentId* lookfor);
  301. #pragma linkage(somTP_SOMPObjectSet_sompObjEqualsID, system)
  302. typedef somTP_SOMPObjectSet_sompObjEqualsID *somTD_SOMPObjectSet_sompObjEqualsID;
  303. /*
  304.  *  Returns TRUE if the given object <cmpObj> has the given
  305.  *  ID <lookfor>. Override this to make the appropriate
  306.  *  comparison for the objects in the set.
  307.  */
  308. #define somMD_SOMPObjectSet_sompObjEqualsID "::SOMPObjectSet::sompObjEqualsID"
  309. #define SOMPObjectSet_sompObjEqualsID(somSelf,ev,cmpObj,lookfor) \
  310.     (SOM_Resolve(somSelf, SOMPObjectSet, sompObjEqualsID) \
  311.     (somSelf,ev,cmpObj,lookfor))
  312. #ifndef SOMGD_sompObjEqualsID
  313.     #if (defined(_sompObjEqualsID) || defined(__sompObjEqualsID))
  314.         #undef _sompObjEqualsID
  315.         #undef __sompObjEqualsID
  316.         #define SOMGD_sompObjEqualsID 1
  317.     #else
  318.         #define _sompObjEqualsID SOMPObjectSet_sompObjEqualsID
  319.     #endif /* _sompObjEqualsID */
  320. #endif /* SOMGD_sompObjEqualsID */
  321. #ifndef SOM_DONT_USE_INHERITED_MACROS
  322. #define SOMPObjectSet_somDefaultInit SOMObject_somDefaultInit
  323. #define SOMPObjectSet_somDestruct SOMObject_somDestruct
  324. #define SOMPObjectSet_somDefaultCopyInit SOMObject_somDefaultCopyInit
  325. #define SOMPObjectSet_somDefaultAssign SOMObject_somDefaultAssign
  326. #define SOMPObjectSet_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  327. #define SOMPObjectSet_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  328. #define SOMPObjectSet_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  329. #define SOMPObjectSet_somDefaultConstAssign SOMObject_somDefaultConstAssign
  330. #define SOMPObjectSet_somDefaultVAssign SOMObject_somDefaultVAssign
  331. #define SOMPObjectSet_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  332. #define SOMPObjectSet_somFree SOMObject_somFree
  333. #define SOMPObjectSet_somGetClass SOMObject_somGetClass
  334. #define SOMPObjectSet_somGetClassName SOMObject_somGetClassName
  335. #define SOMPObjectSet_somGetSize SOMObject_somGetSize
  336. #define SOMPObjectSet_somIsA SOMObject_somIsA
  337. #define SOMPObjectSet_somIsInstanceOf SOMObject_somIsInstanceOf
  338. #define SOMPObjectSet_somRespondsTo SOMObject_somRespondsTo
  339. #define SOMPObjectSet_somDispatch SOMObject_somDispatch
  340. #define SOMPObjectSet_somClassDispatch SOMObject_somClassDispatch
  341. #define SOMPObjectSet_somCastObj SOMObject_somCastObj
  342. #define SOMPObjectSet_somResetObj SOMObject_somResetObj
  343. #define SOMPObjectSet_somDispatchV SOMObject_somDispatchV
  344. #define SOMPObjectSet_somDispatchL SOMObject_somDispatchL
  345. #define SOMPObjectSet_somDispatchA SOMObject_somDispatchA
  346. #define SOMPObjectSet_somDispatchD SOMObject_somDispatchD
  347. #define SOMPObjectSet_somPrintSelf SOMObject_somPrintSelf
  348. #define SOMPObjectSet_somDumpSelf SOMObject_somDumpSelf
  349. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  350.  
  351. #endif       /* SOM_SOMPObjectSet_h */
  352.