home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / cset21v5.zip / TOOLKT21 / C / OS2H / SOMCM.H < prev    next >
C/C++ Source or Header  |  1993-04-22  |  9KB  |  262 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somcm.h.
  5.  * Generated using:
  6.  *     SOM Precompiler spc: 1.22
  7.  *     SOM Emitter emith: 1.11
  8.  */
  9.  
  10. /*
  11.  *  SOMClassMgr: System Object Model class manager
  12.  *  Copyright (c) International Business Machines Corporation
  13.  *          1991, 1992
  14.  */
  15.  
  16.  
  17. #ifndef somcm_h
  18. #define somcm_h
  19.  
  20.  
  21. #include <som.h>
  22.  
  23. /*
  24.  * Define the class name as an object type
  25.  */
  26. #ifndef SOMClassMgr
  27. #define SOMClassMgr SOMAny
  28. #endif
  29. #include <somobj.h>
  30.  
  31. #define SOMClassMgr_MajorVersion 1
  32. #define SOMClassMgr_MinorVersion 1
  33.  
  34. /*
  35.  * External name shortening if required
  36.  */
  37. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  38. #define SOMClassMgrNewClass somcmc
  39. #pragma linkage(somcmc, system)
  40. #define SOMClassMgrClassData somcmd
  41. #define SOMClassMgrCClassData somcmx
  42. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  43. /*--------------Migration------------*/
  44. #define SOMClassMgr_classObj SOMClassMgrClassData.classObject
  45. #define _SOMClassMgr SOMClassMgr_classObj
  46.  
  47. /*
  48.  * New and Renew macros for SOMClassMgr
  49.  */
  50. #define _SOMClassMgrNew() (_somNew(SOMClassMgrClassData.classObject))
  51. #define SOMClassMgrNew() \
  52.     ( SOMClassMgrClassData.classObject \
  53.         ? _SOMClassMgrNew() \
  54.         : ( SOMClassMgrNewClass(SOMClassMgr_MajorVersion, SOMClassMgr_MinorVersion), _SOMClassMgrNew() ) )
  55. #define SOMClassMgrRenew(buf) \
  56.     ( _somRenew(SOMClassMgrClassData.classObject, buf) )
  57.  
  58. /*
  59.  * Override method: somInit
  60.  */
  61. #define SOMClassMgr_somInit(somSelf) \
  62.     SOMObject_somInit(somSelf)
  63.  
  64. /*
  65.  * Override method: somUninit
  66.  */
  67. #define SOMClassMgr_somUninit(somSelf) \
  68.     SOMObject_somUninit(somSelf)
  69.  
  70. /*
  71.  * Override method: somDumpSelfInt
  72.  */
  73. #define SOMClassMgr_somDumpSelfInt(somSelf,level) \
  74.     SOMObject_somDumpSelfInt(somSelf,level)
  75.  
  76. /*
  77.  * New Method: somLoadClassFile
  78.  */
  79. typedef SOMClass *   SOMLINK somTP_SOMClassMgr_somLoadClassFile(SOMClassMgr *somSelf,
  80.         INOUT somId classId,
  81.         IN integer4 majorVersion,
  82.         IN integer4 minorVersion,
  83.         IN zString file);
  84. #pragma linkage(somTP_SOMClassMgr_somLoadClassFile, system)
  85. typedef somTP_SOMClassMgr_somLoadClassFile *somTD_SOMClassMgr_somLoadClassFile;
  86. #define somMD_SOMClassMgr_somLoadClassFile "----"
  87. #define SOMClassMgr_somLoadClassFile(somSelf,classId,majorVersion,minorVersion,file) \
  88.     (SOM_Resolve(somSelf, SOMClassMgr, somLoadClassFile) \
  89.     (somSelf,classId,majorVersion,minorVersion,file))
  90. #define _somLoadClassFile SOMClassMgr_somLoadClassFile
  91.  
  92. /*
  93.  * New Method: somLocateClassFile
  94.  */
  95. typedef zString    SOMLINK somTP_SOMClassMgr_somLocateClassFile(SOMClassMgr *somSelf,
  96.         INOUT somId classId,
  97.         IN integer4 majorVersion,
  98.         IN integer4 minorVersion);
  99. #pragma linkage(somTP_SOMClassMgr_somLocateClassFile, system)
  100. typedef somTP_SOMClassMgr_somLocateClassFile *somTD_SOMClassMgr_somLocateClassFile;
  101. #define somMD_SOMClassMgr_somLocateClassFile "----"
  102. #define SOMClassMgr_somLocateClassFile(somSelf,classId,majorVersion,minorVersion) \
  103.     (SOM_Resolve(somSelf, SOMClassMgr, somLocateClassFile) \
  104.     (somSelf,classId,majorVersion,minorVersion))
  105. #define _somLocateClassFile SOMClassMgr_somLocateClassFile
  106.  
  107. /*
  108.  * New Method: somRegisterClass
  109.  */
  110. typedef void    SOMLINK somTP_SOMClassMgr_somRegisterClass(SOMClassMgr *somSelf,
  111.         IN SOMClass *classObj);
  112. #pragma linkage(somTP_SOMClassMgr_somRegisterClass, system)
  113. typedef somTP_SOMClassMgr_somRegisterClass *somTD_SOMClassMgr_somRegisterClass;
  114. #define somMD_SOMClassMgr_somRegisterClass "----"
  115. #define SOMClassMgr_somRegisterClass(somSelf,classObj) \
  116.     (SOM_Resolve(somSelf, SOMClassMgr, somRegisterClass) \
  117.     (somSelf,classObj))
  118. #define _somRegisterClass SOMClassMgr_somRegisterClass
  119.  
  120. /*
  121.  * New Method: somUnloadClassFile
  122.  */
  123. typedef int    SOMLINK somTP_SOMClassMgr_somUnloadClassFile(SOMClassMgr *somSelf,
  124.         IN SOMClass *classObj);
  125. #pragma linkage(somTP_SOMClassMgr_somUnloadClassFile, system)
  126. typedef somTP_SOMClassMgr_somUnloadClassFile *somTD_SOMClassMgr_somUnloadClassFile;
  127. #define somMD_SOMClassMgr_somUnloadClassFile "----"
  128. #define SOMClassMgr_somUnloadClassFile(somSelf,classObj) \
  129.     (SOM_Resolve(somSelf, SOMClassMgr, somUnloadClassFile) \
  130.     (somSelf,classObj))
  131. #define _somUnloadClassFile SOMClassMgr_somUnloadClassFile
  132.  
  133. /*
  134.  * New Method: somUnregisterClass
  135.  */
  136. typedef int    SOMLINK somTP_SOMClassMgr_somUnregisterClass(SOMClassMgr *somSelf,
  137.         IN SOMClass *classObj);
  138. #pragma linkage(somTP_SOMClassMgr_somUnregisterClass, system)
  139. typedef somTP_SOMClassMgr_somUnregisterClass *somTD_SOMClassMgr_somUnregisterClass;
  140. #define somMD_SOMClassMgr_somUnregisterClass "----"
  141. #define SOMClassMgr_somUnregisterClass(somSelf,classObj) \
  142.     (SOM_Resolve(somSelf, SOMClassMgr, somUnregisterClass) \
  143.     (somSelf,classObj))
  144. #define _somUnregisterClass SOMClassMgr_somUnregisterClass
  145.  
  146. /*
  147.  * New Method: somGetInitFunction
  148.  */
  149. typedef zString    SOMLINK somTP_SOMClassMgr_somGetInitFunction(SOMClassMgr *somSelf);
  150. #pragma linkage(somTP_SOMClassMgr_somGetInitFunction, system)
  151. typedef somTP_SOMClassMgr_somGetInitFunction *somTD_SOMClassMgr_somGetInitFunction;
  152. #define somMD_SOMClassMgr_somGetInitFunction "----"
  153. #define SOMClassMgr_somGetInitFunction(somSelf) \
  154.     (SOM_Resolve(somSelf, SOMClassMgr, somGetInitFunction) \
  155.     (somSelf))
  156. #define _somGetInitFunction SOMClassMgr_somGetInitFunction
  157.  
  158. /*
  159.  * New Method: somGetRelatedClasses
  160.  */
  161. typedef SOMClass **   SOMLINK somTP_SOMClassMgr_somGetRelatedClasses(SOMClassMgr *somSelf,
  162.         IN SOMClass *classObj);
  163. #pragma linkage(somTP_SOMClassMgr_somGetRelatedClasses, system)
  164. typedef somTP_SOMClassMgr_somGetRelatedClasses *somTD_SOMClassMgr_somGetRelatedClasses;
  165. #define somMD_SOMClassMgr_somGetRelatedClasses "----"
  166. #define SOMClassMgr_somGetRelatedClasses(somSelf,classObj) \
  167.     (SOM_Resolve(somSelf, SOMClassMgr, somGetRelatedClasses) \
  168.     (somSelf,classObj))
  169. #define _somGetRelatedClasses SOMClassMgr_somGetRelatedClasses
  170.  
  171. /*
  172.  * New Method: somClassFromId
  173.  */
  174. typedef SOMClass *   SOMLINK somTP_SOMClassMgr_somClassFromId(SOMClassMgr *somSelf,
  175.         IN somId classId);
  176. #pragma linkage(somTP_SOMClassMgr_somClassFromId, system)
  177. typedef somTP_SOMClassMgr_somClassFromId *somTD_SOMClassMgr_somClassFromId;
  178. #define somMD_SOMClassMgr_somClassFromId "----"
  179. #define SOMClassMgr_somClassFromId(somSelf,classId) \
  180.     (SOM_Resolve(somSelf, SOMClassMgr, somClassFromId) \
  181.     (somSelf,classId))
  182. #define _somClassFromId SOMClassMgr_somClassFromId
  183.  
  184. /*
  185.  * New Method: somFindClass
  186.  */
  187. typedef SOMClass *   SOMLINK somTP_SOMClassMgr_somFindClass(SOMClassMgr *somSelf,
  188.         INOUT somId classId,
  189.         IN integer4 majorVersion,
  190.         IN integer4 minorVersion);
  191. #pragma linkage(somTP_SOMClassMgr_somFindClass, system)
  192. typedef somTP_SOMClassMgr_somFindClass *somTD_SOMClassMgr_somFindClass;
  193. #define somMD_SOMClassMgr_somFindClass "----"
  194. #define SOMClassMgr_somFindClass(somSelf,classId,majorVersion,minorVersion) \
  195.     (SOM_Resolve(somSelf, SOMClassMgr, somFindClass) \
  196.     (somSelf,classId,majorVersion,minorVersion))
  197. #define _somFindClass SOMClassMgr_somFindClass
  198.  
  199. /*
  200.  * New Method: somFindClsInFile
  201.  */
  202. typedef SOMClass *   SOMLINK somTP_SOMClassMgr_somFindClsInFile(SOMClassMgr *somSelf,
  203.         INOUT somId classId,
  204.         IN integer4 majorVersion,
  205.         IN integer4 minorVersion,
  206.         IN zString file);
  207. #pragma linkage(somTP_SOMClassMgr_somFindClsInFile, system)
  208. typedef somTP_SOMClassMgr_somFindClsInFile *somTD_SOMClassMgr_somFindClsInFile;
  209. #define somMD_SOMClassMgr_somFindClsInFile "----"
  210. #define SOMClassMgr_somFindClsInFile(somSelf,classId,majorVersion,minorVersion,file) \
  211.     (SOM_Resolve(somSelf, SOMClassMgr, somFindClsInFile) \
  212.     (somSelf,classId,majorVersion,minorVersion,file))
  213. #define _somFindClsInFile SOMClassMgr_somFindClsInFile
  214.  
  215. /*
  216.  * New Method: somMergeInto
  217.  */
  218. typedef void    SOMLINK somTP_SOMClassMgr_somMergeInto(SOMClassMgr *somSelf,
  219.         IN SOMObject *targetObj);
  220. #pragma linkage(somTP_SOMClassMgr_somMergeInto, system)
  221. typedef somTP_SOMClassMgr_somMergeInto *somTD_SOMClassMgr_somMergeInto;
  222. #define somMD_SOMClassMgr_somMergeInto "----"
  223. #define SOMClassMgr_somMergeInto(somSelf,targetObj) \
  224.     (SOM_Resolve(somSelf, SOMClassMgr, somMergeInto) \
  225.     (somSelf,targetObj))
  226. #define _somMergeInto SOMClassMgr_somMergeInto
  227.  
  228. /*
  229.  * Declare the class creation procedure
  230.  */
  231. SOMEXTERN SOMAny * SOMLINK SOMClassMgrNewClass(integer4 scemajorVersion,
  232.         integer4 sceminorVersion);
  233. #pragma linkage(SOMClassMgrNewClass, system)
  234.  
  235. /*
  236.  * Declare the class data structure
  237.  */
  238. SOMEXTERN struct SOMClassMgrClassDataStructure {
  239.     SOMAny *classObject;
  240.     somMToken somFindClsInFile;
  241.     somMToken somFindClass;
  242.     somMToken somClassFromId;
  243.     somMToken somRegisterClass;
  244.     somMToken somUnregisterClass;
  245.     somMToken somLocateClassFile;
  246.     somMToken somLoadClassFile;
  247.     somMToken somUnloadClassFile;
  248.     somMToken somGetInitFunction;
  249.     somMToken somMergeInto;
  250.     somMToken somGetRelatedClasses;
  251. } SOMClassMgrClassData;
  252.  
  253. /*
  254.  * Declare the C specific class data structure
  255.  */
  256. SOMEXTERN struct SOMClassMgrCClassDataStructure {
  257.     somMethodTab *parentMtab;
  258.     somDToken instanceDataToken;
  259. } SOMClassMgrCClassData;
  260.  
  261. #endif       /* somcm_h */
  262.