home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / ctm.efw < prev    next >
Text File  |  1996-12-24  |  5KB  |  182 lines

  1. :copyrightS
  2. /* @(#) somc/ctm.efw 2.41 4/30/96 15:25:24 [12/24/96 07:39:00] */
  3.  
  4. /*
  5.  *   COMPONENT_NAME: some
  6.  *
  7.  *   ORIGINS: 27
  8.  *
  9.  *
  10.  *   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  11.  *   All Rights Reserved
  12.  *   Licensed Materials - Property of IBM
  13.  *   US Government Users Restricted Rights - Use, duplication or
  14.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  15.  */
  16.  
  17. :prologS
  18. /*
  19.  *  This file was generated by the SOM Compiler and Emitter Framework.
  20.  *  Generated using: 
  21.  *      SOM Emitter <progname>: <version>
  22.  */
  23.  
  24. :moduleS
  25. #define SOM_Module_<moduleSourceFileStem>_Source
  26.  
  27. :classS
  28. #ifndef SOM_Module_<lowerClassSourceFileStem>_Source
  29. #define SOM_Module_<lowerClassSourceFileStem>_Source
  30. #endif
  31. #define <classCScopedName>_Class_Source
  32. ?#define <explicitMetaName>_Class_Source
  33. ?#define <metaClassForName>_Class_Source
  34.  
  35. :includeS
  36. #include "<classSourceFileStem>.<ext>"
  37.  
  38. :methodsPrologS
  39. :methodCommentS
  40. ?<--  methodComment>
  41.  
  42. :noSelfProcedurePrototypeS
  43.  
  44. SOMEXTERN <methodCReturnType>  SOMLINK __somP_<methodClassName>_<methodName>(<methodNoSelfParamList, ...>)
  45. :withSelfProcedurePrototypeS
  46.  
  47. SOMEXTERN <methodCReturnType>  SOMLINK __somP_<methodClassName>_<methodName>(<methodCParamList, ...>)
  48. :noSelfMethodPrototypeS
  49.  
  50. SOM_Scope <methodCReturnType>  SOMLINK <functionprefix><methodName>(<methodNoSelfParamList, ...>)
  51. :withSelfMethodPrototypeS
  52.  
  53. SOM_Scope <methodCReturnType>  SOMLINK <functionprefix><methodName>(<methodCParamList, ...>)
  54. :methodBodyS
  55. {
  56.     <somThisAssign>
  57.     <methodClassName>MethodDebug("<methodClassName>","<functionprefix><methodName>");
  58.  
  59. :pcallS
  60.     <classCScopedName>_pcall_<methodName>(<methodFullParamNameList, ...>);
  61. :returnedpcallS
  62.     return <classCScopedName>_pcall_<methodName>(<methodFullParamNameList, ...>);
  63. :CreturnStatementS
  64.     /* Return statement to be customized: */
  65.     return;
  66. :C++returnStatementS
  67.     /* Return statement to be customized: */
  68.     { <methodCReturnType> retVal;  return (retVal); }
  69. :somInitCallOfDefaultInitS
  70.     <functionprefix>somDefaultInit(somSelf, (som3InitCtrl *) NULL);
  71. :somUninitCallOfsomDestructS
  72.     <functionprefix>somDestruct(somSelf, FALSE, (som3DestructCtrl *) NULL);
  73. :methodEpilogS
  74. }
  75. :methodsEpilogS
  76.  
  77. :InitializerS
  78.  
  79. ?<--  initializerComment>
  80. SOM_Scope void SOMLINK <functionprefix><initializerName>(<initializerCParamList, ...>)
  81. {
  82.     <classCScopedName>Data *somThis; /* set in BeginInitializer */
  83.     som3InitCtrl globalCtrl;
  84.     somBooleanVector myMask;
  85.     <classCScopedName>MethodDebug("<classCScopedName>","<initializerName>");
  86.     <classCScopedName>_BeginInitializer_<initializerName>;
  87.  
  88. :AssignmentOpS
  89.  
  90. ?<--  assignmentOpComment>
  91. SOM_Scope <classCScopedName> <star> SOMLINK <functionprefix><assignmentOpName>(<assignmentOpCParamList, ...>)
  92. {
  93.     <classCScopedName>Data *somThis; /* set in BeginAssignmentOp */
  94.     som3AssignCtrl globalCtrl;
  95.     somBooleanVector myMask;
  96.     <classCScopedName>MethodDebug("<classCScopedName>","<assignmentOpName>");
  97.     <classCScopedName>_BeginAssignmentOp;
  98.  
  99. :parentInitializerCallS
  100.     <classCScopedName>_Init_<parentName>_somDefaultInit(somSelf, <ctrlName>);
  101. :parentCopyInitializerCallS
  102.     <classCScopedName>_Init_<parentName>_<initializerName>(somSelf, <ctrlName>, <fromName>);
  103. :parentAssignOpCallS
  104.     <classCScopedName>_Assign_<parentName>_<assignmentOpName>(somSelf, <ctrlName>, <fromName>);
  105. :initializerEpilogS
  106.  
  107.     /* 
  108.      * local <className> initialization code added by programmer 
  109.      */
  110. }
  111.  
  112. :AssignmentOpEpilogS
  113.  
  114.     /* 
  115.      * local <className> assignmentOp code added by programmer 
  116.      */
  117.  
  118.     return somSelf;
  119. }
  120.  
  121. :DestructorS
  122.  
  123. ?<--  destructorComment>
  124. SOM_Scope void SOMLINK <functionprefix>somDestruct(<destructorCParamList, ...>)
  125. {
  126.     <classCScopedName>Data *somThis; /* set in BeginDestructor */
  127.     som3DestructCtrl globalCtrl;
  128.     somBooleanVector myMask;
  129.     <classCScopedName>MethodDebug("<classCScopedName>","<functionprefix>somDestruct");
  130.     <classCScopedName>_BeginDestructor;
  131.  
  132.     /* 
  133.      * local <className> deinitialization code added by programmer 
  134.      */
  135.  
  136.     <classCScopedName>_EndDestructor;
  137. :parentDeinitializerCallS
  138. :DestructorEpilogS
  139. }
  140.  
  141. :classinitS
  142.  
  143. /* Programmer Provided Class Initialization called by __somC_<classCScopedName>_classInit */
  144. SOM_Scope void SOMLINK <functionprefix><classinit>(SOMClass *cls)
  145. {
  146. }
  147.  
  148. :classuninitS
  149.  
  150. /* Programmer Provided Class Uninitialization called by SOM kernel */
  151. SOM_Scope void SOMLINK <functionprefix><classuninit>(SOMClass *cls)
  152. {
  153. }
  154.  
  155. :somallocateS
  156.  
  157. /* Programmer Provided instance allocation function */
  158. /* returns an uninitialized instance so use void * as return type */
  159. SOM_Scope void * SOMLINK <somallocate>( SOMClass *cls, size_t sizeToAllocate )
  160. {
  161.    /* programmer replaces the following with memory allocation */
  162.    return 0;
  163. }
  164.  
  165. /* Programmer Provided instance deallocation function */
  166. SOM_Scope void SOMLINK <somdeallocate>( void *obj, size_t sizeToFree )
  167. {
  168. }
  169.  
  170. :epilogS
  171. :noSomThisAssignS
  172. :noDataSomThisAssignS
  173. /* <methodClassName>Data *somThis = <methodClassName>GetData(somSelf); */
  174. :yesDataSomThisAssignS
  175. <methodClassName>Data *somThis = <methodClassName>GetData(somSelf);
  176.  
  177. :instanceMethodClassNameS
  178. <classCScopedName>
  179. :classMethodClassNameS
  180. M_<classCScopedName>
  181.  
  182.