home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / implrep.h < prev    next >
Encoding:
C/C++ Source or Header  |  1996-02-22  |  16.5 KB  |  438 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\IMPLREP.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emith.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somd
  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.  *   CLASS SPECIFICATION FOR IMPLEMENTATION REPOSITORY
  24.  */
  25.  
  26.  
  27. #ifndef SOM_ImplRepository_h
  28. #define SOM_ImplRepository_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 ImplRepository
  44. #define ImplRepository 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 Container
  55.     #define Container SOMObject
  56. #endif /* Container */
  57. #ifndef ImplementationDef
  58.     #define ImplementationDef SOMObject
  59. #endif /* ImplementationDef */
  60. #ifndef _IDL_SEQUENCE_ImplementationDef_defined
  61. #define _IDL_SEQUENCE_ImplementationDef_defined
  62. typedef struct {
  63.     unsigned long _maximum;
  64.     unsigned long _length;
  65.     ImplementationDef **_buffer;
  66. } _IDL_SEQUENCE_ImplementationDef;
  67. #endif /* _IDL_SEQUENCE_ImplementationDef_defined */ 
  68. #ifndef _IDL_SEQUENCE_string_defined
  69. #define _IDL_SEQUENCE_string_defined
  70. typedef struct {
  71.     unsigned long _maximum;
  72.     unsigned long _length;
  73.     string *_buffer;
  74. } _IDL_SEQUENCE_string;
  75. #endif /* _IDL_SEQUENCE_string_defined */ 
  76.  
  77. #ifndef SOM_DONT_USE_SHORT_NAMES
  78. #endif /* SOM_DONT_USE_SHORT_NAMES */
  79.  
  80. /*
  81.  * End of user-defined types.
  82.  */
  83.  
  84. /*
  85.  * Passthru lines: File: "C.h", "after"
  86.  */
  87.  
  88. #include <impldef.h>
  89.  
  90. #ifdef SOM_STRICT_IDL
  91. SOMEXTERN WIN32_DLLIMPORT ImplRepository   SOMDLINK SOMD_ImplRepObject;
  92. #else
  93. SOMEXTERN WIN32_DLLIMPORT ImplRepository * SOMDLINK SOMD_ImplRepObject;
  94. #endif /* SOM_STRICT_IDL */
  95.  
  96.  
  97. #define ImplRepository_MajorVersion 2
  98. #define ImplRepository_MinorVersion 1
  99.  
  100. /*
  101.  * External name shortening if required
  102.  */
  103. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  104. #define ImplRepositoryNewClass c
  105. #define ImplRepositoryClassData d
  106. #define ImplRepositoryCClassData x
  107. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  108.  
  109. /*
  110.  * Include the meta class file
  111.  */
  112. #include <snglicls.h>
  113. /*--------------Migration------------*/
  114. #define ImplRepository_classObj ImplRepositoryClassData.classObject
  115. #define _ImplRepository ImplRepository_classObj
  116.  
  117. /*
  118.  * Declare the class creation procedure
  119.  */
  120. SOMEXTERN
  121. #if (defined(SOM_Module_IMPLREP_Source) || defined(ImplRepository_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ImplRepository))
  122. WIN32_DLLEXPORT
  123. #else
  124. WIN32_DLLIMPORT
  125. #endif
  126. SOMClass * SOMLINK ImplRepositoryNewClass(integer4 somntmajorVersion,
  127.         integer4 somntminorVersion);
  128.  
  129. /*
  130.  * Declare the class data structure
  131.  */
  132. SOMEXTERN struct ImplRepositoryClassDataStructure {
  133.     SOMClass *classObject;
  134.     somMToken find_impldef;
  135.     somMToken find_impldef_by_alias;
  136.     somMToken find_impldef2;
  137.     somMToken find_impldef_by_alias2;
  138.     somMToken find_impldef_by_class;
  139.     somMToken add_impldef;
  140.     somMToken update_impldef;
  141.     somMToken delete_impldef;
  142.     somMToken add_class_to_impldef;
  143.     somMToken remove_class_from_impldef;
  144.     somMToken remove_class_from_all;
  145.     somMToken find_classes_by_impldef;
  146.     somMToken implr_get_impl;
  147.     somMToken implr_search_impl;
  148.     somMToken implr_search_class;
  149.     somMToken implr_update_impl;
  150.     somMToken find_all_impldefs;
  151. #if (defined(SOM_Module_IMPLREP_Source) || defined(ImplRepository_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ImplRepository))
  152. } WIN32_DLLEXPORT SOMDLINK ImplRepositoryClassData;
  153. #else
  154. } WIN32_DLLIMPORT SOMDLINK ImplRepositoryClassData;
  155. #endif
  156.  
  157. /*
  158.  * Declare the C specific class data structure
  159.  */
  160. SOMEXTERN struct ImplRepositoryCClassDataStructure {
  161.     somMethodTabs parentMtab;
  162.     somDToken instanceDataToken;
  163. #if (defined(SOM_Module_IMPLREP_Source) || defined(ImplRepository_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_ImplRepository))
  164. } WIN32_DLLEXPORT SOMDLINK ImplRepositoryCClassData;
  165. #else
  166. } WIN32_DLLIMPORT SOMDLINK ImplRepositoryCClassData;
  167. #endif
  168.  
  169. /*
  170.  * New and Renew macros for ImplRepository
  171.  */
  172. #define ImplRepositoryNew() \
  173.    (_somNew(_ImplRepository ? _ImplRepository : ImplRepositoryNewClass(ImplRepository_MajorVersion, ImplRepository_MinorVersion)))
  174. #define ImplRepositoryRenew(buf) \
  175.    (_somRenew(_ImplRepository ? _ImplRepository : ImplRepositoryNewClass(ImplRepository_MajorVersion, ImplRepository_MinorVersion), buf))
  176.  
  177. /*
  178.  * Override method: somInit
  179.  */
  180. #define ImplRepository_somInit(somSelf) \
  181.     SOMObject_somInit(somSelf)
  182.  
  183. /*
  184.  * Override method: somUninit
  185.  */
  186. #define ImplRepository_somUninit(somSelf) \
  187.     SOMObject_somUninit(somSelf)
  188.  
  189. /*
  190.  * New Method: find_impldef
  191.  */
  192. typedef ImplementationDef*   SOMLINK somTP_ImplRepository_find_impldef(ImplRepository *somSelf, Environment *ev,
  193.         ImplId implid);
  194. typedef somTP_ImplRepository_find_impldef *somTD_ImplRepository_find_impldef;
  195. #define somMD_ImplRepository_find_impldef "::ImplRepository::find_impldef"
  196. #define ImplRepository_find_impldef(somSelf,ev,implid) \
  197.     (SOM_Resolve(somSelf, ImplRepository, find_impldef) \
  198.     (somSelf,ev,implid))
  199. #ifndef SOMGD_find_impldef
  200.     #if (defined(_find_impldef) || defined(__find_impldef))
  201.         #undef _find_impldef
  202.         #undef __find_impldef
  203.         #define SOMGD_find_impldef 1
  204.     #else
  205.         #define _find_impldef ImplRepository_find_impldef
  206.     #endif /* _find_impldef */
  207. #endif /* SOMGD_find_impldef */
  208.  
  209. /*
  210.  * New Method: find_impldef_by_alias
  211.  */
  212. typedef ImplementationDef*   SOMLINK somTP_ImplRepository_find_impldef_by_alias(ImplRepository *somSelf, Environment *ev,
  213.         string alias_name);
  214. typedef somTP_ImplRepository_find_impldef_by_alias *somTD_ImplRepository_find_impldef_by_alias;
  215. #define somMD_ImplRepository_find_impldef_by_alias "::ImplRepository::find_impldef_by_alias"
  216. #define ImplRepository_find_impldef_by_alias(somSelf,ev,alias_name) \
  217.     (SOM_Resolve(somSelf, ImplRepository, find_impldef_by_alias) \
  218.     (somSelf,ev,alias_name))
  219. #ifndef SOMGD_find_impldef_by_alias
  220.     #if (defined(_find_impldef_by_alias) || defined(__find_impldef_by_alias))
  221.         #undef _find_impldef_by_alias
  222.         #undef __find_impldef_by_alias
  223.         #define SOMGD_find_impldef_by_alias 1
  224.     #else
  225.         #define _find_impldef_by_alias ImplRepository_find_impldef_by_alias
  226.     #endif /* _find_impldef_by_alias */
  227. #endif /* SOMGD_find_impldef_by_alias */
  228.  
  229. /*
  230.  * New Method: find_all_impldefs
  231.  */
  232. typedef ORBStatus   SOMLINK somTP_ImplRepository_find_all_impldefs(ImplRepository *somSelf, Environment *ev,
  233.         _IDL_SEQUENCE_ImplementationDef* outimpldefs);
  234. typedef somTP_ImplRepository_find_all_impldefs *somTD_ImplRepository_find_all_impldefs;
  235. #define somMD_ImplRepository_find_all_impldefs "::ImplRepository::find_all_impldefs"
  236. #define ImplRepository_find_all_impldefs(somSelf,ev,outimpldefs) \
  237.     (SOM_Resolve(somSelf, ImplRepository, find_all_impldefs) \
  238.     (somSelf,ev,outimpldefs))
  239. #ifndef SOMGD_find_all_impldefs
  240.     #if (defined(_find_all_impldefs) || defined(__find_all_impldefs))
  241.         #undef _find_all_impldefs
  242.         #undef __find_all_impldefs
  243.         #define SOMGD_find_all_impldefs 1
  244.     #else
  245.         #define _find_all_impldefs ImplRepository_find_all_impldefs
  246.     #endif /* _find_all_impldefs */
  247. #endif /* SOMGD_find_all_impldefs */
  248.  
  249. /*
  250.  * New Method: find_impldef_by_class
  251.  */
  252. typedef _IDL_SEQUENCE_ImplementationDef   SOMLINK somTP_ImplRepository_find_impldef_by_class(ImplRepository *somSelf, Environment *ev,
  253.         string classname);
  254. typedef somTP_ImplRepository_find_impldef_by_class *somTD_ImplRepository_find_impldef_by_class;
  255. #define somMD_ImplRepository_find_impldef_by_class "::ImplRepository::find_impldef_by_class"
  256. #define ImplRepository_find_impldef_by_class(somSelf,ev,classname) \
  257.     (SOM_Resolve(somSelf, ImplRepository, find_impldef_by_class) \
  258.     (somSelf,ev,classname))
  259. #ifndef SOMGD_find_impldef_by_class
  260.     #if (defined(_find_impldef_by_class) || defined(__find_impldef_by_class))
  261.         #undef _find_impldef_by_class
  262.         #undef __find_impldef_by_class
  263.         #define SOMGD_find_impldef_by_class 1
  264.     #else
  265.         #define _find_impldef_by_class ImplRepository_find_impldef_by_class
  266.     #endif /* _find_impldef_by_class */
  267. #endif /* SOMGD_find_impldef_by_class */
  268.  
  269. /*
  270.  * New Method: add_impldef
  271.  */
  272. typedef void   SOMLINK somTP_ImplRepository_add_impldef(ImplRepository *somSelf, Environment *ev,
  273.         ImplementationDef* impldef);
  274. typedef somTP_ImplRepository_add_impldef *somTD_ImplRepository_add_impldef;
  275. #define somMD_ImplRepository_add_impldef "::ImplRepository::add_impldef"
  276. #define ImplRepository_add_impldef(somSelf,ev,impldef) \
  277.     (SOM_Resolve(somSelf, ImplRepository, add_impldef) \
  278.     (somSelf,ev,impldef))
  279. #ifndef SOMGD_add_impldef
  280.     #if (defined(_add_impldef) || defined(__add_impldef))
  281.         #undef _add_impldef
  282.         #undef __add_impldef
  283.         #define SOMGD_add_impldef 1
  284.     #else
  285.         #define _add_impldef ImplRepository_add_impldef
  286.     #endif /* _add_impldef */
  287. #endif /* SOMGD_add_impldef */
  288.  
  289. /*
  290.  * New Method: update_impldef
  291.  */
  292. typedef void   SOMLINK somTP_ImplRepository_update_impldef(ImplRepository *somSelf, Environment *ev,
  293.         ImplementationDef* impldef);
  294. typedef somTP_ImplRepository_update_impldef *somTD_ImplRepository_update_impldef;
  295. #define somMD_ImplRepository_update_impldef "::ImplRepository::update_impldef"
  296. #define ImplRepository_update_impldef(somSelf,ev,impldef) \
  297.     (SOM_Resolve(somSelf, ImplRepository, update_impldef) \
  298.     (somSelf,ev,impldef))
  299. #ifndef SOMGD_update_impldef
  300.     #if (defined(_update_impldef) || defined(__update_impldef))
  301.         #undef _update_impldef
  302.         #undef __update_impldef
  303.         #define SOMGD_update_impldef 1
  304.     #else
  305.         #define _update_impldef ImplRepository_update_impldef
  306.     #endif /* _update_impldef */
  307. #endif /* SOMGD_update_impldef */
  308.  
  309. /*
  310.  * New Method: delete_impldef
  311.  */
  312. typedef void   SOMLINK somTP_ImplRepository_delete_impldef(ImplRepository *somSelf, Environment *ev,
  313.         ImplId implid);
  314. typedef somTP_ImplRepository_delete_impldef *somTD_ImplRepository_delete_impldef;
  315. #define somMD_ImplRepository_delete_impldef "::ImplRepository::delete_impldef"
  316. #define ImplRepository_delete_impldef(somSelf,ev,implid) \
  317.     (SOM_Resolve(somSelf, ImplRepository, delete_impldef) \
  318.     (somSelf,ev,implid))
  319. #ifndef SOMGD_delete_impldef
  320.     #if (defined(_delete_impldef) || defined(__delete_impldef))
  321.         #undef _delete_impldef
  322.         #undef __delete_impldef
  323.         #define SOMGD_delete_impldef 1
  324.     #else
  325.         #define _delete_impldef ImplRepository_delete_impldef
  326.     #endif /* _delete_impldef */
  327. #endif /* SOMGD_delete_impldef */
  328.  
  329. /*
  330.  * New Method: add_class_to_impldef
  331.  */
  332. typedef void   SOMLINK somTP_ImplRepository_add_class_to_impldef(ImplRepository *somSelf, Environment *ev,
  333.         ImplId implid,
  334.         string classname);
  335. typedef somTP_ImplRepository_add_class_to_impldef *somTD_ImplRepository_add_class_to_impldef;
  336. #define somMD_ImplRepository_add_class_to_impldef "::ImplRepository::add_class_to_impldef"
  337. #define ImplRepository_add_class_to_impldef(somSelf,ev,implid,classname) \
  338.     (SOM_Resolve(somSelf, ImplRepository, add_class_to_impldef) \
  339.     (somSelf,ev,implid,classname))
  340. #ifndef SOMGD_add_class_to_impldef
  341.     #if (defined(_add_class_to_impldef) || defined(__add_class_to_impldef))
  342.         #undef _add_class_to_impldef
  343.         #undef __add_class_to_impldef
  344.         #define SOMGD_add_class_to_impldef 1
  345.     #else
  346.         #define _add_class_to_impldef ImplRepository_add_class_to_impldef
  347.     #endif /* _add_class_to_impldef */
  348. #endif /* SOMGD_add_class_to_impldef */
  349.  
  350. /*
  351.  * New Method: remove_class_from_impldef
  352.  */
  353. typedef void   SOMLINK somTP_ImplRepository_remove_class_from_impldef(ImplRepository *somSelf, Environment *ev,
  354.         ImplId implid,
  355.         string classname);
  356. typedef somTP_ImplRepository_remove_class_from_impldef *somTD_ImplRepository_remove_class_from_impldef;
  357. #define somMD_ImplRepository_remove_class_from_impldef "::ImplRepository::remove_class_from_impldef"
  358. #define ImplRepository_remove_class_from_impldef(somSelf,ev,implid,classname) \
  359.     (SOM_Resolve(somSelf, ImplRepository, remove_class_from_impldef) \
  360.     (somSelf,ev,implid,classname))
  361. #ifndef SOMGD_remove_class_from_impldef
  362.     #if (defined(_remove_class_from_impldef) || defined(__remove_class_from_impldef))
  363.         #undef _remove_class_from_impldef
  364.         #undef __remove_class_from_impldef
  365.         #define SOMGD_remove_class_from_impldef 1
  366.     #else
  367.         #define _remove_class_from_impldef ImplRepository_remove_class_from_impldef
  368.     #endif /* _remove_class_from_impldef */
  369. #endif /* SOMGD_remove_class_from_impldef */
  370.  
  371. /*
  372.  * New Method: remove_class_from_all
  373.  */
  374. typedef void   SOMLINK somTP_ImplRepository_remove_class_from_all(ImplRepository *somSelf, Environment *ev,
  375.         string classname);
  376. typedef somTP_ImplRepository_remove_class_from_all *somTD_ImplRepository_remove_class_from_all;
  377. #define somMD_ImplRepository_remove_class_from_all "::ImplRepository::remove_class_from_all"
  378. #define ImplRepository_remove_class_from_all(somSelf,ev,classname) \
  379.     (SOM_Resolve(somSelf, ImplRepository, remove_class_from_all) \
  380.     (somSelf,ev,classname))
  381. #ifndef SOMGD_remove_class_from_all
  382.     #if (defined(_remove_class_from_all) || defined(__remove_class_from_all))
  383.         #undef _remove_class_from_all
  384.         #undef __remove_class_from_all
  385.         #define SOMGD_remove_class_from_all 1
  386.     #else
  387.         #define _remove_class_from_all ImplRepository_remove_class_from_all
  388.     #endif /* _remove_class_from_all */
  389. #endif /* SOMGD_remove_class_from_all */
  390.  
  391. /*
  392.  * New Method: find_classes_by_impldef
  393.  */
  394. typedef _IDL_SEQUENCE_string   SOMLINK somTP_ImplRepository_find_classes_by_impldef(ImplRepository *somSelf, Environment *ev,
  395.         ImplId implid);
  396. typedef somTP_ImplRepository_find_classes_by_impldef *somTD_ImplRepository_find_classes_by_impldef;
  397. #define somMD_ImplRepository_find_classes_by_impldef "::ImplRepository::find_classes_by_impldef"
  398. #define ImplRepository_find_classes_by_impldef(somSelf,ev,implid) \
  399.     (SOM_Resolve(somSelf, ImplRepository, find_classes_by_impldef) \
  400.     (somSelf,ev,implid))
  401. #ifndef SOMGD_find_classes_by_impldef
  402.     #if (defined(_find_classes_by_impldef) || defined(__find_classes_by_impldef))
  403.         #undef _find_classes_by_impldef
  404.         #undef __find_classes_by_impldef
  405.         #define SOMGD_find_classes_by_impldef 1
  406.     #else
  407.         #define _find_classes_by_impldef ImplRepository_find_classes_by_impldef
  408.     #endif /* _find_classes_by_impldef */
  409. #endif /* SOMGD_find_classes_by_impldef */
  410. #ifndef SOM_DONT_USE_INHERITED_MACROS
  411. #define ImplRepository_somDefaultInit SOMObject_somDefaultInit
  412. #define ImplRepository_somDestruct SOMObject_somDestruct
  413. #define ImplRepository_somDefaultCopyInit SOMObject_somDefaultCopyInit
  414. #define ImplRepository_somDefaultAssign SOMObject_somDefaultAssign
  415. #define ImplRepository_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  416. #define ImplRepository_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  417. #define ImplRepository_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  418. #define ImplRepository_somDefaultConstAssign SOMObject_somDefaultConstAssign
  419. #define ImplRepository_somDefaultVAssign SOMObject_somDefaultVAssign
  420. #define ImplRepository_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  421. #define ImplRepository_somFree SOMObject_somFree
  422. #define ImplRepository_somGetClass SOMObject_somGetClass
  423. #define ImplRepository_somGetClassName SOMObject_somGetClassName
  424. #define ImplRepository_somGetSize SOMObject_somGetSize
  425. #define ImplRepository_somIsA SOMObject_somIsA
  426. #define ImplRepository_somIsInstanceOf SOMObject_somIsInstanceOf
  427. #define ImplRepository_somRespondsTo SOMObject_somRespondsTo
  428. #define ImplRepository_somDispatch SOMObject_somDispatch
  429. #define ImplRepository_somClassDispatch SOMObject_somClassDispatch
  430. #define ImplRepository_somCastObj SOMObject_somCastObj
  431. #define ImplRepository_somResetObj SOMObject_somResetObj
  432. #define ImplRepository_somPrintSelf SOMObject_somPrintSelf
  433. #define ImplRepository_somDumpSelf SOMObject_somDumpSelf
  434. #define ImplRepository_somDumpSelfInt SOMObject_somDumpSelfInt
  435. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  436.  
  437. #endif       /* SOM_ImplRepository_h */
  438.