home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dtswps.zip / DTSFILES.ZIP / CPP.EFW < prev    next >
Text File  |  1996-06-24  |  12KB  |  430 lines

  1. :copyrightS
  2. /* @(#) /03 1.87 6/22/96 14:23:22 [6/24/96 09:41:49] */
  3.  
  4. /*
  5.  *   COMPONENT_NAME: some
  6.  *
  7.  *   ORIGINS: 27
  8.  *
  9.  *
  10.  *   10H9767, 25H7912  (C) COPYRIGHT International Business Machines Corp. 1992,1996 
  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. :headerS
  18. // Generated from <classSourceFile> at <NLSTimeStamp>
  19. // By the IBM DTS C++ header emitter version <release>.<version>
  20. // Using cpp.efw file version 1.87
  21.  
  22. :rootIncludeS
  23. #include \<somh.hh\>
  24.  
  25. :childIncludeS
  26. #include \<som.hh\>
  27.  
  28. :modulePrologS
  29.  
  30. /* Start Module <moduleCScopedName> */
  31.  
  32. :prologS
  33.  
  34. /* Start Interface <classCScopedName> */
  35.  
  36. :moduleS
  37.  
  38. ?<-- moduleComment>
  39. class <moduleName> {
  40. #if defined(__SOM__MODULES__)
  41. #pragma SOMModule (*,"<moduleName>")
  42. #endif
  43.  
  44. :cppmoduleS
  45.  
  46. ?<-- moduleComment>
  47. <cppmoduledecl> {
  48. #if defined(__SOM__MODULES__)
  49. #pragma SOMModule (*,"<moduleName>")
  50. #endif
  51.  
  52. :moduleEpilogS
  53. };
  54.  
  55. /* End <moduleCScopedName> */
  56.  
  57. :baseIncludeS
  58. #include \<<baseSourceFileStem>.hh>
  59. :metaIncludeS
  60. #include \<<metaSourceFileStem>.hh>
  61. :otherIncludeS
  62. #include \<<includeFileStem>.<includeFileExtension>>
  63. :includeFileS
  64. #include \<<includeFile>>
  65. :class1S
  66.  
  67. ?<forwardClassTemplate>
  68. <cppClassDeclaration> {
  69. ?<-- classComment>
  70.  
  71. :class2S
  72.  
  73. ?<forwardClassTemplate>
  74. class <cppClassName> : <parentList, ...> {
  75. ?<-- classComment>
  76.  
  77. :noparentClassS
  78. class <cppClassName> {
  79. ?<-- classComment>
  80. :classSOMClassNamePragmaS
  81. #if defined(__SOM__MODULES__)
  82.     #pragma SOMClassName(*, "<className>")
  83. #else
  84.     #pragma SOMClassName(*, "<classCScopedName>")
  85. #endif
  86. :classSOMClassNameNoModulePragmaS
  87.     #pragma SOMClassName(*, "<className>")
  88. :classSOMNoManglingPragmaS
  89.     #pragma SOMNoMangling(*)
  90. :classSOMNonDTSPragmaS
  91.     #pragma SOMNonDTS(*)
  92.  
  93. :epilogS
  94. };
  95.  
  96. :noModuleEpilogS
  97. /* End <cppClassName> */
  98. :releasePrologS
  99.  
  100.     #pragma SOMReleaseOrder ( \\
  101. :releaseS
  102.                   <releaseName>, \\
  103. :staticReleaseS
  104.                   __som_staticdata__<releaseName>, \\
  105. :releaseEpilogS
  106.                   <releaseName>)
  107. :staticReleaseEpilogS
  108.                   __som_staticdata__<releaseName>)
  109. :emptyReleaseS
  110.  
  111.     #pragma SOMReleaseOrder ()
  112.  
  113. :endReleaseS
  114. :friendForwardS
  115.     <friend>;
  116. :friendS
  117.     friend <friend>;
  118. :classWithMetaclassMapS
  119.     #pragma SOMMetaClass (*, <cppMetaClassName>)
  120. :classInitS
  121.     #pragma SOMClassInit (<classinit>)
  122. :versionS
  123.     #pragma SOMClassVersion (<cppClassName>, <classMajorVersion>, <classMinorVersion>)
  124. :callstyleS
  125.     #pragma SOMCallstyle (<callstyle>)
  126. :constantS
  127. ?    <-- constantComment>
  128.     /* IDL constant: <constantIDLScopedName> */
  129.     #define <constantCScopedName> <constantValueEvaluated>
  130. :constantOriginalDeclarationS
  131. ?    <-- constantComment>
  132.     <constantOriginalDeclaration>
  133. :typedefS
  134. ?    <-- typedefComment>
  135.     typedef <typedefBaseType> <typedefPointers><typedefName><typedefArrayDimensions>;
  136. :typedefOriginalDeclarationS
  137. ?    <-- typedefComment>
  138.     <typedefOriginalDeclaration>
  139. :enumS
  140. ?    <-- enumComment>
  141.     enum <enumName> {<enumNames, ...>};
  142. :enumOriginalDeclarationS
  143. ?    <-- enumComment>
  144.     <enumOriginalDeclaration>
  145. :enumFromIDLS
  146. ?    <-- enumComment>
  147.     enum <enumName> { <enumFirstEntry> = 1, <enumEntries, ...> };
  148. :structForwardS
  149. ?    <-- structComment>
  150.     struct <structName>;
  151. :emptyStructExceptionS
  152. ?    <-- structComment>
  153. #define ex_<structCScopedName> "<structIDLScopedName>"
  154. :structExceptionS
  155. ?    <-- structComment>
  156. #define ex_<structCScopedName> "<structIDLScopedName>"
  157.     typedef struct <structName> {
  158. :structS
  159. ?    <-- structComment>
  160.     typedef struct <structName> {
  161. :structMemberS
  162. ?              <-- memberComment>
  163.           <memberTypeWithStars> <memberPointers><memberName><memberArrayDimensions>;
  164. :structEpilogS
  165.     } <structName>;
  166. :unionForwardS
  167. ?    <-- unionComment>
  168.     struct <unionName>;
  169. :unionPrologS
  170. ?    <-- unionComment>
  171.     typedef struct <unionName> {
  172.         enum _v { 
  173. :caseLabelS
  174.                  <caseEntry, ...>
  175. :unionS
  176.         };
  177.         <switchType> _d;
  178.         union {
  179. :unionMemberS
  180.             <memberTypeWithStars> <memberPointers><memberName><memberArrayDimensions>;
  181. :unionEpilogS
  182.         } _u;
  183.     } <unionName>;
  184. :methodOriginalDeclarationS
  185. ?    <-- methodComment>
  186.     <methodOriginalDeclaration>
  187. :methodsPrologS
  188. :methodsS
  189. ?    <-- methodComment>
  190.     <methodCppReturnType> <methodCppName>(<methodCppParamList, ...>);
  191. :methodsEpilogS
  192. :methodTypeDefS
  193.  
  194.     // new method: <methodCppName>
  195.     typedef <methodCppReturnType> SOMLINK somTP_<methodCppName>(<methodFullCppParamList, ...>);
  196.     typedef somTP_<methodCppName>* somTD_<methodCppName>;
  197. :staticMethodS
  198. ?    <-- methodComment>
  199.     static <methodCppReturnType> <methodCppName>(<methodFullCppParamList, ...>);
  200. :virtualMethodsS
  201. ?    <-- methodComment>
  202.     virtual <methodCppReturnType> <methodCppName>(<methodCppParamList, ...>);
  203. :methodMapPragmaS
  204.     #pragma SOMMethodName (<methodCppName>, "<methodName>")
  205. :originalDataS
  206. ?    <--dataComment>
  207.     <dataOriginalDeclaration>
  208. :dataPrologS
  209. :dataS
  210.  
  211. ?    <--dataComment>
  212.     <dataBaseType> <dataPointers><dataCppName><dataArrayDimensions>;
  213. :objectDataS
  214.  
  215. ?    <--dataComment>
  216.     <dataBaseType> *<dataPointers><dataCppName><dataArrayDimensions>;
  217. :staticDataS
  218.  
  219. ?    <--dataComment>
  220.     static <dataBaseType> <dataPointers><dataCppName><dataArrayDimensions>;
  221. :staticAttrDataS
  222. ?    <--dataComment>
  223.     static <dataBaseType> <dataPointers>__som_staticdata__<dataCppName><dataArrayDimensions>;
  224.     <dataBaseType> <dataPointers><dataCppName><dataArrayDimensions>;
  225. :objectStaticDataS
  226. ?    <--dataComment>
  227.     static <dataBaseType> *<dataPointers><dataCppName><dataArrayDimensions>;
  228. :objectStaticAttrDataS
  229. ?    <--dataComment>
  230.     static <dataBaseType> *<dataPointers>__som_staticdata__<dataCppName><dataArrayDimensions>;
  231.     <dataBaseType> *<dataPointers><dataCppName><dataArrayDimensions>;
  232. :dataAttributePragmaS
  233.     #pragma SOMAttribute(<dataCppName><, noValueModifiers, ...>)
  234. :staticDataAttributePragmaS
  235.     #pragma SOMAttribute(<dataCppName>, nodata,noget,noset <, noValueModifiers, ...>)
  236. :dataMapPragmaS
  237.     #pragma SOMDataName (<dataCppName>, "<dataName>")
  238. :dataEpilogS
  239. :accessStatementS
  240.  
  241.   <accessMode> :
  242. :interfaceS
  243. ?<forwardClassTemplate>
  244. class <forwardClassName>;
  245. :structInterfaceS
  246. ?<forwardStructTemplate>
  247. struct <forwardClassName>;
  248. :passthruPrologS
  249. :passthruS
  250. ?<passthruBody>
  251. :passthruEpilogS
  252. :sequencePrologS
  253. #ifndef <sequenceName>_defined
  254. #define <sequenceName>_defined
  255. :sequenceStandardPartsS
  256.     typedef struct {
  257.         unsigned long _maximum;
  258.     unsigned long _length;
  259. :sequenceS
  260.     <sequenceType> *_buffer;
  261. :structSequenceS
  262.     struct <sequenceType> *_buffer;
  263. :objectSequenceS
  264.     <sequenceType> **_buffer;
  265. :sequenceEpilogS
  266.     } <sequenceName>;
  267. #endif // <sequenceName>_defined
  268. :sequencePrologUserTypeS
  269. #ifndef <className>_<sequenceName>_defined
  270. #define <className>_<sequenceName>_defined
  271. :sequencePrologUserTypeModuleS
  272. #ifndef <moduleName>_<sequenceName>_defined
  273. #define <moduleName>_<sequenceName>_defined
  274. :sequenceEpilogUserTypeS
  275.     } <sequenceName>;
  276. #endif // <className>_<sequenceName>_defined 
  277. :sequenceEpilogUserTypeModuleS
  278.     } <sequenceName>;
  279. #endif // <moduleName>_<sequenceName>_defined 
  280. :sequenceUserTypeS
  281.     typedef <sequenceName>;
  282. :bindingsOnPragmaS
  283.     #pragma SOMAsDefault(on)
  284. :bindingsOffPragmaS
  285.     #pragma SOMAsDefault(off)
  286. :bindingsPopPragmaS
  287.     #pragma SOMAsDefault(pop)
  288. :nondtsPragmasS
  289. #pragma SOMNonDTS(on)
  290. :nondtsPopPragmasS
  291.     #pragma SOMNonDTS(pop)
  292. :nondtsMethodPragmaS
  293. :nondtsMethodPopPragmaS
  294. :SOMObjectnondtsPragmaS
  295.     #pragma SOMNonDTS(on)
  296. :SOMObjectnondtsPopPragmaS
  297.     #pragma SOMNonDTS(pop)
  298. :NonDTSSpecialsS
  299.     <className>();
  300.     <className>(<className>&);
  301.     virtual ~<className>();
  302. #ifdef __EXTENDED__SOM__ASSIGNMENTS__
  303.     virtual <className>& somAssign(<className>&);
  304. #else
  305.     virtual SOMObject* somDefaultAssign(som3AssignCtrl*, SOMObject*);
  306. #endif
  307.  
  308. :SOMObjectSpecialMethodsS
  309.     SOMObject();
  310.     SOMObject(SOMObject&);
  311.     SOMObject(const SOMObject&);
  312.     SOMObject(volatile SOMObject&);
  313.     SOMObject(const volatile SOMObject&);
  314.     virtual ~SOMObject();
  315. #ifdef __EXTENDED__SOM__ASSIGNMENTS__
  316.     virtual SOMObject& somAssign(SOMObject&);
  317.     virtual SOMObject& somAssign(const SOMObject&);
  318.     virtual SOMObject& somAssign(volatile SOMObject&);
  319.     virtual SOMObject& somAssign(const volatile SOMObject&);
  320. #else
  321.     virtual SOMObject* somDefaultAssign(som3AssignCtrl*, SOMObject*);
  322.     virtual SOMObject* somDefaultConstAssign(som3AssignCtrl*, const SOMObject*);
  323.     virtual SOMObject* somDefaultVAssign(som3AssignCtrl*, volatile SOMObject*);
  324.     virtual SOMObject* somDefaultConstVAssign(som3AssignCtrl*, const volatile SOMObject*);
  325. #endif
  326.  
  327. :dtsDefaultsS
  328.     // dtsdefault ctor
  329.     <cppClassNameNP>();
  330.  
  331. :nonSOMObjectConstructorS
  332. ?    <-- methodComment>
  333.     <cppClassNameNP>(<methodCppParamList, ...>);
  334.     #pragma SOMMethodName( <cppClassNameNP>(<methodCppParamList, ...>), "<methodName>")
  335.  
  336. :destructorS
  337. ?    <-- methodComment>
  338.     virtual ~<cppClassNameNP>();
  339.  
  340. :noArgConstructorS
  341. ?    <-- methodComment>
  342.     <cppClassNameNP>();  
  343.  
  344. :defaultCopyInitS
  345. ?    <-- methodComment>
  346.     <cppClassNameNP>(<cppClassName>&);  
  347.  
  348. :defaultVCopyInitS
  349. ?    <-- methodComment>
  350.     <cppClassNameNP>(volatile <cppClassName>&);  
  351.  
  352. :defaultConstCopyInitS
  353. ?    <-- methodComment>
  354.     <cppClassNameNP>(const <cppClassName>&);  
  355.  
  356. :defaultConstVCopyInitS
  357. ?    <-- methodComment>
  358.     <cppClassNameNP>(const volatile <cppClassName>&);  
  359.  
  360. :defaultAssignS
  361. ?    <-- methodComment>
  362. <beginassign>
  363. #ifdef __EXTENDED__SOM__ASSIGNMENTS__
  364.     virtual <cppClassNameNP>& somAssign(<cppClassName>&);
  365. #else
  366.     virtual SOMObject* somDefaultAssign(som3AssignCtrl*, SOMObject*);
  367. #endif
  368. <endassign>
  369.  
  370. :defaultConstAssignS
  371. ?    <-- methodComment>
  372. <beginassign>
  373. #ifdef __EXTENDED__SOM__ASSIGNMENTS__
  374.     virtual <cppClassNameNP>& somAssign(const <cppClassName>&);
  375. #else
  376.     virtual SOMObject* somDefaultConstAssign(som3AssignCtrl * ctrl, const SOMObject*);
  377. #endif
  378. <endassign>
  379.  
  380. :defaultVAssignS
  381. ?    <-- methodComment>
  382. <beginassign>
  383. #ifdef __EXTENDED__SOM__ASSIGNMENTS__
  384.     virtual <cppClassNameNP>& somAssign(volatile <cppClassName>&);
  385. #else
  386.     virtual SOMObject* somDefaultVAssign(som3AssignCtrl * ctrl, volatile SOMObject*);
  387. #endif
  388. <endassign>
  389.  
  390. :defaultConstVAssignS
  391. ?    <-- methodComment>
  392. <beginassign>
  393. #ifdef __EXTENDED__SOM__ASSIGNMENTS__
  394.     virtual <cppClassNameNP>& somAssign(const volatile <cppClassName>&);
  395. #else
  396.     virtual SOMObject* somDefaultConstVAssign(som3AssignCtrl * ctrl, const volatile SOMObject*);
  397. #endif
  398. <endassign>
  399.  
  400. :classData1S
  401. #pragma SOMAsDefault(off)
  402. typedef struct {
  403.     SOMClass *classObject;
  404. :classData2S
  405. } __ClassDataStruct;
  406. #pragma SOMAsDefault(pop)
  407. #ifdef __HIGHC__
  408. #ifdef __SOM__MODULES__
  409. #define SOM_MTOKEN_<classCScopedName>(mName) \\
  410.     (((<classIDLScopedName>::__ClassDataStruct*)&<classIDLScopedName>::__ClassData)->mName)
  411. #define SOM_PARENT_<classCScopedName>(obj,mName,icls,mToken) ((icls::somTD_ ## mName) \\
  412.     somParentResolve(*(somMethodTabs*)(&<classIDLScopedName>::__CClassData),mToken))
  413. #else
  414. #define SOM_MTOKEN_<classCScopedName>(mName) \\
  415.     (((<classIDLScopedName>::__ClassDataStruct*)&<classCScopedName>::__ClassData)->mName)
  416. #define SOM_PARENT_<classCScopedName>(obj,mName,icls,mToken) ((icls::somTD_ ## mName) \\
  417.     somParentResolve(*(somMethodTabs*)(&<classCScopedName>::__CClassData),mToken))
  418. #endif
  419. #else
  420. #define SOM_MTOKEN_<classCScopedName>(mName) \\
  421.     (((<classIDLScopedName>::__ClassDataStruct*)&<classCScopedName>ClassData)->mName)
  422. #define SOM_PARENT_<classCScopedName>(obj,mName,icls,mToken) ((icls::somTD_ ## mName) \\
  423.     somParentResolve((somMethodTabs)(<classCScopedName>CClassData.parentMtab),mToken))
  424. #endif
  425.  
  426.  
  427. :dummyEndS
  428.  
  429.  
  430.