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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: nameable.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *    COMPONENT_NAME: somr
  12.  * 
  13.  *    ORIGINS: 27
  14.  * 
  15.  * 
  16.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  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_SOMRNameable_h
  26. #define SOM_SOMRNameable_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 SOMRNameable
  42. #define SOMRNameable SOMObject
  43. #endif
  44. /*
  45.  * Any object derived from this class would have a string name.
  46.  */
  47. #include <somobj.h>
  48.  
  49. /*
  50.  * Start of bindings for IDL types
  51.  */
  52.  
  53. #ifndef SOMClass
  54.     #define SOMClass SOMObject
  55. #endif /* SOMClass */
  56.  
  57. /*
  58.  * End of bindings for IDL types.
  59.  */
  60.  
  61. #define SOMRNameable_MajorVersion 2
  62. #define SOMRNameable_MinorVersion 1
  63.  
  64. /*
  65.  * External name shortening if required
  66.  */
  67. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  68. #define SOMRNameableNewClass c
  69. #pragma linkage(c, system)
  70. #define SOMRNameableClassData d
  71. #define SOMRNameableCClassData x
  72. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  73. /*--------------Migration------------*/
  74. #define SOMRNameable_classObj SOMRNameableClassData.classObject
  75. #define _SOMRNameable SOMRNameable_classObj
  76.  
  77. /*
  78.  * Declare the class creation procedure
  79.  */
  80. SOMEXTERN SOMClass * SOMLINK SOMRNameableNewClass(integer4 somtmajorVersion,
  81.         integer4 somtminorVersion);
  82. #pragma linkage(SOMRNameableNewClass, system)
  83.  
  84. /*
  85.  * Declare the class data structure
  86.  */
  87. SOMEXTERN struct SOMRNameableClassDataStructure {
  88.     SOMClass *classObject;
  89.     somMToken somrSetObjName;
  90.     somMToken somrGetObjName;
  91. } SOMDLINK SOMRNameableClassData;
  92.  
  93. /*
  94.  * Declare the C specific class data structure
  95.  */
  96. SOMEXTERN struct SOMRNameableCClassDataStructure {
  97.     somMethodTabs parentMtab;
  98.     somDToken instanceDataToken;
  99. } SOMDLINK SOMRNameableCClassData;
  100.  
  101. /*
  102.  * New and Renew macros for SOMRNameable
  103.  */
  104. #define SOMRNameableNew() \
  105.    ( _SOMRNameable ? \
  106.     _somNew(_SOMRNameable) \
  107.     : ( SOMRNameableNewClass(\
  108.         SOMRNameable_MajorVersion, \
  109.         SOMRNameable_MinorVersion),\
  110.        _somNew(_SOMRNameable)))
  111. #define SOMRNameableRenew(buf) \
  112.    ( _SOMRNameable ? \
  113.     _somRenew(_SOMRNameable, buf) \
  114.     : ( SOMRNameableNewClass(\
  115.         SOMRNameable_MajorVersion, \
  116.         SOMRNameable_MinorVersion),\
  117.        _somRenew(_SOMRNameable, buf)))
  118.  
  119. /*
  120.  * Override method: somInit
  121.  */
  122. #define SOMRNameable_somInit(somSelf) \
  123.     SOMObject_somInit(somSelf)
  124.  
  125. /*
  126.  * Override method: somUninit
  127.  */
  128. #define SOMRNameable_somUninit(somSelf) \
  129.     SOMObject_somUninit(somSelf)
  130.  
  131. /*
  132.  * New Method: somrSetObjName
  133.  */
  134. typedef void   SOMLINK somTP_SOMRNameable_somrSetObjName(SOMRNameable *somSelf, Environment *ev, 
  135.         string name);
  136. #pragma linkage(somTP_SOMRNameable_somrSetObjName, system)
  137. typedef somTP_SOMRNameable_somrSetObjName *somTD_SOMRNameable_somrSetObjName;
  138. /*
  139.  *  Sets the internal pointer to "name" .
  140.  *            The OWNERSHIP of the string is transferred to this object.
  141.  */
  142. #define somMD_SOMRNameable_somrSetObjName "::SOMRNameable::somrSetObjName"
  143. #define SOMRNameable_somrSetObjName(somSelf,ev,name) \
  144.     (SOM_Resolve(somSelf, SOMRNameable, somrSetObjName) \
  145.     (somSelf,ev,name))
  146. #ifndef SOMGD_somrSetObjName
  147.     #if (defined(_somrSetObjName) || defined(__somrSetObjName))
  148.         #undef _somrSetObjName
  149.         #undef __somrSetObjName
  150.         #define SOMGD_somrSetObjName 1
  151.     #else
  152.         #define _somrSetObjName SOMRNameable_somrSetObjName
  153.     #endif /* _somrSetObjName */
  154. #endif /* SOMGD_somrSetObjName */
  155.  
  156. /*
  157.  * New Method: somrGetObjName
  158.  */
  159. typedef string   SOMLINK somTP_SOMRNameable_somrGetObjName(SOMRNameable *somSelf, Environment *ev);
  160. #pragma linkage(somTP_SOMRNameable_somrGetObjName, system)
  161. typedef somTP_SOMRNameable_somrGetObjName *somTD_SOMRNameable_somrGetObjName;
  162. /*
  163.  *  Returns a pointer to the name string.
  164.  *           The OWNERSHIP of the string stays with this object.
  165.  */
  166. #define somMD_SOMRNameable_somrGetObjName "::SOMRNameable::somrGetObjName"
  167. #define SOMRNameable_somrGetObjName(somSelf,ev) \
  168.     (SOM_Resolve(somSelf, SOMRNameable, somrGetObjName) \
  169.     (somSelf,ev))
  170. #ifndef SOMGD_somrGetObjName
  171.     #if (defined(_somrGetObjName) || defined(__somrGetObjName))
  172.         #undef _somrGetObjName
  173.         #undef __somrGetObjName
  174.         #define SOMGD_somrGetObjName 1
  175.     #else
  176.         #define _somrGetObjName SOMRNameable_somrGetObjName
  177.     #endif /* _somrGetObjName */
  178. #endif /* SOMGD_somrGetObjName */
  179. #ifndef SOM_DONT_USE_INHERITED_MACROS
  180. #define SOMRNameable_somDefaultInit SOMObject_somDefaultInit
  181. #define SOMRNameable_somDestruct SOMObject_somDestruct
  182. #define SOMRNameable_somDefaultCopyInit SOMObject_somDefaultCopyInit
  183. #define SOMRNameable_somDefaultAssign SOMObject_somDefaultAssign
  184. #define SOMRNameable_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  185. #define SOMRNameable_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  186. #define SOMRNameable_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  187. #define SOMRNameable_somDefaultConstAssign SOMObject_somDefaultConstAssign
  188. #define SOMRNameable_somDefaultVAssign SOMObject_somDefaultVAssign
  189. #define SOMRNameable_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  190. #define SOMRNameable_somFree SOMObject_somFree
  191. #define SOMRNameable_somGetClass SOMObject_somGetClass
  192. #define SOMRNameable_somGetClassName SOMObject_somGetClassName
  193. #define SOMRNameable_somGetSize SOMObject_somGetSize
  194. #define SOMRNameable_somIsA SOMObject_somIsA
  195. #define SOMRNameable_somIsInstanceOf SOMObject_somIsInstanceOf
  196. #define SOMRNameable_somRespondsTo SOMObject_somRespondsTo
  197. #define SOMRNameable_somDispatch SOMObject_somDispatch
  198. #define SOMRNameable_somClassDispatch SOMObject_somClassDispatch
  199. #define SOMRNameable_somCastObj SOMObject_somCastObj
  200. #define SOMRNameable_somResetObj SOMObject_somResetObj
  201. #define SOMRNameable_somDispatchV SOMObject_somDispatchV
  202. #define SOMRNameable_somDispatchL SOMObject_somDispatchL
  203. #define SOMRNameable_somDispatchA SOMObject_somDispatchA
  204. #define SOMRNameable_somDispatchD SOMObject_somDispatchD
  205. #define SOMRNameable_somPrintSelf SOMObject_somPrintSelf
  206. #define SOMRNameable_somDumpSelf SOMObject_somDumpSelf
  207. #define SOMRNameable_somDumpSelfInt SOMObject_somDumpSelfInt
  208. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  209.  
  210. #endif       /* SOM_SOMRNameable_h */
  211.