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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somrcls.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_SOMRReplicableObject_h
  26. #define SOM_SOMRReplicableObject_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 SOMRReplicableObject
  42. #define SOMRReplicableObject SOMObject
  43. #endif
  44. #include <replicbl.h>
  45.  
  46. /*
  47.  * Start of bindings for IDL types
  48.  */
  49.  
  50. #ifndef SOMClass
  51.     #define SOMClass SOMObject
  52. #endif /* SOMClass */
  53. #ifndef SOFTRepmgrAB
  54.     #define SOFTRepmgrAB SOMObject
  55. #endif /* SOFTRepmgrAB */
  56. #ifndef Set
  57.     #define Set SOMObject
  58. #endif /* Set */
  59.  
  60. /*
  61.  * End of bindings for IDL types.
  62.  */
  63.  
  64. #define SOMRReplicableObject_MajorVersion 2
  65. #define SOMRReplicableObject_MinorVersion 1
  66.  
  67. /*
  68.  * External name shortening if required
  69.  */
  70. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  71. #define SOMRReplicableObjectNewClass c
  72. #pragma linkage(c, system)
  73. #define SOMRReplicableObjectClassData d
  74. #define SOMRReplicableObjectCClassData x
  75. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  76.  
  77. /*
  78.  * Include the metaclass file
  79.  */
  80. #ifndef SOM_SOMRReplicable_h
  81. #include <somrmcls.h>
  82. #endif
  83. /*--------------Migration------------*/
  84. #define SOMRReplicableObject_classObj SOMRReplicableObjectClassData.classObject
  85. #define _SOMRReplicableObject SOMRReplicableObject_classObj
  86.  
  87. /*
  88.  * Declare the class creation procedure
  89.  */
  90. SOMEXTERN SOMClass * SOMLINK SOMRReplicableObjectNewClass(integer4 somtmajorVersion,
  91.         integer4 somtminorVersion);
  92. #pragma linkage(SOMRReplicableObjectNewClass, system)
  93.  
  94. /*
  95.  * Declare the class data structure
  96.  */
  97. SOMEXTERN struct SOMRReplicableObjectClassDataStructure {
  98.     SOMClass *classObject;
  99.     somMToken somrLoggingType;
  100.     somMToken somrReplicableExemptMethod;
  101. } SOMDLINK SOMRReplicableObjectClassData;
  102.  
  103. /*
  104.  * Declare the C specific class data structure
  105.  */
  106. SOMEXTERN struct SOMRReplicableObjectCClassDataStructure {
  107.     somMethodTabs parentMtab;
  108.     somDToken instanceDataToken;
  109. } SOMDLINK SOMRReplicableObjectCClassData;
  110.  
  111. /*
  112.  * New and Renew macros for SOMRReplicableObject
  113.  */
  114. #define SOMRReplicableObjectNew() \
  115.    ( _SOMRReplicableObject ? \
  116.     _somNew(_SOMRReplicableObject) \
  117.     : ( SOMRReplicableObjectNewClass(\
  118.         SOMRReplicableObject_MajorVersion, \
  119.         SOMRReplicableObject_MinorVersion),\
  120.        _somNew(_SOMRReplicableObject)))
  121. #define SOMRReplicableObjectRenew(buf) \
  122.    ( _SOMRReplicableObject ? \
  123.     _somRenew(_SOMRReplicableObject, buf) \
  124.     : ( SOMRReplicableObjectNewClass(\
  125.         SOMRReplicableObject_MajorVersion, \
  126.         SOMRReplicableObject_MinorVersion),\
  127.        _somRenew(_SOMRReplicableObject, buf)))
  128.  
  129. /*
  130.  * Override method: somrRepInit
  131.  */
  132. #define SOMRReplicableObject_somrRepInit(somSelf,ev,lType,mode) \
  133.     SOMRReplicbl_somrRepInit(somSelf,ev,lType,mode)
  134.  
  135. /*
  136.  * Override method: somrApplyUpdates
  137.  */
  138. #define SOMRReplicableObject_somrApplyUpdates(somSelf,ev,buf,len,ObjIntId) \
  139.     SOMRReplicbl_somrApplyUpdates(somSelf,ev,buf,len,ObjIntId)
  140.  
  141. /*
  142.  * New Method: somrLoggingType
  143.  */
  144. typedef char   SOMLINK somTP_SOMRReplicableObject_somrLoggingType(SOMRReplicableObject *somSelf, Environment *ev);
  145. #pragma linkage(somTP_SOMRReplicableObject_somrLoggingType, system)
  146. typedef somTP_SOMRReplicableObject_somrLoggingType *somTD_SOMRReplicableObject_somrLoggingType;
  147. #define somMD_SOMRReplicableObject_somrLoggingType "::SOMRReplicableObject::somrLoggingType"
  148. #define SOMRReplicableObject_somrLoggingType(somSelf,ev) \
  149.     (SOM_Resolve(somSelf, SOMRReplicableObject, somrLoggingType) \
  150.     (somSelf,ev))
  151. #ifndef SOMGD_somrLoggingType
  152.     #if (defined(_somrLoggingType) || defined(__somrLoggingType))
  153.         #undef _somrLoggingType
  154.         #undef __somrLoggingType
  155.         #define SOMGD_somrLoggingType 1
  156.     #else
  157.         #define _somrLoggingType SOMRReplicableObject_somrLoggingType
  158.     #endif /* _somrLoggingType */
  159. #endif /* SOMGD_somrLoggingType */
  160.  
  161. /*
  162.  * New Method: somrReplicableExemptMethod
  163.  */
  164. typedef boolean   SOMLINK somTP_SOMRReplicableObject_somrReplicableExemptMethod(SOMRReplicableObject *somSelf, Environment *ev, 
  165.         somId methodId);
  166. #pragma linkage(somTP_SOMRReplicableObject_somrReplicableExemptMethod, system)
  167. typedef somTP_SOMRReplicableObject_somrReplicableExemptMethod *somTD_SOMRReplicableObject_somrReplicableExemptMethod;
  168. #define somMD_SOMRReplicableObject_somrReplicableExemptMethod "::SOMRReplicableObject::somrReplicableExemptMethod"
  169. #define SOMRReplicableObject_somrReplicableExemptMethod(somSelf,ev,methodId) \
  170.     (SOM_Resolve(somSelf, SOMRReplicableObject, somrReplicableExemptMethod) \
  171.     (somSelf,ev,methodId))
  172. #ifndef SOMGD_somrReplicableExemptMethod
  173.     #if (defined(_somrReplicableExemptMethod) || defined(__somrReplicableExemptMethod))
  174.         #undef _somrReplicableExemptMethod
  175.         #undef __somrReplicableExemptMethod
  176.         #define SOMGD_somrReplicableExemptMethod 1
  177.     #else
  178.         #define _somrReplicableExemptMethod SOMRReplicableObject_somrReplicableExemptMethod
  179.     #endif /* _somrReplicableExemptMethod */
  180. #endif /* SOMGD_somrReplicableExemptMethod */
  181. #ifndef SOM_DONT_USE_INHERITED_MACROS
  182. #define SOMRReplicableObject_somrLock SOMRReplicbl_somrLock
  183. #define SOMRReplicableObject_somrLockNlogOp SOMRReplicbl_somrLockNlogOp
  184. #define SOMRReplicableObject_somrReleaseNPropagateUpdate SOMRReplicbl_somrReleaseNPropagateUpdate
  185. #define SOMRReplicableObject_somrReleaseLockNAbortUpdate SOMRReplicbl_somrReleaseLockNAbortUpdate
  186. #define SOMRReplicableObject_somrReleaseNPropagateOperation SOMRReplicbl_somrReleaseNPropagateOperation
  187. #define SOMRReplicableObject_somrReleaseLockNAbortOp SOMRReplicbl_somrReleaseLockNAbortOp
  188. #define SOMRReplicableObject_somrRepUninit SOMRReplicbl_somrRepUninit
  189. #define SOMRReplicableObject_somrDoDirective SOMRReplicbl_somrDoDirective
  190. #define SOMRReplicableObject_somrPin SOMRReplicbl_somrPin
  191. #define SOMRReplicableObject_somrUnPin SOMRReplicbl_somrUnPin
  192. #define SOMRReplicableObject_somrGetSecurityPolicy SOMRReplicbl_somrGetSecurityPolicy
  193. #define SOMRReplicableObject_somInit SOMObject_somInit
  194. #define SOMRReplicableObject_somUninit SOMObject_somUninit
  195. #define SOMRReplicableObject_somrSetObjName SOMRNameable_somrSetObjName
  196. #define SOMRReplicableObject_somrGetObjName SOMRNameable_somrGetObjName
  197. #define SOMRReplicableObject_somDefaultInit SOMObject_somDefaultInit
  198. #define SOMRReplicableObject_somDestruct SOMObject_somDestruct
  199. #define SOMRReplicableObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
  200. #define SOMRReplicableObject_somDefaultAssign SOMObject_somDefaultAssign
  201. #define SOMRReplicableObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  202. #define SOMRReplicableObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  203. #define SOMRReplicableObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  204. #define SOMRReplicableObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
  205. #define SOMRReplicableObject_somDefaultVAssign SOMObject_somDefaultVAssign
  206. #define SOMRReplicableObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  207. #define SOMRReplicableObject_somFree SOMObject_somFree
  208. #define SOMRReplicableObject_somGetClass SOMObject_somGetClass
  209. #define SOMRReplicableObject_somGetClassName SOMObject_somGetClassName
  210. #define SOMRReplicableObject_somGetSize SOMObject_somGetSize
  211. #define SOMRReplicableObject_somIsA SOMObject_somIsA
  212. #define SOMRReplicableObject_somIsInstanceOf SOMObject_somIsInstanceOf
  213. #define SOMRReplicableObject_somRespondsTo SOMObject_somRespondsTo
  214. #define SOMRReplicableObject_somDispatch SOMObject_somDispatch
  215. #define SOMRReplicableObject_somClassDispatch SOMObject_somClassDispatch
  216. #define SOMRReplicableObject_somCastObj SOMObject_somCastObj
  217. #define SOMRReplicableObject_somResetObj SOMObject_somResetObj
  218. #define SOMRReplicableObject_somDispatchV SOMObject_somDispatchV
  219. #define SOMRReplicableObject_somDispatchL SOMObject_somDispatchL
  220. #define SOMRReplicableObject_somDispatchA SOMObject_somDispatchA
  221. #define SOMRReplicableObject_somDispatchD SOMObject_somDispatchD
  222. #define SOMRReplicableObject_somPrintSelf SOMObject_somPrintSelf
  223. #define SOMRReplicableObject_somDumpSelf SOMObject_somDumpSelf
  224. #define SOMRReplicableObject_somDumpSelfInt SOMObject_somDumpSelfInt
  225. #define SOMRReplicableObject_somrGetState SOMRLinearizable_somrGetState
  226. #define SOMRReplicableObject_somrSetState SOMRLinearizable_somrSetState
  227. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  228.  
  229. #endif       /* SOM_SOMRReplicableObject_h */
  230.