home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / somcm.xh < prev    next >
Encoding:
Text File  |  1996-02-22  |  23.8 KB  |  810 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\somcm.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emitxh.dll: Development
  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.  *    Change History
  24.  *    95/11/08  MC    -This is the SOM2.5 version of the class manager
  25.  *                     being used for the SOM2.1 port to NT.
  26.  *   SOMClassMgr: System Object Model class manager
  27.  */
  28.  
  29.  
  30. #ifndef SOM_SOMClassMgr_xh
  31. #define SOM_SOMClassMgr_xh
  32.  
  33. class SOMClassMgr;
  34.  
  35. #define SOMClassMgr_MajorVersion 1
  36. #define SOMClassMgr_MinorVersion 4
  37.  
  38. /* C++ SOM defs */
  39. #include <somcls.xh>
  40.  
  41. /* C++ parent defs */
  42. #ifndef SOM_SOMObject_xh
  43. #include <somobj.xh>
  44. #endif
  45.  
  46. #ifndef SOMClassMgr_API
  47. #define SOMClassMgr_API
  48. /*
  49.  * -- The Class API
  50.  */
  51.  
  52. /*
  53.  * Start of user-defined types:
  54.  */
  55. class SOMClass;
  56. class SOMObject;
  57. class Repository;
  58. typedef
  59. SOMClass* SOMClassMgr_SOMClassArray;
  60.  
  61. /*
  62.  *  Used for SOM 1.0 binary compatibility
  63.  */
  64. #ifndef _IDL_SEQUENCE_SOMClass_defined
  65. #define _IDL_SEQUENCE_SOMClass_defined
  66. typedef struct {
  67.     unsigned long _maximum;
  68.     unsigned long _length;
  69.     SOMClass **_buffer;
  70. } _IDL_SEQUENCE_SOMClass;
  71. #endif /* _IDL_SEQUENCE_SOMClass_defined */ 
  72.  
  73. #ifndef SOM_DONT_USE_SHORT_NAMES
  74. #ifndef SOMTGD_SOMClassArray
  75.     #ifdef SOMClassArray
  76.         #undef SOMClassArray
  77.         #define SOMTGD_SOMClassArray 1
  78.     #else
  79.         #define SOMClassArray SOMClassMgr_SOMClassArray
  80.     #endif /* SOMClassArray */
  81. #endif /* SOMTGD_SOMClassArray */
  82. #endif /* SOM_DONT_USE_SHORT_NAMES */
  83.  
  84. #ifndef SOM_DONT_USE_SHORT_NAMES
  85. #endif /* SOM_DONT_USE_SHORT_NAMES */
  86.  
  87. /*
  88.  * End of user-defined types.
  89.  */
  90.  
  91. /* A procedure to create the SOMClassMgr Class */
  92. SOMEXTERN
  93. #if (defined(SOM_Module_somcm_Source) || defined(SOMClassMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClassMgr))
  94. WIN32_DLLEXPORT
  95. #else
  96. WIN32_DLLIMPORT
  97. #endif
  98. SOMClass * SOMLINK SOMClassMgrNewClass(
  99.         integer4,
  100.         integer4 );
  101.  
  102. /* The API to the SOMClassMgr class object, and the methods it introduces. */
  103. SOMEXTERN struct SOMClassMgrClassDataStructure {
  104.     SOMClass *classObject;
  105.     somMToken somFindClsInFile;
  106.     somMToken somFindClass;
  107.     somMToken somClassFromId;
  108.     somMToken somRegisterClass;
  109.     somMToken somUnregisterClass;
  110.     somMToken somLocateClassFile;
  111.     somMToken somLoadClassFile;
  112.     somMToken somUnloadClassFile;
  113.     somMToken somGetInitFunction;
  114.     somMToken somMergeInto;
  115.     somMToken somGetRelatedClasses;
  116.     somMToken somSubstituteClass;
  117.     somMToken _get_somInterfaceRepository;
  118.     somMToken _set_somInterfaceRepository;
  119.     somMToken _get_somRegisteredClasses;
  120.     somMToken somBeginPersistentClasses;
  121.     somMToken somEndPersistentClasses;
  122.     somMToken somcmPrivate1;
  123.     somMToken somcmPrivate2;
  124.     somMToken somRegisterClassLibrary;
  125.     somMToken somJoinAffinityGroup;
  126.     somMToken somUnregisterClassLibrary;
  127. }
  128. #if !(defined(SOM_Module_somcm_Source) || defined(SOMClassMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClassMgr))
  129. WIN32_DLLIMPORT
  130. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  131. WIN32_DLLEXPORT
  132. #endif
  133. SOMDLINK SOMClassMgrClassData;
  134. #define _SOMClassMgr SOMClassMgrClassData.classObject
  135.  
  136. /* The API to parentMtabs for SOMClassMgr, and the instance data it introduces. */
  137. SOMEXTERN struct SOMClassMgrCClassDataStructure {
  138.     somMethodTabs parentMtab;
  139.     somDToken              instanceDataToken;
  140. }
  141. #if !(defined(SOM_Module_somcm_Source) || defined(SOMClassMgr_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMClassMgr))
  142. WIN32_DLLIMPORT
  143. #elif defined(_MSC_VER)||defined(_WIN32_DECL_PROTO)
  144. WIN32_DLLEXPORT
  145. #endif
  146. SOMDLINK SOMClassMgrCClassData;
  147.  
  148. /*
  149.  * -- Typedefs for SOMClassMgr Method Procedures
  150.  */
  151. extern "C" {
  152. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somLoadClassFile(SOMClassMgr *somSelf,
  153.         somId classId,
  154.         long majorVersion,
  155.         long minorVersion,
  156.         string file);
  157. typedef somTP_SOMClassMgr_somLoadClassFile *somTD_SOMClassMgr_somLoadClassFile;
  158. typedef string   SOMLINK somTP_SOMClassMgr_somLocateClassFile(SOMClassMgr *somSelf,
  159.         somId classId,
  160.         long majorVersion,
  161.         long minorVersion);
  162. typedef somTP_SOMClassMgr_somLocateClassFile *somTD_SOMClassMgr_somLocateClassFile;
  163. typedef void   SOMLINK somTP_SOMClassMgr_somRegisterClass(SOMClassMgr *somSelf,
  164.         SOMClass* classObj);
  165. typedef somTP_SOMClassMgr_somRegisterClass *somTD_SOMClassMgr_somRegisterClass;
  166. typedef void   SOMLINK somTP_SOMClassMgr_somRegisterClassLibrary(SOMClassMgr *somSelf,
  167.         string libraryName,
  168.         somMethodPtr libraryInitRtn);
  169. typedef somTP_SOMClassMgr_somRegisterClassLibrary *somTD_SOMClassMgr_somRegisterClassLibrary;
  170. typedef void   SOMLINK somTP_SOMClassMgr_somUnregisterClassLibrary(SOMClassMgr *somSelf,
  171.         string libraryName);
  172. typedef somTP_SOMClassMgr_somUnregisterClassLibrary *somTD_SOMClassMgr_somUnregisterClassLibrary;
  173. typedef long   SOMLINK somTP_SOMClassMgr_somUnloadClassFile(SOMClassMgr *somSelf,
  174.         SOMClass* classObj);
  175. typedef somTP_SOMClassMgr_somUnloadClassFile *somTD_SOMClassMgr_somUnloadClassFile;
  176. typedef long   SOMLINK somTP_SOMClassMgr_somUnregisterClass(SOMClassMgr *somSelf,
  177.         SOMClass* classObj);
  178. typedef somTP_SOMClassMgr_somUnregisterClass *somTD_SOMClassMgr_somUnregisterClass;
  179. typedef void   SOMLINK somTP_SOMClassMgr_somBeginPersistentClasses(SOMClassMgr *somSelf);
  180. typedef somTP_SOMClassMgr_somBeginPersistentClasses *somTD_SOMClassMgr_somBeginPersistentClasses;
  181. typedef void   SOMLINK somTP_SOMClassMgr_somEndPersistentClasses(SOMClassMgr *somSelf);
  182. typedef somTP_SOMClassMgr_somEndPersistentClasses *somTD_SOMClassMgr_somEndPersistentClasses;
  183. typedef boolean   SOMLINK somTP_SOMClassMgr_somJoinAffinityGroup(SOMClassMgr *somSelf,
  184.         SOMClass* newClass,
  185.         SOMClass* affClass);
  186. typedef somTP_SOMClassMgr_somJoinAffinityGroup *somTD_SOMClassMgr_somJoinAffinityGroup;
  187. typedef string   SOMLINK somTP_SOMClassMgr_somGetInitFunction(SOMClassMgr *somSelf);
  188. typedef somTP_SOMClassMgr_somGetInitFunction *somTD_SOMClassMgr_somGetInitFunction;
  189. typedef Repository*   SOMLINK somTP_SOMClassMgr__get_somInterfaceRepository(SOMClassMgr *somSelf);
  190. typedef somTP_SOMClassMgr__get_somInterfaceRepository *somTD_SOMClassMgr__get_somInterfaceRepository;
  191. typedef void   SOMLINK somTP_SOMClassMgr__set_somInterfaceRepository(SOMClassMgr *somSelf,
  192.         Repository* somInterfaceRepository);
  193. typedef somTP_SOMClassMgr__set_somInterfaceRepository *somTD_SOMClassMgr__set_somInterfaceRepository;
  194. typedef _IDL_SEQUENCE_SOMClass   SOMLINK somTP_SOMClassMgr__get_somRegisteredClasses(SOMClassMgr *somSelf);
  195. typedef somTP_SOMClassMgr__get_somRegisteredClasses *somTD_SOMClassMgr__get_somRegisteredClasses;
  196. typedef SOMClassMgr_SOMClassArray   SOMLINK somTP_SOMClassMgr_somGetRelatedClasses(SOMClassMgr *somSelf,
  197.         SOMClass* classObj);
  198. typedef somTP_SOMClassMgr_somGetRelatedClasses *somTD_SOMClassMgr_somGetRelatedClasses;
  199. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somClassFromId(SOMClassMgr *somSelf,
  200.         somId classId);
  201. typedef somTP_SOMClassMgr_somClassFromId *somTD_SOMClassMgr_somClassFromId;
  202. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somFindClass(SOMClassMgr *somSelf,
  203.         somId classId,
  204.         long majorVersion,
  205.         long minorVersion);
  206. typedef somTP_SOMClassMgr_somFindClass *somTD_SOMClassMgr_somFindClass;
  207. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somFindClsInFile(SOMClassMgr *somSelf,
  208.         somId classId,
  209.         long majorVersion,
  210.         long minorVersion,
  211.         string file);
  212. typedef somTP_SOMClassMgr_somFindClsInFile *somTD_SOMClassMgr_somFindClsInFile;
  213. typedef void   SOMLINK somTP_SOMClassMgr_somMergeInto(SOMClassMgr *somSelf,
  214.         SOMObject* targetObj);
  215. typedef somTP_SOMClassMgr_somMergeInto *somTD_SOMClassMgr_somMergeInto;
  216. typedef long   SOMLINK somTP_SOMClassMgr_somSubstituteClass(SOMClassMgr *somSelf,
  217.         string origClassName,
  218.         string newClassName);
  219. typedef somTP_SOMClassMgr_somSubstituteClass *somTD_SOMClassMgr_somSubstituteClass;
  220.  
  221. /*
  222.  * -- Typedefs for Reintroduced Wrapper Methods
  223.  */
  224. typedef void   SOMLINK somTP_SOMClassMgr_somDefaultInit(SOMClassMgr *somSelf,
  225.         somInitCtrl* ctrl);
  226. typedef somTP_SOMClassMgr_somDefaultInit *somTD_SOMClassMgr_somDefaultInit;
  227. typedef void   SOMLINK somTP_SOMClassMgr_somDestruct(SOMClassMgr *somSelf,
  228.         octet doFree,
  229.         somDestructCtrl* ctrl);
  230. typedef somTP_SOMClassMgr_somDestruct *somTD_SOMClassMgr_somDestruct;
  231. typedef void   SOMLINK somTP_SOMClassMgr_somDefaultCopyInit(SOMClassMgr *somSelf,
  232.         somInitCtrl* ctrl,
  233.         SOMObject* fromObj);
  234. typedef somTP_SOMClassMgr_somDefaultCopyInit *somTD_SOMClassMgr_somDefaultCopyInit;
  235. typedef SOMClassMgr*   SOMLINK somTP_SOMClassMgr_somDefaultAssign(SOMClassMgr *somSelf,
  236.         somAssignCtrl* ctrl,
  237.         SOMObject* fromObj);
  238. typedef somTP_SOMClassMgr_somDefaultAssign *somTD_SOMClassMgr_somDefaultAssign;
  239. typedef void   SOMLINK somTP_SOMClassMgr_somDefaultConstCopyInit(SOMClassMgr *somSelf,
  240.         somInitCtrl* ctrl,
  241.         SOMObject* fromObj);
  242. typedef somTP_SOMClassMgr_somDefaultConstCopyInit *somTD_SOMClassMgr_somDefaultConstCopyInit;
  243. typedef void   SOMLINK somTP_SOMClassMgr_somDefaultVCopyInit(SOMClassMgr *somSelf,
  244.         somInitCtrl* ctrl,
  245.         SOMObject* fromObj);
  246. typedef somTP_SOMClassMgr_somDefaultVCopyInit *somTD_SOMClassMgr_somDefaultVCopyInit;
  247. typedef void   SOMLINK somTP_SOMClassMgr_somDefaultConstVCopyInit(SOMClassMgr *somSelf,
  248.         somInitCtrl* ctrl,
  249.         SOMObject* fromObj);
  250. typedef somTP_SOMClassMgr_somDefaultConstVCopyInit *somTD_SOMClassMgr_somDefaultConstVCopyInit;
  251. typedef SOMClassMgr*   SOMLINK somTP_SOMClassMgr_somDefaultConstAssign(SOMClassMgr *somSelf,
  252.         somAssignCtrl* ctrl,
  253.         SOMObject* fromObj);
  254. typedef somTP_SOMClassMgr_somDefaultConstAssign *somTD_SOMClassMgr_somDefaultConstAssign;
  255. typedef SOMClassMgr*   SOMLINK somTP_SOMClassMgr_somDefaultVAssign(SOMClassMgr *somSelf,
  256.         somAssignCtrl* ctrl,
  257.         SOMObject* fromObj);
  258. typedef somTP_SOMClassMgr_somDefaultVAssign *somTD_SOMClassMgr_somDefaultVAssign;
  259. typedef SOMClassMgr*   SOMLINK somTP_SOMClassMgr_somDefaultConstVAssign(SOMClassMgr *somSelf,
  260.         somAssignCtrl* ctrl,
  261.         SOMObject* fromObj);
  262. typedef somTP_SOMClassMgr_somDefaultConstVAssign *somTD_SOMClassMgr_somDefaultConstVAssign;
  263. typedef void   SOMLINK somTP_SOMClassMgr_somInit(SOMClassMgr *somSelf);
  264. typedef somTP_SOMClassMgr_somInit *somTD_SOMClassMgr_somInit;
  265. typedef void   SOMLINK somTP_SOMClassMgr_somFree(SOMClassMgr *somSelf);
  266. typedef somTP_SOMClassMgr_somFree *somTD_SOMClassMgr_somFree;
  267. typedef void   SOMLINK somTP_SOMClassMgr_somUninit(SOMClassMgr *somSelf);
  268. typedef somTP_SOMClassMgr_somUninit *somTD_SOMClassMgr_somUninit;
  269. typedef SOMClass*   SOMLINK somTP_SOMClassMgr_somGetClass(SOMClassMgr *somSelf);
  270. typedef somTP_SOMClassMgr_somGetClass *somTD_SOMClassMgr_somGetClass;
  271. typedef string   SOMLINK somTP_SOMClassMgr_somGetClassName(SOMClassMgr *somSelf);
  272. typedef somTP_SOMClassMgr_somGetClassName *somTD_SOMClassMgr_somGetClassName;
  273. typedef long   SOMLINK somTP_SOMClassMgr_somGetSize(SOMClassMgr *somSelf);
  274. typedef somTP_SOMClassMgr_somGetSize *somTD_SOMClassMgr_somGetSize;
  275. typedef boolean   SOMLINK somTP_SOMClassMgr_somIsA(SOMClassMgr *somSelf,
  276.         SOMClass* aClassObj);
  277. typedef somTP_SOMClassMgr_somIsA *somTD_SOMClassMgr_somIsA;
  278. typedef boolean   SOMLINK somTP_SOMClassMgr_somIsInstanceOf(SOMClassMgr *somSelf,
  279.         SOMClass* aClassObj);
  280. typedef somTP_SOMClassMgr_somIsInstanceOf *somTD_SOMClassMgr_somIsInstanceOf;
  281. typedef boolean   SOMLINK somTP_SOMClassMgr_somRespondsTo(SOMClassMgr *somSelf,
  282.         somId mId);
  283. typedef somTP_SOMClassMgr_somRespondsTo *somTD_SOMClassMgr_somRespondsTo;
  284. typedef boolean   SOMLINK somTP_SOMClassMgr_somDispatch(SOMClassMgr *somSelf,
  285.         somToken* retValue,
  286.         somId methodId,
  287.         va_list ap);
  288. typedef somTP_SOMClassMgr_somDispatch *somTD_SOMClassMgr_somDispatch;
  289. typedef boolean   SOMLINK somTP_SOMClassMgr_somClassDispatch(SOMClassMgr *somSelf,
  290.         SOMClass* clsObj,
  291.         somToken* retValue,
  292.         somId methodId,
  293.         va_list ap);
  294. typedef somTP_SOMClassMgr_somClassDispatch *somTD_SOMClassMgr_somClassDispatch;
  295. typedef boolean   SOMLINK somTP_SOMClassMgr_somCastObj(SOMClassMgr *somSelf,
  296.         SOMClass* cls);
  297. typedef somTP_SOMClassMgr_somCastObj *somTD_SOMClassMgr_somCastObj;
  298. typedef boolean   SOMLINK somTP_SOMClassMgr_somResetObj(SOMClassMgr *somSelf);
  299. typedef somTP_SOMClassMgr_somResetObj *somTD_SOMClassMgr_somResetObj;
  300. typedef SOMObject*   SOMLINK somTP_SOMClassMgr_somPrintSelf(SOMClassMgr *somSelf);
  301. typedef somTP_SOMClassMgr_somPrintSelf *somTD_SOMClassMgr_somPrintSelf;
  302. typedef void   SOMLINK somTP_SOMClassMgr_somDumpSelf(SOMClassMgr *somSelf,
  303.         long level);
  304. typedef somTP_SOMClassMgr_somDumpSelf *somTD_SOMClassMgr_somDumpSelf;
  305. typedef void   SOMLINK somTP_SOMClassMgr_somDumpSelfInt(SOMClassMgr *somSelf,
  306.         long level);
  307. typedef somTP_SOMClassMgr_somDumpSelfInt *somTD_SOMClassMgr_somDumpSelfInt;
  308. }
  309.  
  310. #endif /* SOMClassMgr_API */
  311.  
  312.  
  313. /*
  314.  * -- This emitter believes that method thunks are unavailable,
  315.  * -- so somResolve will be called.
  316.  */
  317. #undef somresolve_
  318. #define somresolve_(obj,mToken) (somResolve(obj,mToken))
  319.  
  320. /*
  321.  * -- The C++ Wrapper Class for SOMClassMgr
  322.  */
  323. class SOMClassMgr : public SOMObject
  324. {
  325. public:
  326.  
  327. // SOMClassMgr::new creates the class object if necessary, and then uses somNewNoInit
  328. // to allocate memory and create the object. Initialization is in ctors.
  329. void *operator new(size_t)
  330. {
  331.    if (!_SOMClassMgr) SOMClassMgrNewClass(SOMClassMgr_MajorVersion,SOMClassMgr_MinorVersion);
  332.    return (void*)
  333.       SOM_Resolve(_SOMClassMgr,SOMClass,somNewNoInit)
  334.          ((SOMClass *)((void*)_SOMClassMgr));
  335. }
  336.  
  337. // SOMClassMgr::delete uses somDestruct.
  338. void operator delete(void * obj)
  339. {
  340.    if (obj && *(void**)obj) {
  341.       SOM_Resolve(obj,SOMObject,somDestruct)
  342.          ((SOMObject*)obj, 1, 0);
  343.    }
  344. }
  345.  
  346. SOMClassMgr()
  347. {
  348.    if (*(void**)this != 
  349.        ((somParentMtabStructPtr)
  350.         (SOMClassMgrCClassData.parentMtab))->mtab)
  351.       return;
  352.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  353. }
  354.  
  355. SOMClassMgr(SOMClassMgr* fromObj)
  356. {
  357.    if (*(void**)this != 
  358.        ((somParentMtabStructPtr)
  359.         (SOMClassMgrCClassData.parentMtab))->mtab)
  360.       return;
  361.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  362. }
  363.  
  364. SOMClassMgr(const SOMClassMgr* fromObj)
  365. {
  366.    if (*(void**)this != 
  367.        ((somParentMtabStructPtr)
  368.         (SOMClassMgrCClassData.parentMtab))->mtab)
  369.       return;
  370.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  371. }
  372.  
  373.  
  374. /* method: somLoadClassFile */
  375. SOMClass*   somLoadClassFile(somId classId,
  376.         long majorVersion,
  377.         long minorVersion,
  378.         string file)
  379. {
  380.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somLoadClassFile)
  381.     (this,classId,majorVersion,minorVersion,file);
  382. }
  383.  
  384.  
  385. /* method: somLocateClassFile */
  386. string   somLocateClassFile(somId classId,
  387.         long majorVersion,
  388.         long minorVersion)
  389. {
  390.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somLocateClassFile)
  391.     (this,classId,majorVersion,minorVersion);
  392. }
  393.  
  394.  
  395. /* method: somRegisterClass */
  396. void   somRegisterClass(SOMClass* classObj)
  397. {
  398.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somRegisterClass)
  399.     (this,classObj);
  400. }
  401.  
  402.  
  403. /* method: somRegisterClassLibrary */
  404. void   somRegisterClassLibrary(string libraryName,
  405.         somMethodPtr libraryInitRtn)
  406. {
  407.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somRegisterClassLibrary)
  408.     (this,libraryName,libraryInitRtn);
  409. }
  410.  
  411.  
  412. /* method: somUnregisterClassLibrary */
  413. void   somUnregisterClassLibrary(string libraryName)
  414. {
  415.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somUnregisterClassLibrary)
  416.     (this,libraryName);
  417. }
  418.  
  419.  
  420. /* method: somUnloadClassFile */
  421. long   somUnloadClassFile(SOMClass* classObj)
  422. {
  423.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somUnloadClassFile)
  424.     (this,classObj);
  425. }
  426.  
  427.  
  428. /* method: somUnregisterClass */
  429. long   somUnregisterClass(SOMClass* classObj)
  430. {
  431.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somUnregisterClass)
  432.     (this,classObj);
  433. }
  434.  
  435.  
  436. /* method: somBeginPersistentClasses */
  437. void   somBeginPersistentClasses()
  438. {
  439.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somBeginPersistentClasses)
  440.     (this);
  441. }
  442.  
  443.  
  444. /* method: somEndPersistentClasses */
  445. void   somEndPersistentClasses()
  446. {
  447.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somEndPersistentClasses)
  448.     (this);
  449. }
  450.  
  451.  
  452. /* method: somJoinAffinityGroup */
  453. boolean   somJoinAffinityGroup(SOMClass* newClass,
  454.         SOMClass* affClass)
  455. {
  456.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somJoinAffinityGroup)
  457.     (this,newClass,affClass);
  458. }
  459.  
  460.  
  461. /* method: somGetInitFunction */
  462. string   somGetInitFunction()
  463. {
  464.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somGetInitFunction)
  465.     (this);
  466. }
  467.  
  468.  
  469. /* method: _get_somInterfaceRepository */
  470. Repository*   _get_somInterfaceRepository()
  471. {
  472.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,_get_somInterfaceRepository)
  473.     (this);
  474. }
  475.  
  476.  
  477. /* method: _set_somInterfaceRepository */
  478. void   _set_somInterfaceRepository(Repository* somInterfaceRepository)
  479. {
  480.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,_set_somInterfaceRepository)
  481.     (this,somInterfaceRepository);
  482. }
  483.  
  484.  
  485. /* method: _get_somRegisteredClasses */
  486. _IDL_SEQUENCE_SOMClass   _get_somRegisteredClasses()
  487. {
  488.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,_get_somRegisteredClasses)
  489.     (this);
  490. }
  491.  
  492.  
  493. /* method: somGetRelatedClasses */
  494. SOMClassMgr_SOMClassArray   somGetRelatedClasses(SOMClass* classObj)
  495. {
  496.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somGetRelatedClasses)
  497.     (this,classObj);
  498. }
  499.  
  500.  
  501. /* method: somClassFromId */
  502. SOMClass*   somClassFromId(somId classId)
  503. {
  504.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somClassFromId)
  505.     (this,classId);
  506. }
  507.  
  508.  
  509. /* method: somFindClass */
  510. SOMClass*   somFindClass(somId classId,
  511.         long majorVersion,
  512.         long minorVersion)
  513. {
  514.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somFindClass)
  515.     (this,classId,majorVersion,minorVersion);
  516. }
  517.  
  518.  
  519. /* method: somFindClsInFile */
  520. SOMClass*   somFindClsInFile(somId classId,
  521.         long majorVersion,
  522.         long minorVersion,
  523.         string file)
  524. {
  525.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somFindClsInFile)
  526.     (this,classId,majorVersion,minorVersion,file);
  527. }
  528.  
  529.  
  530. /* method: somMergeInto */
  531. void   somMergeInto(SOMObject* targetObj)
  532. {
  533.    SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somMergeInto)
  534.     (this,targetObj);
  535. }
  536.  
  537.  
  538. /* method: somSubstituteClass */
  539. long   somSubstituteClass(string origClassName,
  540.         string newClassName)
  541. {
  542.    return SOM_ResolveD(this,SOMClassMgr,SOMClassMgr,somSubstituteClass)
  543.     (this,origClassName,newClassName);
  544. }
  545.  
  546.  
  547. /*
  548.  * Reintroduce inherited methods
  549.  */
  550.  
  551. /* initializer method: somDefaultInit */
  552. void   somDefaultInit(somInitCtrl* ctrl)
  553. {
  554.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultInit)
  555.     (this,ctrl);
  556. }
  557.  
  558.  
  559. /* method: somDestruct */
  560. void   somDestruct(octet doFree,
  561.         somDestructCtrl* ctrl)
  562. {
  563.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDestruct)
  564.     (this,doFree,ctrl);
  565. }
  566.  
  567.  
  568. /* initializer method: somDefaultCopyInit */
  569. void   somDefaultCopyInit(somInitCtrl* ctrl,
  570.         SOMObject* fromObj)
  571. {
  572.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultCopyInit)
  573.     (this,ctrl,fromObj);
  574. }
  575.  
  576.  
  577. /* method: somDefaultAssign */
  578. SOMClassMgr*  somDefaultAssign(somAssignCtrl* ctrl,
  579.         SOMObject* fromObj)
  580. {
  581.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultAssign)
  582.     (this,ctrl,fromObj);
  583. }
  584.  
  585.  
  586. /* initializer method: somDefaultConstCopyInit */
  587. void   somDefaultConstCopyInit(somInitCtrl* ctrl,
  588.         SOMObject* fromObj)
  589. {
  590.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultConstCopyInit)
  591.     (this,ctrl,fromObj);
  592. }
  593.  
  594.  
  595. /* initializer method: somDefaultVCopyInit */
  596. void   somDefaultVCopyInit(somInitCtrl* ctrl,
  597.         SOMObject* fromObj)
  598. {
  599.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultVCopyInit)
  600.     (this,ctrl,fromObj);
  601. }
  602.  
  603.  
  604. /* initializer method: somDefaultConstVCopyInit */
  605. void   somDefaultConstVCopyInit(somInitCtrl* ctrl,
  606.         SOMObject* fromObj)
  607. {
  608.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultConstVCopyInit)
  609.     (this,ctrl,fromObj);
  610. }
  611.  
  612.  
  613. /* method: somDefaultConstAssign */
  614. SOMClassMgr*  somDefaultConstAssign(somAssignCtrl* ctrl,
  615.         SOMObject* fromObj)
  616. {
  617.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultConstAssign)
  618.     (this,ctrl,fromObj);
  619. }
  620.  
  621.  
  622. /* method: somDefaultVAssign */
  623. SOMClassMgr*  somDefaultVAssign(somAssignCtrl* ctrl,
  624.         SOMObject* fromObj)
  625. {
  626.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultVAssign)
  627.     (this,ctrl,fromObj);
  628. }
  629.  
  630.  
  631. /* method: somDefaultConstVAssign */
  632. SOMClassMgr*  somDefaultConstVAssign(somAssignCtrl* ctrl,
  633.         SOMObject* fromObj)
  634. {
  635.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somDefaultConstVAssign)
  636.     (this,ctrl,fromObj);
  637. }
  638.  
  639.  
  640. /* method: somInit */
  641. void   somInit()
  642. {
  643.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somInit)
  644.     (this);
  645. }
  646.  
  647.  
  648. /* method: somFree */
  649. void   somFree()
  650. {
  651.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somFree)
  652.     (this);
  653. }
  654.  
  655.  
  656. /* method: somUninit */
  657. void   somUninit()
  658. {
  659.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somUninit)
  660.     (this);
  661. }
  662.  
  663.  
  664. /* method: somGetClass */
  665. SOMClass*   somGetClass()
  666. {
  667.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somGetClass)
  668.     (this);
  669. }
  670.  
  671.  
  672. /* method: somGetClassName */
  673. string   somGetClassName()
  674. {
  675.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somGetClassName)
  676.     (this);
  677. }
  678.  
  679.  
  680. /* method: somGetSize */
  681. long   somGetSize()
  682. {
  683.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somGetSize)
  684.     (this);
  685. }
  686.  
  687.  
  688. /* method: somIsA */
  689. boolean   somIsA(SOMClass* aClassObj)
  690. {
  691.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somIsA)
  692.     (this,aClassObj);
  693. }
  694.  
  695.  
  696. /* method: somIsInstanceOf */
  697. boolean   somIsInstanceOf(SOMClass* aClassObj)
  698. {
  699.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somIsInstanceOf)
  700.     (this,aClassObj);
  701. }
  702.  
  703.  
  704. /* method: somRespondsTo */
  705. boolean   somRespondsTo(somId mId)
  706. {
  707.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somRespondsTo)
  708.     (this,mId);
  709. }
  710.  
  711.  
  712. /* va_list method: somDispatch */
  713. /* the va_list invocation form */
  714. boolean   SOMClassMgr_somDispatch(somToken* retValue,
  715.         somId methodId,
  716.         va_list ap)
  717. {
  718. return SOM_ResolveD(this,SOMClassMgr,SOMObject,somDispatch)
  719.     (this,retValue,methodId,ap);
  720. }
  721.  
  722. /* the varargs invocation form */
  723. boolean   somDispatch(somToken* retValue,
  724.         somId methodId,
  725.         ...)
  726. {
  727.    va_list ap;
  728.    va_start(ap, methodId);
  729.    boolean __somResult = 
  730.       SOM_ResolveD(this,SOMClassMgr,SOMObject,somDispatch)
  731.     (this,retValue,methodId,ap);
  732.    va_end(ap);
  733.    return __somResult;
  734. }
  735.  
  736.  
  737. /* va_list method: somClassDispatch */
  738. /* the va_list invocation form */
  739. boolean   SOMClassMgr_somClassDispatch(SOMClass* clsObj,
  740.         somToken* retValue,
  741.         somId methodId,
  742.         va_list ap)
  743. {
  744. return SOM_ResolveD(this,SOMClassMgr,SOMObject,somClassDispatch)
  745.     (this,clsObj,retValue,methodId,ap);
  746. }
  747.  
  748. /* the varargs invocation form */
  749. boolean   somClassDispatch(SOMClass* clsObj,
  750.         somToken* retValue,
  751.         somId methodId,
  752.         ...)
  753. {
  754.    va_list ap;
  755.    va_start(ap, methodId);
  756.    boolean __somResult = 
  757.       SOM_ResolveD(this,SOMClassMgr,SOMObject,somClassDispatch)
  758.     (this,clsObj,retValue,methodId,ap);
  759.    va_end(ap);
  760.    return __somResult;
  761. }
  762.  
  763.  
  764. /* method: somCastObj */
  765. boolean   somCastObj(SOMClass* cls)
  766. {
  767.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somCastObj)
  768.     (this,cls);
  769. }
  770.  
  771.  
  772. /* method: somResetObj */
  773. boolean   somResetObj()
  774. {
  775.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somResetObj)
  776.     (this);
  777. }
  778.  
  779.  
  780. /* method: somPrintSelf */
  781. SOMObject*   somPrintSelf()
  782. {
  783.    return SOM_ResolveD(this,SOMClassMgr,SOMObject,somPrintSelf)
  784.     (this);
  785. }
  786.  
  787.  
  788. /* method: somDumpSelf */
  789. void   somDumpSelf(long level)
  790. {
  791.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDumpSelf)
  792.     (this,level);
  793. }
  794.  
  795.  
  796. /* method: somDumpSelfInt */
  797. void   somDumpSelfInt(long level)
  798. {
  799.    SOM_ResolveD(this,SOMClassMgr,SOMObject,somDumpSelfInt)
  800.     (this,level);
  801. }
  802.  
  803.  
  804.  
  805. };   /* SOMClassMgr */
  806.  
  807.  
  808.  
  809. #endif       /* SOM_SOMClassMgr_xh */
  810.