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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: mlink.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_MLinkable
  25.  * 
  26.  * DESCRIPTION: This class defines the general attributes of objects that
  27.  *              contain links.  For example, TPrimitiveLinkedList uses
  28.  *              somf_MLinkable.
  29.  * 
  30.  */
  31.  
  32.  
  33. #ifndef SOM_somf_MLinkable_h
  34. #define SOM_somf_MLinkable_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_MLinkable
  50. #define somf_MLinkable 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.  
  62. /*
  63.  * End of bindings for IDL types.
  64.  */
  65.  
  66. #define somf_MLinkable_MajorVersion 2
  67. #define somf_MLinkable_MinorVersion 1
  68.  
  69. /*
  70.  * External name shortening if required
  71.  */
  72. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  73. #define somf_MLinkableNewClass c
  74. #pragma linkage(c, system)
  75. #define somf_MLinkableClassData d
  76. #define somf_MLinkableCClassData x
  77. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  78. /*--------------Migration------------*/
  79. #define somf_MLinkable_classObj somf_MLinkableClassData.classObject
  80. #define _somf_MLinkable somf_MLinkable_classObj
  81.  
  82. /*
  83.  * Declare the class creation procedure
  84.  */
  85. SOMEXTERN SOMClass * SOMLINK somf_MLinkableNewClass(integer4 somtmajorVersion,
  86.         integer4 somtminorVersion);
  87. #pragma linkage(somf_MLinkableNewClass, system)
  88.  
  89. /*
  90.  * Declare the class data structure
  91.  */
  92. SOMEXTERN struct somf_MLinkableClassDataStructure {
  93.     SOMClass *classObject;
  94.     somMToken somfGetNext;
  95.     somMToken somfSetNext;
  96.     somMToken somfGetPrevious;
  97.     somMToken somfSetPrevious;
  98.     somMToken somfMLinkableInit;
  99. } SOMDLINK somf_MLinkableClassData;
  100.  
  101. /*
  102.  * Declare the C specific class data structure
  103.  */
  104. SOMEXTERN struct somf_MLinkableCClassDataStructure {
  105.     somMethodTabs parentMtab;
  106.     somDToken instanceDataToken;
  107. } SOMDLINK somf_MLinkableCClassData;
  108.  
  109. /*
  110.  * New and Renew macros for somf_MLinkable
  111.  */
  112. #define somf_MLinkableNew() \
  113.    ( _somf_MLinkable ? \
  114.     _somNew(_somf_MLinkable) \
  115.     : ( somf_MLinkableNewClass(\
  116.         somf_MLinkable_MajorVersion, \
  117.         somf_MLinkable_MinorVersion),\
  118.        _somNew(_somf_MLinkable)))
  119. #define somf_MLinkableRenew(buf) \
  120.    ( _somf_MLinkable ? \
  121.     _somRenew(_somf_MLinkable, buf) \
  122.     : ( somf_MLinkableNewClass(\
  123.         somf_MLinkable_MajorVersion, \
  124.         somf_MLinkable_MinorVersion),\
  125.        _somRenew(_somf_MLinkable, buf)))
  126.  
  127. /*
  128.  * Override method: somInit
  129.  */
  130. #define somf_MLinkable_somInit(somSelf) \
  131.     SOMObject_somInit(somSelf)
  132.  
  133. /*
  134.  * New Method: somfMLinkableInit
  135.  */
  136. typedef somf_MLinkable*   SOMLINK somTP_somf_MLinkable_somfMLinkableInit(somf_MLinkable *somSelf, Environment *ev, 
  137.         somf_MLinkable* n, 
  138.         somf_MLinkable* p);
  139. #pragma linkage(somTP_somf_MLinkable_somfMLinkableInit, system)
  140. typedef somTP_somf_MLinkable_somfMLinkableInit *somTD_somf_MLinkable_somfMLinkableInit;
  141. /*
  142.  *  This method initialized the somf_MLinkable object using n and p.
  143.  */
  144. #define somMD_somf_MLinkable_somfMLinkableInit "::somf_MLinkable::somfMLinkableInit"
  145. #define somf_MLinkable_somfMLinkableInit(somSelf,ev,n,p) \
  146.     (SOM_Resolve(somSelf, somf_MLinkable, somfMLinkableInit) \
  147.     (somSelf,ev,n,p))
  148. #ifndef SOMGD_somfMLinkableInit
  149.     #if (defined(_somfMLinkableInit) || defined(__somfMLinkableInit))
  150.         #undef _somfMLinkableInit
  151.         #undef __somfMLinkableInit
  152.         #define SOMGD_somfMLinkableInit 1
  153.     #else
  154.         #define _somfMLinkableInit somf_MLinkable_somfMLinkableInit
  155.     #endif /* _somfMLinkableInit */
  156. #endif /* SOMGD_somfMLinkableInit */
  157.  
  158. /*
  159.  * New Method: somfGetNext
  160.  */
  161. typedef somf_MLinkable*   SOMLINK somTP_somf_MLinkable_somfGetNext(somf_MLinkable *somSelf, Environment *ev);
  162. #pragma linkage(somTP_somf_MLinkable_somfGetNext, system)
  163. typedef somTP_somf_MLinkable_somfGetNext *somTD_somf_MLinkable_somfGetNext;
  164. /*
  165.  *  This method returns a pointer to the next somf_MLinkable.
  166.  */
  167. #define somMD_somf_MLinkable_somfGetNext "::somf_MLinkable::somfGetNext"
  168. #define somf_MLinkable_somfGetNext(somSelf,ev) \
  169.     (SOM_Resolve(somSelf, somf_MLinkable, somfGetNext) \
  170.     (somSelf,ev))
  171. #ifndef SOMGD_somfGetNext
  172.     #if (defined(_somfGetNext) || defined(__somfGetNext))
  173.         #undef _somfGetNext
  174.         #undef __somfGetNext
  175.         #define SOMGD_somfGetNext 1
  176.     #else
  177.         #define _somfGetNext somf_MLinkable_somfGetNext
  178.     #endif /* _somfGetNext */
  179. #endif /* SOMGD_somfGetNext */
  180.  
  181. /*
  182.  * New Method: somfSetNext
  183.  */
  184. typedef void   SOMLINK somTP_somf_MLinkable_somfSetNext(somf_MLinkable *somSelf, Environment *ev, 
  185.         somf_MLinkable* aLink);
  186. #pragma linkage(somTP_somf_MLinkable_somfSetNext, system)
  187. typedef somTP_somf_MLinkable_somfSetNext *somTD_somf_MLinkable_somfSetNext;
  188. /*
  189.  *  This method sets the pointer to the next somf_MLinkable.
  190.  */
  191. #define somMD_somf_MLinkable_somfSetNext "::somf_MLinkable::somfSetNext"
  192. #define somf_MLinkable_somfSetNext(somSelf,ev,aLink) \
  193.     (SOM_Resolve(somSelf, somf_MLinkable, somfSetNext) \
  194.     (somSelf,ev,aLink))
  195. #ifndef SOMGD_somfSetNext
  196.     #if (defined(_somfSetNext) || defined(__somfSetNext))
  197.         #undef _somfSetNext
  198.         #undef __somfSetNext
  199.         #define SOMGD_somfSetNext 1
  200.     #else
  201.         #define _somfSetNext somf_MLinkable_somfSetNext
  202.     #endif /* _somfSetNext */
  203. #endif /* SOMGD_somfSetNext */
  204.  
  205. /*
  206.  * New Method: somfGetPrevious
  207.  */
  208. typedef somf_MLinkable*   SOMLINK somTP_somf_MLinkable_somfGetPrevious(somf_MLinkable *somSelf, Environment *ev);
  209. #pragma linkage(somTP_somf_MLinkable_somfGetPrevious, system)
  210. typedef somTP_somf_MLinkable_somfGetPrevious *somTD_somf_MLinkable_somfGetPrevious;
  211. /*
  212.  *  This method returns a pointer to the previous somf_MLinkable.
  213.  */
  214. #define somMD_somf_MLinkable_somfGetPrevious "::somf_MLinkable::somfGetPrevious"
  215. #define somf_MLinkable_somfGetPrevious(somSelf,ev) \
  216.     (SOM_Resolve(somSelf, somf_MLinkable, somfGetPrevious) \
  217.     (somSelf,ev))
  218. #ifndef SOMGD_somfGetPrevious
  219.     #if (defined(_somfGetPrevious) || defined(__somfGetPrevious))
  220.         #undef _somfGetPrevious
  221.         #undef __somfGetPrevious
  222.         #define SOMGD_somfGetPrevious 1
  223.     #else
  224.         #define _somfGetPrevious somf_MLinkable_somfGetPrevious
  225.     #endif /* _somfGetPrevious */
  226. #endif /* SOMGD_somfGetPrevious */
  227.  
  228. /*
  229.  * New Method: somfSetPrevious
  230.  */
  231. typedef void   SOMLINK somTP_somf_MLinkable_somfSetPrevious(somf_MLinkable *somSelf, Environment *ev, 
  232.         somf_MLinkable* aLink);
  233. #pragma linkage(somTP_somf_MLinkable_somfSetPrevious, system)
  234. typedef somTP_somf_MLinkable_somfSetPrevious *somTD_somf_MLinkable_somfSetPrevious;
  235. /*
  236.  *  This method sets the pointer to the previous somf_MLinkable.
  237.  */
  238. #define somMD_somf_MLinkable_somfSetPrevious "::somf_MLinkable::somfSetPrevious"
  239. #define somf_MLinkable_somfSetPrevious(somSelf,ev,aLink) \
  240.     (SOM_Resolve(somSelf, somf_MLinkable, somfSetPrevious) \
  241.     (somSelf,ev,aLink))
  242. #ifndef SOMGD_somfSetPrevious
  243.     #if (defined(_somfSetPrevious) || defined(__somfSetPrevious))
  244.         #undef _somfSetPrevious
  245.         #undef __somfSetPrevious
  246.         #define SOMGD_somfSetPrevious 1
  247.     #else
  248.         #define _somfSetPrevious somf_MLinkable_somfSetPrevious
  249.     #endif /* _somfSetPrevious */
  250. #endif /* SOMGD_somfSetPrevious */
  251. #ifndef SOM_DONT_USE_INHERITED_MACROS
  252. #define somf_MLinkable_somDefaultInit SOMObject_somDefaultInit
  253. #define somf_MLinkable_somDestruct SOMObject_somDestruct
  254. #define somf_MLinkable_somDefaultCopyInit SOMObject_somDefaultCopyInit
  255. #define somf_MLinkable_somDefaultAssign SOMObject_somDefaultAssign
  256. #define somf_MLinkable_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  257. #define somf_MLinkable_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  258. #define somf_MLinkable_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  259. #define somf_MLinkable_somDefaultConstAssign SOMObject_somDefaultConstAssign
  260. #define somf_MLinkable_somDefaultVAssign SOMObject_somDefaultVAssign
  261. #define somf_MLinkable_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  262. #define somf_MLinkable_somFree SOMObject_somFree
  263. #define somf_MLinkable_somUninit SOMObject_somUninit
  264. #define somf_MLinkable_somGetClass SOMObject_somGetClass
  265. #define somf_MLinkable_somGetClassName SOMObject_somGetClassName
  266. #define somf_MLinkable_somGetSize SOMObject_somGetSize
  267. #define somf_MLinkable_somIsA SOMObject_somIsA
  268. #define somf_MLinkable_somIsInstanceOf SOMObject_somIsInstanceOf
  269. #define somf_MLinkable_somRespondsTo SOMObject_somRespondsTo
  270. #define somf_MLinkable_somDispatch SOMObject_somDispatch
  271. #define somf_MLinkable_somClassDispatch SOMObject_somClassDispatch
  272. #define somf_MLinkable_somCastObj SOMObject_somCastObj
  273. #define somf_MLinkable_somResetObj SOMObject_somResetObj
  274. #define somf_MLinkable_somDispatchV SOMObject_somDispatchV
  275. #define somf_MLinkable_somDispatchL SOMObject_somDispatchL
  276. #define somf_MLinkable_somDispatchA SOMObject_somDispatchA
  277. #define somf_MLinkable_somDispatchD SOMObject_somDispatchD
  278. #define somf_MLinkable_somPrintSelf SOMObject_somPrintSelf
  279. #define somf_MLinkable_somDumpSelf SOMObject_somDumpSelf
  280. #define somf_MLinkable_somDumpSelfInt SOMObject_somDumpSelfInt
  281. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  282.  
  283. #endif       /* SOM_somf_MLinkable_h */
  284.