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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somr.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_SOMR_h
  26. #define SOM_SOMR_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 SOMR
  42. #define SOMR SOMObject
  43. #endif
  44. /*
  45.  * This class creates one of a kind managers needed for the replication framework.
  46.  * Any application wanting to use the framework must create an instance of this
  47.  * class at the very beginning (for example,  in its main program).
  48.  */
  49. #include <somobj.h>
  50.  
  51. /*
  52.  * Start of bindings for IDL types
  53.  */
  54.  
  55. #ifndef SOMClass
  56.     #define SOMClass SOMObject
  57. #endif /* SOMClass */
  58.  
  59. /*
  60.  * End of bindings for IDL types.
  61.  */
  62.  
  63. #define SOMR_MajorVersion 2
  64. #define SOMR_MinorVersion 1
  65.  
  66. /*
  67.  * External name shortening if required
  68.  */
  69. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  70. #define SOMRNewClass c
  71. #pragma linkage(c, system)
  72. #define SOMRClassData d
  73. #define SOMRCClassData x
  74. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  75.  
  76. /*
  77.  * Include the metaclass file
  78.  */
  79. #ifndef SOM_SOMMSingleInstance_h
  80. #include <snglicls.h>
  81. #endif
  82. /*--------------Migration------------*/
  83. #define SOMR_classObj SOMRClassData.classObject
  84. #define _SOMR SOMR_classObj
  85.  
  86. /*
  87.  * Declare the class creation procedure
  88.  */
  89. SOMEXTERN SOMClass * SOMLINK SOMRNewClass(integer4 somtmajorVersion,
  90.         integer4 somtminorVersion);
  91. #pragma linkage(SOMRNewClass, system)
  92.  
  93. /*
  94.  * Declare the class data structure
  95.  */
  96. SOMEXTERN struct SOMRClassDataStructure {
  97.     SOMClass *classObject;
  98. } SOMDLINK SOMRClassData;
  99.  
  100. /*
  101.  * Declare the C specific class data structure
  102.  */
  103. SOMEXTERN struct SOMRCClassDataStructure {
  104.     somMethodTabs parentMtab;
  105.     somDToken instanceDataToken;
  106. } SOMDLINK SOMRCClassData;
  107.  
  108. /*
  109.  * New and Renew macros for SOMR
  110.  */
  111. #define SOMRNew() \
  112.    ( _SOMR ? \
  113.     _somNew(_SOMR) \
  114.     : ( SOMRNewClass(\
  115.         SOMR_MajorVersion, \
  116.         SOMR_MinorVersion),\
  117.        _somNew(_SOMR)))
  118. #define SOMRRenew(buf) \
  119.    ( _SOMR ? \
  120.     _somRenew(_SOMR, buf) \
  121.     : ( SOMRNewClass(\
  122.         SOMR_MajorVersion, \
  123.         SOMR_MinorVersion),\
  124.        _somRenew(_SOMR, buf)))
  125.  
  126. /*
  127.  * Override method: somInit
  128.  */
  129. #define SOMR_somInit(somSelf) \
  130.     SOMObject_somInit(somSelf)
  131. #ifndef SOM_DONT_USE_INHERITED_MACROS
  132. #define SOMR_somDefaultInit SOMObject_somDefaultInit
  133. #define SOMR_somDestruct SOMObject_somDestruct
  134. #define SOMR_somDefaultCopyInit SOMObject_somDefaultCopyInit
  135. #define SOMR_somDefaultAssign SOMObject_somDefaultAssign
  136. #define SOMR_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  137. #define SOMR_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  138. #define SOMR_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  139. #define SOMR_somDefaultConstAssign SOMObject_somDefaultConstAssign
  140. #define SOMR_somDefaultVAssign SOMObject_somDefaultVAssign
  141. #define SOMR_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  142. #define SOMR_somFree SOMObject_somFree
  143. #define SOMR_somUninit SOMObject_somUninit
  144. #define SOMR_somGetClass SOMObject_somGetClass
  145. #define SOMR_somGetClassName SOMObject_somGetClassName
  146. #define SOMR_somGetSize SOMObject_somGetSize
  147. #define SOMR_somIsA SOMObject_somIsA
  148. #define SOMR_somIsInstanceOf SOMObject_somIsInstanceOf
  149. #define SOMR_somRespondsTo SOMObject_somRespondsTo
  150. #define SOMR_somDispatch SOMObject_somDispatch
  151. #define SOMR_somClassDispatch SOMObject_somClassDispatch
  152. #define SOMR_somCastObj SOMObject_somCastObj
  153. #define SOMR_somResetObj SOMObject_somResetObj
  154. #define SOMR_somDispatchV SOMObject_somDispatchV
  155. #define SOMR_somDispatchL SOMObject_somDispatchL
  156. #define SOMR_somDispatchA SOMObject_somDispatchA
  157. #define SOMR_somDispatchD SOMObject_somDispatchD
  158. #define SOMR_somPrintSelf SOMObject_somPrintSelf
  159. #define SOMR_somDumpSelf SOMObject_somDumpSelf
  160. #define SOMR_somDumpSelfInt SOMObject_somDumpSelfInt
  161. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  162.  
  163. #endif       /* SOM_SOMR_h */
  164.