home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / SOMCM.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  24KB  |  612 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: somcm.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.2
  7.  *     SOM Emitter emith: 2.41
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somk
  13.  * 
  14.  *    ORIGINS: 27
  15.  * 
  16.  * 
  17.  *    10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  18.  *    All Rights Reserved
  19.  *    Licensed Materials - Property of IBM
  20.  *    US Government Users Restricted Rights - Use, duplication or
  21.  *    disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  22.  * 
  23.  *   SOMClassMgr: System Object Model class manager
  24.  */
  25.  
  26.  
  27. #ifndef SOM_SOMClassMgr_h
  28. #define SOM_SOMClassMgr_h
  29.  
  30.  
  31. #include <som.h>
  32.  
  33. /*
  34.  * -- This emitter treats Method Tokens as Thunks by default.
  35.  * -- Use the sc modifier "nothunks" to change this default
  36.  */
  37. #undef somresolve_
  38. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  39.  
  40. /*
  41.  * Define the class name as an object type
  42.  */
  43. #ifndef SOMClassMgr
  44. #define SOMClassMgr SOMObject
  45. #endif
  46. #include <somobj.h>
  47.  
  48. /*
  49.  * Start of user-defined types:
  50.  */
  51. #ifndef SOMClass
  52.     #define SOMClass SOMObject
  53. #endif /* SOMClass */
  54. #ifndef Repository
  55.     #define Repository SOMObject
  56. #endif /* Repository */
  57. typedef
  58. SOMClass** SOMClassMgr_SOMClassArray;
  59.  
  60. /*
  61.  *  Used for SOM 1.0 binary compatibility
  62.  */
  63. #ifndef _IDL_SEQUENCE_SOMClass_defined
  64. #define _IDL_SEQUENCE_SOMClass_defined
  65. typedef struct {
  66.     unsigned long _maximum;
  67.     unsigned long _length;
  68.     SOMClass **_buffer;
  69. } _IDL_SEQUENCE_SOMClass;
  70. #endif /* _IDL_SEQUENCE_SOMClass_defined */ 
  71.  
  72. #ifndef SOM_DONT_USE_SHORT_NAMES
  73. #ifndef SOMTGD_SOMClassArray
  74.     #ifdef SOMClassArray
  75.         #undef SOMClassArray
  76.         #define SOMTGD_SOMClassArray 1
  77.     #else
  78.         #define SOMClassArray SOMClassMgr_SOMClassArray
  79.     #endif /* SOMClassArray */
  80. #endif /* SOMTGD_SOMClassArray */
  81. #endif /* SOM_DONT_USE_SHORT_NAMES */
  82.  
  83. #ifndef SOM_DONT_USE_SHORT_NAMES
  84. #endif /* SOM_DONT_USE_SHORT_NAMES */
  85.  
  86. /*
  87.  * End of user-defined types.
  88.  */
  89.  
  90. #define SOMClassMgr_MajorVersion 1
  91. #define SOMClassMgr_MinorVersion 4
  92.  
  93. /*
  94.  * External name shortening if required
  95.  */
  96. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  97. #define SOMClassMgrNewClass somcmc
  98. #pragma linkage(somcmc, system)
  99. #define SOMClassMgrClassData somcmd
  100. #define SOMClassMgrCClassData somcmx
  101. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  102. /*--------------Migration------------*/
  103. #define SOMClassMgr_classObj SOMClassMgrClassData.classObject
  104. #define _SOMClassMgr SOMClassMgr_classObj
  105.  
  106. /*
  107.  * Declare the class creation procedure
  108.  */
  109. SOMEXTERN SOMClass * SOMLINK SOMClassMgrNewClass(integer4 somtmajorVersion,
  110.         integer4 somtminorVersion);
  111. #pragma linkage(SOMClassMgrNewClass, system)
  112.  
  113. /*
  114.  * Declare the class data structure
  115.  */
  116. SOMEXTERN struct SOMClassMgrClassDataStructure {
  117.     SOMAny *classObject;
  118.     somMToken somFindClsInFile;
  119.     somMToken somFindClass;
  120.     somMToken somClassFromId;
  121.     somMToken somRegisterClass;
  122.     somMToken somUnregisterClass;
  123.     somMToken somLocateClassFile;
  124.     somMToken somLoadClassFile;
  125.     somMToken somUnloadClassFile;
  126.     somMToken somGetInitFunction;
  127.     somMToken somMergeInto;
  128.     somMToken somGetRelatedClasses;
  129.     somMToken somSubstituteClass;
  130.     somMToken _get_somInterfaceRepository;
  131.     somMToken _set_somInterfaceRepository;
  132.     somMToken _get_somRegisteredClasses;
  133.     somMToken somBeginPersistentClasses;
  134.     somMToken somEndPersistentClasses;
  135.     somMToken somcmPrivate1;
  136.     somMToken somcmPrivate2;
  137.     somMToken somRegisterClassLibrary;
  138.     somMToken somJoinAffinityGroup;
  139. } SOMDLINK SOMClassMgrClassData;
  140.  
  141. /*
  142.  * Declare the C specific class data structure
  143.  */
  144. SOMEXTERN struct SOMClassMgrCClassDataStructure {
  145.     somMethodTabs parentMtab;
  146.     somDToken instanceDataToken;
  147. } SOMDLINK SOMClassMgrCClassData;
  148.  
  149. /*
  150.  * New and Renew macros for SOMClassMgr
  151.  */
  152. #define SOMClassMgrNew() \
  153.    (_somNew(_SOMClassMgr ? _SOMClassMgr : SOMClassMgrNewClass(SOMClassMgr_MajorVersion, SOMClassMgr_MinorVersion)))
  154. #define SOMClassMgrRenew(buf) \
  155.    (_somRenew(_SOMClassMgr ? _SOMClassMgr : SOMClassMgrNewClass(SOMClassMgr_MajorVersion, SOMClassMgr_MinorVersion), buf))
  156.  
  157. /*
  158.  * Override method: somInit
  159.  */
  160. #define SOMClassMgr_somInit(somSelf) \
  161.     SOMObject_somInit(somSelf)
  162.  
  163. /*
  164.  * Override method: somUninit
  165.  */
  166. #define SOMClassMgr_somUninit(somSelf) \
  167.     SOMObject_somUninit(somSelf)
  168.  
  169. /*
  170.  * Override method: somDumpSelfInt
  171.  */
  172. #define SOMClassMgr_somDumpSelfInt(somSelf,level) \
  173.     SOMObject_somDumpSelfInt(somSelf,level)
  174.  
  175. /*
  176.  * New Method: somLoadClassFile
  177.  */
  178. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somLoadClassFile(SOMClassMgr *somSelf,
  179.         somId classId,
  180.         long majorVersion,
  181.         long minorVersion,
  182.         string file);
  183. #pragma linkage(somTP_SOMClassMgr_somLoadClassFile, system)
  184. typedef somTP_SOMClassMgr_somLoadClassFile *somTD_SOMClassMgr_somLoadClassFile;
  185. #define somMD_SOMClassMgr_somLoadClassFile "::SOMClassMgr::somLoadClassFile"
  186. #define SOMClassMgr_somLoadClassFile(somSelf,classId,majorVersion,minorVersion,file) \
  187.     (SOM_Resolve(somSelf, SOMClassMgr, somLoadClassFile) \
  188.     (somSelf,classId,majorVersion,minorVersion,file))
  189. #ifndef SOMGD_somLoadClassFile
  190.     #if (defined(_somLoadClassFile) || defined(__somLoadClassFile))
  191.         #undef _somLoadClassFile
  192.         #undef __somLoadClassFile
  193.         #define SOMGD_somLoadClassFile 1
  194.     #else
  195.         #define _somLoadClassFile SOMClassMgr_somLoadClassFile
  196.     #endif /* _somLoadClassFile */
  197. #endif /* SOMGD_somLoadClassFile */
  198.  
  199. /*
  200.  * New Method: somLocateClassFile
  201.  */
  202. typedef string   SOMLINK somTP_SOMClassMgr_somLocateClassFile(SOMClassMgr *somSelf,
  203.         somId classId,
  204.         long majorVersion,
  205.         long minorVersion);
  206. #pragma linkage(somTP_SOMClassMgr_somLocateClassFile, system)
  207. typedef somTP_SOMClassMgr_somLocateClassFile *somTD_SOMClassMgr_somLocateClassFile;
  208. #define somMD_SOMClassMgr_somLocateClassFile "::SOMClassMgr::somLocateClassFile"
  209. #define SOMClassMgr_somLocateClassFile(somSelf,classId,majorVersion,minorVersion) \
  210.     (SOM_Resolve(somSelf, SOMClassMgr, somLocateClassFile) \
  211.     (somSelf,classId,majorVersion,minorVersion))
  212. #ifndef SOMGD_somLocateClassFile
  213.     #if (defined(_somLocateClassFile) || defined(__somLocateClassFile))
  214.         #undef _somLocateClassFile
  215.         #undef __somLocateClassFile
  216.         #define SOMGD_somLocateClassFile 1
  217.     #else
  218.         #define _somLocateClassFile SOMClassMgr_somLocateClassFile
  219.     #endif /* _somLocateClassFile */
  220. #endif /* SOMGD_somLocateClassFile */
  221.  
  222. /*
  223.  * New Method: somRegisterClass
  224.  */
  225. typedef void   SOMLINK somTP_SOMClassMgr_somRegisterClass(SOMClassMgr *somSelf,
  226.         SOMClass* classObj);
  227. #pragma linkage(somTP_SOMClassMgr_somRegisterClass, system)
  228. typedef somTP_SOMClassMgr_somRegisterClass *somTD_SOMClassMgr_somRegisterClass;
  229. #define somMD_SOMClassMgr_somRegisterClass "::SOMClassMgr::somRegisterClass"
  230. #define SOMClassMgr_somRegisterClass(somSelf,classObj) \
  231.     (SOM_Resolve(somSelf, SOMClassMgr, somRegisterClass) \
  232.     (somSelf,classObj))
  233. #ifndef SOMGD_somRegisterClass
  234.     #if (defined(_somRegisterClass) || defined(__somRegisterClass))
  235.         #undef _somRegisterClass
  236.         #undef __somRegisterClass
  237.         #define SOMGD_somRegisterClass 1
  238.     #else
  239.         #define _somRegisterClass SOMClassMgr_somRegisterClass
  240.     #endif /* _somRegisterClass */
  241. #endif /* SOMGD_somRegisterClass */
  242.  
  243. /*
  244.  * New Method: somRegisterClassLibrary
  245.  */
  246. typedef void   SOMLINK somTP_SOMClassMgr_somRegisterClassLibrary(SOMClassMgr *somSelf,
  247.         string libraryName,
  248.         somMethodPtr libraryInitRtn);
  249. #pragma linkage(somTP_SOMClassMgr_somRegisterClassLibrary, system)
  250. typedef somTP_SOMClassMgr_somRegisterClassLibrary *somTD_SOMClassMgr_somRegisterClassLibrary;
  251. #define somMD_SOMClassMgr_somRegisterClassLibrary "::SOMClassMgr::somRegisterClassLibrary"
  252. #define SOMClassMgr_somRegisterClassLibrary(somSelf,libraryName,libraryInitRtn) \
  253.     (SOM_Resolve(somSelf, SOMClassMgr, somRegisterClassLibrary) \
  254.     (somSelf,libraryName,libraryInitRtn))
  255. #ifndef SOMGD_somRegisterClassLibrary
  256.     #if (defined(_somRegisterClassLibrary) || defined(__somRegisterClassLibrary))
  257.         #undef _somRegisterClassLibrary
  258.         #undef __somRegisterClassLibrary
  259.         #define SOMGD_somRegisterClassLibrary 1
  260.     #else
  261.         #define _somRegisterClassLibrary SOMClassMgr_somRegisterClassLibrary
  262.     #endif /* _somRegisterClassLibrary */
  263. #endif /* SOMGD_somRegisterClassLibrary */
  264.  
  265. /*
  266.  * New Method: somUnloadClassFile
  267.  */
  268. typedef long   SOMLINK somTP_SOMClassMgr_somUnloadClassFile(SOMClassMgr *somSelf,
  269.         SOMClass* classObj);
  270. #pragma linkage(somTP_SOMClassMgr_somUnloadClassFile, system)
  271. typedef somTP_SOMClassMgr_somUnloadClassFile *somTD_SOMClassMgr_somUnloadClassFile;
  272. #define somMD_SOMClassMgr_somUnloadClassFile "::SOMClassMgr::somUnloadClassFile"
  273. #define SOMClassMgr_somUnloadClassFile(somSelf,classObj) \
  274.     (SOM_Resolve(somSelf, SOMClassMgr, somUnloadClassFile) \
  275.     (somSelf,classObj))
  276. #ifndef SOMGD_somUnloadClassFile
  277.     #if (defined(_somUnloadClassFile) || defined(__somUnloadClassFile))
  278.         #undef _somUnloadClassFile
  279.         #undef __somUnloadClassFile
  280.         #define SOMGD_somUnloadClassFile 1
  281.     #else
  282.         #define _somUnloadClassFile SOMClassMgr_somUnloadClassFile
  283.     #endif /* _somUnloadClassFile */
  284. #endif /* SOMGD_somUnloadClassFile */
  285.  
  286. /*
  287.  * New Method: somUnregisterClass
  288.  */
  289. typedef long   SOMLINK somTP_SOMClassMgr_somUnregisterClass(SOMClassMgr *somSelf,
  290.         SOMClass* classObj);
  291. #pragma linkage(somTP_SOMClassMgr_somUnregisterClass, system)
  292. typedef somTP_SOMClassMgr_somUnregisterClass *somTD_SOMClassMgr_somUnregisterClass;
  293. #define somMD_SOMClassMgr_somUnregisterClass "::SOMClassMgr::somUnregisterClass"
  294. #define SOMClassMgr_somUnregisterClass(somSelf,classObj) \
  295.     (SOM_Resolve(somSelf, SOMClassMgr, somUnregisterClass) \
  296.     (somSelf,classObj))
  297. #ifndef SOMGD_somUnregisterClass
  298.     #if (defined(_somUnregisterClass) || defined(__somUnregisterClass))
  299.         #undef _somUnregisterClass
  300.         #undef __somUnregisterClass
  301.         #define SOMGD_somUnregisterClass 1
  302.     #else
  303.         #define _somUnregisterClass SOMClassMgr_somUnregisterClass
  304.     #endif /* _somUnregisterClass */
  305. #endif /* SOMGD_somUnregisterClass */
  306.  
  307. /*
  308.  * New Method: somBeginPersistentClasses
  309.  */
  310. typedef void   SOMLINK somTP_SOMClassMgr_somBeginPersistentClasses(SOMClassMgr *somSelf);
  311. #pragma linkage(somTP_SOMClassMgr_somBeginPersistentClasses, system)
  312. typedef somTP_SOMClassMgr_somBeginPersistentClasses *somTD_SOMClassMgr_somBeginPersistentClasses;
  313. #define somMD_SOMClassMgr_somBeginPersistentClasses "::SOMClassMgr::somBeginPersistentClasses"
  314. #define SOMClassMgr_somBeginPersistentClasses(somSelf) \
  315.     (SOM_Resolve(somSelf, SOMClassMgr, somBeginPersistentClasses) \
  316.     (somSelf))
  317. #ifndef SOMGD_somBeginPersistentClasses
  318.     #if (defined(_somBeginPersistentClasses) || defined(__somBeginPersistentClasses))
  319.         #undef _somBeginPersistentClasses
  320.         #undef __somBeginPersistentClasses
  321.         #define SOMGD_somBeginPersistentClasses 1
  322.     #else
  323.         #define _somBeginPersistentClasses SOMClassMgr_somBeginPersistentClasses
  324.     #endif /* _somBeginPersistentClasses */
  325. #endif /* SOMGD_somBeginPersistentClasses */
  326.  
  327. /*
  328.  * New Method: somEndPersistentClasses
  329.  */
  330. typedef void   SOMLINK somTP_SOMClassMgr_somEndPersistentClasses(SOMClassMgr *somSelf);
  331. #pragma linkage(somTP_SOMClassMgr_somEndPersistentClasses, system)
  332. typedef somTP_SOMClassMgr_somEndPersistentClasses *somTD_SOMClassMgr_somEndPersistentClasses;
  333. #define somMD_SOMClassMgr_somEndPersistentClasses "::SOMClassMgr::somEndPersistentClasses"
  334. #define SOMClassMgr_somEndPersistentClasses(somSelf) \
  335.     (SOM_Resolve(somSelf, SOMClassMgr, somEndPersistentClasses) \
  336.     (somSelf))
  337. #ifndef SOMGD_somEndPersistentClasses
  338.     #if (defined(_somEndPersistentClasses) || defined(__somEndPersistentClasses))
  339.         #undef _somEndPersistentClasses
  340.         #undef __somEndPersistentClasses
  341.         #define SOMGD_somEndPersistentClasses 1
  342.     #else
  343.         #define _somEndPersistentClasses SOMClassMgr_somEndPersistentClasses
  344.     #endif /* _somEndPersistentClasses */
  345. #endif /* SOMGD_somEndPersistentClasses */
  346.  
  347. /*
  348.  * New Method: somJoinAffinityGroup
  349.  */
  350. typedef boolean   SOMLINK somTP_SOMClassMgr_somJoinAffinityGroup(SOMClassMgr *somSelf,
  351.         SOMClass* newClass,
  352.         SOMClass* affClass);
  353. #pragma linkage(somTP_SOMClassMgr_somJoinAffinityGroup, system)
  354. typedef somTP_SOMClassMgr_somJoinAffinityGroup *somTD_SOMClassMgr_somJoinAffinityGroup;
  355. #define somMD_SOMClassMgr_somJoinAffinityGroup "::SOMClassMgr::somJoinAffinityGroup"
  356. #define SOMClassMgr_somJoinAffinityGroup(somSelf,newClass,affClass) \
  357.     (SOM_Resolve(somSelf, SOMClassMgr, somJoinAffinityGroup) \
  358.     (somSelf,newClass,affClass))
  359. #ifndef SOMGD_somJoinAffinityGroup
  360.     #if (defined(_somJoinAffinityGroup) || defined(__somJoinAffinityGroup))
  361.         #undef _somJoinAffinityGroup
  362.         #undef __somJoinAffinityGroup
  363.         #define SOMGD_somJoinAffinityGroup 1
  364.     #else
  365.         #define _somJoinAffinityGroup SOMClassMgr_somJoinAffinityGroup
  366.     #endif /* _somJoinAffinityGroup */
  367. #endif /* SOMGD_somJoinAffinityGroup */
  368.  
  369. /*
  370.  * New Method: somGetInitFunction
  371.  */
  372. typedef string   SOMLINK somTP_SOMClassMgr_somGetInitFunction(SOMClassMgr *somSelf);
  373. #pragma linkage(somTP_SOMClassMgr_somGetInitFunction, system)
  374. typedef somTP_SOMClassMgr_somGetInitFunction *somTD_SOMClassMgr_somGetInitFunction;
  375. #define somMD_SOMClassMgr_somGetInitFunction "::SOMClassMgr::somGetInitFunction"
  376. #define SOMClassMgr_somGetInitFunction(somSelf) \
  377.     (SOM_Resolve(somSelf, SOMClassMgr, somGetInitFunction) \
  378.     (somSelf))
  379. #ifndef SOMGD_somGetInitFunction
  380.     #if (defined(_somGetInitFunction) || defined(__somGetInitFunction))
  381.         #undef _somGetInitFunction
  382.         #undef __somGetInitFunction
  383.         #define SOMGD_somGetInitFunction 1
  384.     #else
  385.         #define _somGetInitFunction SOMClassMgr_somGetInitFunction
  386.     #endif /* _somGetInitFunction */
  387. #endif /* SOMGD_somGetInitFunction */
  388.  
  389. /*
  390.  * New Method: _get_somInterfaceRepository
  391.  */
  392. typedef Repository*   SOMLINK somTP_SOMClassMgr__get_somInterfaceRepository(SOMClassMgr *somSelf);
  393. #pragma linkage(somTP_SOMClassMgr__get_somInterfaceRepository, system)
  394. typedef somTP_SOMClassMgr__get_somInterfaceRepository *somTD_SOMClassMgr__get_somInterfaceRepository;
  395. #define somMD_SOMClassMgr__get_somInterfaceRepository "::SOMClassMgr::somInterfaceRepository"
  396. #define SOMClassMgr__get_somInterfaceRepository(somSelf) \
  397.     (SOM_Resolve(somSelf, SOMClassMgr, _get_somInterfaceRepository) \
  398.     (somSelf))
  399. #ifndef SOMGD_get_somInterfaceRepository
  400.     #if (defined(_get_somInterfaceRepository) || defined(__get_somInterfaceRepository))
  401.         #undef _get_somInterfaceRepository
  402.         #undef __get_somInterfaceRepository
  403.         #define SOMGD_get_somInterfaceRepository 1
  404.     #else
  405.         #define __get_somInterfaceRepository SOMClassMgr__get_somInterfaceRepository
  406.     #endif /* __get_somInterfaceRepository */
  407. #endif /* SOMGD_get_somInterfaceRepository */
  408.  
  409. /*
  410.  * New Method: _set_somInterfaceRepository
  411.  */
  412. typedef void   SOMLINK somTP_SOMClassMgr__set_somInterfaceRepository(SOMClassMgr *somSelf,
  413.         Repository* somInterfaceRepository);
  414. #pragma linkage(somTP_SOMClassMgr__set_somInterfaceRepository, system)
  415. typedef somTP_SOMClassMgr__set_somInterfaceRepository *somTD_SOMClassMgr__set_somInterfaceRepository;
  416. #define somMD_SOMClassMgr__set_somInterfaceRepository "::SOMClassMgr::somInterfaceRepository"
  417. #define SOMClassMgr__set_somInterfaceRepository(somSelf,somInterfaceRepository) \
  418.     (SOM_Resolve(somSelf, SOMClassMgr, _set_somInterfaceRepository) \
  419.     (somSelf,somInterfaceRepository))
  420. #ifndef SOMGD_set_somInterfaceRepository
  421.     #if (defined(_set_somInterfaceRepository) || defined(__set_somInterfaceRepository))
  422.         #undef _set_somInterfaceRepository
  423.         #undef __set_somInterfaceRepository
  424.         #define SOMGD_set_somInterfaceRepository 1
  425.     #else
  426.         #define __set_somInterfaceRepository SOMClassMgr__set_somInterfaceRepository
  427.     #endif /* __set_somInterfaceRepository */
  428. #endif /* SOMGD_set_somInterfaceRepository */
  429.  
  430. /*
  431.  * New Method: _get_somRegisteredClasses
  432.  */
  433. typedef _IDL_SEQUENCE_SOMClass   SOMLINK somTP_SOMClassMgr__get_somRegisteredClasses(SOMClassMgr *somSelf);
  434. #pragma linkage(somTP_SOMClassMgr__get_somRegisteredClasses, system)
  435. typedef somTP_SOMClassMgr__get_somRegisteredClasses *somTD_SOMClassMgr__get_somRegisteredClasses;
  436. #define somMD_SOMClassMgr__get_somRegisteredClasses "::SOMClassMgr::somRegisteredClasses"
  437. #define SOMClassMgr__get_somRegisteredClasses(somSelf) \
  438.     (SOM_Resolve(somSelf, SOMClassMgr, _get_somRegisteredClasses) \
  439.     (somSelf))
  440. #ifndef SOMGD_get_somRegisteredClasses
  441.     #if (defined(_get_somRegisteredClasses) || defined(__get_somRegisteredClasses))
  442.         #undef _get_somRegisteredClasses
  443.         #undef __get_somRegisteredClasses
  444.         #define SOMGD_get_somRegisteredClasses 1
  445.     #else
  446.         #define __get_somRegisteredClasses SOMClassMgr__get_somRegisteredClasses
  447.     #endif /* __get_somRegisteredClasses */
  448. #endif /* SOMGD_get_somRegisteredClasses */
  449.  
  450. /*
  451.  * New Method: somGetRelatedClasses
  452.  */
  453. typedef SOMClassMgr_SOMClassArray   SOMLINK somTP_SOMClassMgr_somGetRelatedClasses(SOMClassMgr *somSelf,
  454.         SOMClass* classObj);
  455. #pragma linkage(somTP_SOMClassMgr_somGetRelatedClasses, system)
  456. typedef somTP_SOMClassMgr_somGetRelatedClasses *somTD_SOMClassMgr_somGetRelatedClasses;
  457. #define somMD_SOMClassMgr_somGetRelatedClasses "::SOMClassMgr::somGetRelatedClasses"
  458. #define SOMClassMgr_somGetRelatedClasses(somSelf,classObj) \
  459.     (SOM_Resolve(somSelf, SOMClassMgr, somGetRelatedClasses) \
  460.     (somSelf,classObj))
  461. #ifndef SOMGD_somGetRelatedClasses
  462.     #if (defined(_somGetRelatedClasses) || defined(__somGetRelatedClasses))
  463.         #undef _somGetRelatedClasses
  464.         #undef __somGetRelatedClasses
  465.         #define SOMGD_somGetRelatedClasses 1
  466.     #else
  467.         #define _somGetRelatedClasses SOMClassMgr_somGetRelatedClasses
  468.     #endif /* _somGetRelatedClasses */
  469. #endif /* SOMGD_somGetRelatedClasses */
  470.  
  471. /*
  472.  * New Method: somClassFromId
  473.  */
  474. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somClassFromId(SOMClassMgr *somSelf,
  475.         somId classId);
  476. #pragma linkage(somTP_SOMClassMgr_somClassFromId, system)
  477. typedef somTP_SOMClassMgr_somClassFromId *somTD_SOMClassMgr_somClassFromId;
  478. #define somMD_SOMClassMgr_somClassFromId "::SOMClassMgr::somClassFromId"
  479. #define SOMClassMgr_somClassFromId(somSelf,classId) \
  480.     (SOM_Resolve(somSelf, SOMClassMgr, somClassFromId) \
  481.     (somSelf,classId))
  482. #ifndef SOMGD_somClassFromId
  483.     #if (defined(_somClassFromId) || defined(__somClassFromId))
  484.         #undef _somClassFromId
  485.         #undef __somClassFromId
  486.         #define SOMGD_somClassFromId 1
  487.     #else
  488.         #define _somClassFromId SOMClassMgr_somClassFromId
  489.     #endif /* _somClassFromId */
  490. #endif /* SOMGD_somClassFromId */
  491.  
  492. /*
  493.  * New Method: somFindClass
  494.  */
  495. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somFindClass(SOMClassMgr *somSelf,
  496.         somId classId,
  497.         long majorVersion,
  498.         long minorVersion);
  499. #pragma linkage(somTP_SOMClassMgr_somFindClass, system)
  500. typedef somTP_SOMClassMgr_somFindClass *somTD_SOMClassMgr_somFindClass;
  501. #define somMD_SOMClassMgr_somFindClass "::SOMClassMgr::somFindClass"
  502. #define SOMClassMgr_somFindClass(somSelf,classId,majorVersion,minorVersion) \
  503.     (SOM_Resolve(somSelf, SOMClassMgr, somFindClass) \
  504.     (somSelf,classId,majorVersion,minorVersion))
  505. #ifndef SOMGD_somFindClass
  506.     #if (defined(_somFindClass) || defined(__somFindClass))
  507.         #undef _somFindClass
  508.         #undef __somFindClass
  509.         #define SOMGD_somFindClass 1
  510.     #else
  511.         #define _somFindClass SOMClassMgr_somFindClass
  512.     #endif /* _somFindClass */
  513. #endif /* SOMGD_somFindClass */
  514.  
  515. /*
  516.  * New Method: somFindClsInFile
  517.  */
  518. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somFindClsInFile(SOMClassMgr *somSelf,
  519.         somId classId,
  520.         long majorVersion,
  521.         long minorVersion,
  522.         string file);
  523. #pragma linkage(somTP_SOMClassMgr_somFindClsInFile, system)
  524. typedef somTP_SOMClassMgr_somFindClsInFile *somTD_SOMClassMgr_somFindClsInFile;
  525. #define somMD_SOMClassMgr_somFindClsInFile "::SOMClassMgr::somFindClsInFile"
  526. #define SOMClassMgr_somFindClsInFile(somSelf,classId,majorVersion,minorVersion,file) \
  527.     (SOM_Resolve(somSelf, SOMClassMgr, somFindClsInFile) \
  528.     (somSelf,classId,majorVersion,minorVersion,file))
  529. #ifndef SOMGD_somFindClsInFile
  530.     #if (defined(_somFindClsInFile) || defined(__somFindClsInFile))
  531.         #undef _somFindClsInFile
  532.         #undef __somFindClsInFile
  533.         #define SOMGD_somFindClsInFile 1
  534.     #else
  535.         #define _somFindClsInFile SOMClassMgr_somFindClsInFile
  536.     #endif /* _somFindClsInFile */
  537. #endif /* SOMGD_somFindClsInFile */
  538.  
  539. /*
  540.  * New Method: somMergeInto
  541.  */
  542. typedef void   SOMLINK somTP_SOMClassMgr_somMergeInto(SOMClassMgr *somSelf,
  543.         SOMObject* targetObj);
  544. #pragma linkage(somTP_SOMClassMgr_somMergeInto, system)
  545. typedef somTP_SOMClassMgr_somMergeInto *somTD_SOMClassMgr_somMergeInto;
  546. #define somMD_SOMClassMgr_somMergeInto "::SOMClassMgr::somMergeInto"
  547. #define SOMClassMgr_somMergeInto(somSelf,targetObj) \
  548.     (SOM_Resolve(somSelf, SOMClassMgr, somMergeInto) \
  549.     (somSelf,targetObj))
  550. #ifndef SOMGD_somMergeInto
  551.     #if (defined(_somMergeInto) || defined(__somMergeInto))
  552.         #undef _somMergeInto
  553.         #undef __somMergeInto
  554.         #define SOMGD_somMergeInto 1
  555.     #else
  556.         #define _somMergeInto SOMClassMgr_somMergeInto
  557.     #endif /* _somMergeInto */
  558. #endif /* SOMGD_somMergeInto */
  559.  
  560. /*
  561.  * New Method: somSubstituteClass
  562.  */
  563. typedef long   SOMLINK somTP_SOMClassMgr_somSubstituteClass(SOMClassMgr *somSelf,
  564.         string origClassName,
  565.         string newClassName);
  566. #pragma linkage(somTP_SOMClassMgr_somSubstituteClass, system)
  567. typedef somTP_SOMClassMgr_somSubstituteClass *somTD_SOMClassMgr_somSubstituteClass;
  568. #define somMD_SOMClassMgr_somSubstituteClass "::SOMClassMgr::somSubstituteClass"
  569. #define SOMClassMgr_somSubstituteClass(somSelf,origClassName,newClassName) \
  570.     (SOM_Resolve(somSelf, SOMClassMgr, somSubstituteClass) \
  571.     (somSelf,origClassName,newClassName))
  572. #ifndef SOMGD_somSubstituteClass
  573.     #if (defined(_somSubstituteClass) || defined(__somSubstituteClass))
  574.         #undef _somSubstituteClass
  575.         #undef __somSubstituteClass
  576.         #define SOMGD_somSubstituteClass 1
  577.     #else
  578.         #define _somSubstituteClass SOMClassMgr_somSubstituteClass
  579.     #endif /* _somSubstituteClass */
  580. #endif /* SOMGD_somSubstituteClass */
  581. #ifndef SOM_DONT_USE_INHERITED_MACROS
  582. #define SOMClassMgr_somDefaultInit SOMObject_somDefaultInit
  583. #define SOMClassMgr_somDestruct SOMObject_somDestruct
  584. #define SOMClassMgr_somDefaultCopyInit SOMObject_somDefaultCopyInit
  585. #define SOMClassMgr_somDefaultAssign SOMObject_somDefaultAssign
  586. #define SOMClassMgr_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  587. #define SOMClassMgr_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  588. #define SOMClassMgr_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  589. #define SOMClassMgr_somDefaultConstAssign SOMObject_somDefaultConstAssign
  590. #define SOMClassMgr_somDefaultVAssign SOMObject_somDefaultVAssign
  591. #define SOMClassMgr_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  592. #define SOMClassMgr_somFree SOMObject_somFree
  593. #define SOMClassMgr_somGetClass SOMObject_somGetClass
  594. #define SOMClassMgr_somGetClassName SOMObject_somGetClassName
  595. #define SOMClassMgr_somGetSize SOMObject_somGetSize
  596. #define SOMClassMgr_somIsA SOMObject_somIsA
  597. #define SOMClassMgr_somIsInstanceOf SOMObject_somIsInstanceOf
  598. #define SOMClassMgr_somRespondsTo SOMObject_somRespondsTo
  599. #define SOMClassMgr_somDispatch SOMObject_somDispatch
  600. #define SOMClassMgr_somClassDispatch SOMObject_somClassDispatch
  601. #define SOMClassMgr_somCastObj SOMObject_somCastObj
  602. #define SOMClassMgr_somResetObj SOMObject_somResetObj
  603. #define SOMClassMgr_somDispatchV SOMObject_somDispatchV
  604. #define SOMClassMgr_somDispatchL SOMObject_somDispatchL
  605. #define SOMClassMgr_somDispatchA SOMObject_somDispatchA
  606. #define SOMClassMgr_somDispatchD SOMObject_somDispatchD
  607. #define SOMClassMgr_somPrintSelf SOMObject_somPrintSelf
  608. #define SOMClassMgr_somDumpSelf SOMObject_somDumpSelf
  609. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  610.  
  611. #endif       /* SOM_SOMClassMgr_h */
  612.