home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / implrep.h < prev    next >
C/C++ Source or Header  |  1999-02-22  |  19KB  |  488 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: implrep.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. /*
  11.  *   CLASS SPECIFICATION FOR IMPLEMENTATION REPOSITORY
  12.  */
  13.  
  14.  
  15. #ifndef SOM_ImplRepository_h
  16. #define SOM_ImplRepository_h
  17.  
  18.  
  19. #include <som.h>
  20.  
  21. /*
  22.  * -- This emitter treats Method Tokens as Thunks by default.
  23.  * -- Use the sc modifier "nothunks" to change this default
  24.  */
  25. #undef somresolve_
  26. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  27.  
  28. /*
  29.  * Define the class name as an object type
  30.  */
  31. #ifndef ImplRepository
  32. #define ImplRepository SOMObject
  33. #endif
  34. #include <somobj.h>
  35.  
  36. /*
  37.  * Start of bindings for IDL types
  38.  */
  39.  
  40. #ifndef SOMClass
  41.     #define SOMClass SOMObject
  42. #endif /* SOMClass */
  43. #ifndef Container
  44.     #define Container SOMObject
  45. #endif /* Container */
  46. #ifndef ImplementationDef
  47.     #define ImplementationDef SOMObject
  48. #endif /* ImplementationDef */
  49. #ifndef _IDL_SEQUENCE_ImplementationDef_defined
  50. #define _IDL_SEQUENCE_ImplementationDef_defined
  51. typedef struct {
  52.     unsigned long _maximum;
  53.     unsigned long _length;
  54.     ImplementationDef **_buffer;
  55. } _IDL_SEQUENCE_ImplementationDef;
  56. #endif /* _IDL_SEQUENCE_ImplementationDef_defined */ 
  57. #ifndef _IDL_SEQUENCE_string_defined
  58. #define _IDL_SEQUENCE_string_defined
  59. typedef struct {
  60.     unsigned long _maximum;
  61.     unsigned long _length;
  62.     string *_buffer;
  63. } _IDL_SEQUENCE_string;
  64. #endif /* _IDL_SEQUENCE_string_defined */ 
  65.  
  66. #ifndef SOM_DONT_USE_SHORT_NAMES
  67. #endif /* SOM_DONT_USE_SHORT_NAMES */
  68.  
  69. /*
  70.  * End of bindings for IDL types.
  71.  */
  72.  
  73. /*
  74.  * Passthru lines: File: "C.h", "after"
  75.  */
  76.  
  77. #include <impldef.h>
  78.  
  79. #ifdef SOM_STRICT_IDL
  80. SOMEXTERN ImplRepository   SOMDLINK SOMD_ImplRepObject;
  81. #else
  82. SOMEXTERN ImplRepository * SOMDLINK SOMD_ImplRepObject;
  83. #endif /* SOM_STRICT_IDL */
  84.  
  85.  
  86. #define ImplRepository_MajorVersion 2
  87. #define ImplRepository_MinorVersion 1
  88.  
  89. /*
  90.  * External name shortening if required
  91.  */
  92. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  93. #define ImplRepositoryNewClass c
  94. #pragma linkage(c, system)
  95. #define ImplRepositoryClassData d
  96. #define ImplRepositoryCClassData x
  97. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  98.  
  99. /*
  100.  * Include the metaclass file
  101.  */
  102. #ifndef SOM_SOMMSingleInstance_h
  103. #include <snglicls.h>
  104. #endif
  105. /*--------------Migration------------*/
  106. #define ImplRepository_classObj ImplRepositoryClassData.classObject
  107. #define _ImplRepository ImplRepository_classObj
  108.  
  109. /*
  110.  * Declare the class creation procedure
  111.  */
  112. SOMEXTERN SOMClass * SOMLINK ImplRepositoryNewClass(integer4 somtmajorVersion,
  113.         integer4 somtminorVersion);
  114. #pragma linkage(ImplRepositoryNewClass, system)
  115.  
  116. /*
  117.  * Declare the class data structure
  118.  */
  119. SOMEXTERN struct ImplRepositoryClassDataStructure {
  120.     SOMClass *classObject;
  121.     somMToken find_impldef;
  122.     somMToken find_impldef_by_alias;
  123.     somMToken find_impldef2;
  124.     somMToken find_impldef_by_alias2;
  125.     somMToken find_impldef_by_class;
  126.     somMToken add_impldef;
  127.     somMToken update_impldef;
  128.     somMToken delete_impldef;
  129.     somMToken add_class_to_impldef;
  130.     somMToken remove_class_from_impldef;
  131.     somMToken remove_class_from_all;
  132.     somMToken find_classes_by_impldef;
  133.     somMToken implr_get_impl;
  134.     somMToken implr_search_impl;
  135.     somMToken implr_search_class;
  136.     somMToken implr_update_impl;
  137.     somMToken find_all_impldefs;
  138. } SOMDLINK ImplRepositoryClassData;
  139.  
  140. /*
  141.  * Declare the C specific class data structure
  142.  */
  143. SOMEXTERN struct ImplRepositoryCClassDataStructure {
  144.     somMethodTabs parentMtab;
  145.     somDToken instanceDataToken;
  146. } SOMDLINK ImplRepositoryCClassData;
  147.  
  148. /*
  149.  * New and Renew macros for ImplRepository
  150.  */
  151. #define ImplRepositoryNew() \
  152.    ( _ImplRepository ? \
  153.     _somNew(_ImplRepository) \
  154.     : ( ImplRepositoryNewClass(\
  155.         ImplRepository_MajorVersion, \
  156.         ImplRepository_MinorVersion),\
  157.        _somNew(_ImplRepository)))
  158. #define ImplRepositoryRenew(buf) \
  159.    ( _ImplRepository ? \
  160.     _somRenew(_ImplRepository, buf) \
  161.     : ( ImplRepositoryNewClass(\
  162.         ImplRepository_MajorVersion, \
  163.         ImplRepository_MinorVersion),\
  164.        _somRenew(_ImplRepository, buf)))
  165.  
  166. /*
  167.  * Override method: somInit
  168.  */
  169. #define ImplRepository_somInit(somSelf) \
  170.     SOMObject_somInit(somSelf)
  171.  
  172. /*
  173.  * Override method: somUninit
  174.  */
  175. #define ImplRepository_somUninit(somSelf) \
  176.     SOMObject_somUninit(somSelf)
  177.  
  178. /*
  179.  * New Method: find_impldef
  180.  */
  181. typedef ImplementationDef*   SOMLINK somTP_ImplRepository_find_impldef(ImplRepository *somSelf, Environment *ev, 
  182.         ImplId implid);
  183. #pragma linkage(somTP_ImplRepository_find_impldef, system)
  184. typedef somTP_ImplRepository_find_impldef *somTD_ImplRepository_find_impldef;
  185. /*
  186.  *  This method searches the Implementation Repository and returns
  187.  *  an ImplementationDef object with the specified implid.
  188.  */
  189. #define somMD_ImplRepository_find_impldef "::ImplRepository::find_impldef"
  190. #define ImplRepository_find_impldef(somSelf,ev,implid) \
  191.     (SOM_Resolve(somSelf, ImplRepository, find_impldef) \
  192.     (somSelf,ev,implid))
  193. #ifndef SOMGD_find_impldef
  194.     #if (defined(_find_impldef) || defined(__find_impldef))
  195.         #undef _find_impldef
  196.         #undef __find_impldef
  197.         #define SOMGD_find_impldef 1
  198.     #else
  199.         #define _find_impldef ImplRepository_find_impldef
  200.     #endif /* _find_impldef */
  201. #endif /* SOMGD_find_impldef */
  202.  
  203. /*
  204.  * New Method: find_impldef_by_alias
  205.  */
  206. typedef ImplementationDef*   SOMLINK somTP_ImplRepository_find_impldef_by_alias(ImplRepository *somSelf, Environment *ev, 
  207.         string alias_name);
  208. #pragma linkage(somTP_ImplRepository_find_impldef_by_alias, system)
  209. typedef somTP_ImplRepository_find_impldef_by_alias *somTD_ImplRepository_find_impldef_by_alias;
  210. /*
  211.  *  This method searches the Implementation Repository and returns
  212.  *  an ImplementationDef object with the specified name (alias).
  213.  */
  214. #define somMD_ImplRepository_find_impldef_by_alias "::ImplRepository::find_impldef_by_alias"
  215. #define ImplRepository_find_impldef_by_alias(somSelf,ev,alias_name) \
  216.     (SOM_Resolve(somSelf, ImplRepository, find_impldef_by_alias) \
  217.     (somSelf,ev,alias_name))
  218. #ifndef SOMGD_find_impldef_by_alias
  219.     #if (defined(_find_impldef_by_alias) || defined(__find_impldef_by_alias))
  220.         #undef _find_impldef_by_alias
  221.         #undef __find_impldef_by_alias
  222.         #define SOMGD_find_impldef_by_alias 1
  223.     #else
  224.         #define _find_impldef_by_alias ImplRepository_find_impldef_by_alias
  225.     #endif /* _find_impldef_by_alias */
  226. #endif /* SOMGD_find_impldef_by_alias */
  227.  
  228. /*
  229.  * New Method: find_all_impldefs
  230.  */
  231. typedef ORBStatus   SOMLINK somTP_ImplRepository_find_all_impldefs(ImplRepository *somSelf, Environment *ev, 
  232.         _IDL_SEQUENCE_ImplementationDef* outimpldefs);
  233. #pragma linkage(somTP_ImplRepository_find_all_impldefs, system)
  234. typedef somTP_ImplRepository_find_all_impldefs *somTD_ImplRepository_find_all_impldefs;
  235. /*
  236.  *  This method searches the Implementation Repository and returns
  237.  *  all the ImplementationDef objects in it.
  238.  */
  239. #define somMD_ImplRepository_find_all_impldefs "::ImplRepository::find_all_impldefs"
  240. #define ImplRepository_find_all_impldefs(somSelf,ev,outimpldefs) \
  241.     (SOM_Resolve(somSelf, ImplRepository, find_all_impldefs) \
  242.     (somSelf,ev,outimpldefs))
  243. #ifndef SOMGD_find_all_impldefs
  244.     #if (defined(_find_all_impldefs) || defined(__find_all_impldefs))
  245.         #undef _find_all_impldefs
  246.         #undef __find_all_impldefs
  247.         #define SOMGD_find_all_impldefs 1
  248.     #else
  249.         #define _find_all_impldefs ImplRepository_find_all_impldefs
  250.     #endif /* _find_all_impldefs */
  251. #endif /* SOMGD_find_all_impldefs */
  252.  
  253. /*
  254.  * New Method: find_impldef_by_class
  255.  */
  256. typedef _IDL_SEQUENCE_ImplementationDef   SOMLINK somTP_ImplRepository_find_impldef_by_class(ImplRepository *somSelf, Environment *ev, 
  257.         string classname);
  258. #pragma linkage(somTP_ImplRepository_find_impldef_by_class, system)
  259. typedef somTP_ImplRepository_find_impldef_by_class *somTD_ImplRepository_find_impldef_by_class;
  260. /*
  261.  *  This method searches the class index and returns the sequence of
  262.  *  ImplementationDef objects for servers which implement that class.
  263.  */
  264. #define somMD_ImplRepository_find_impldef_by_class "::ImplRepository::find_impldef_by_class"
  265. #define ImplRepository_find_impldef_by_class(somSelf,ev,classname) \
  266.     (SOM_Resolve(somSelf, ImplRepository, find_impldef_by_class) \
  267.     (somSelf,ev,classname))
  268. #ifndef SOMGD_find_impldef_by_class
  269.     #if (defined(_find_impldef_by_class) || defined(__find_impldef_by_class))
  270.         #undef _find_impldef_by_class
  271.         #undef __find_impldef_by_class
  272.         #define SOMGD_find_impldef_by_class 1
  273.     #else
  274.         #define _find_impldef_by_class ImplRepository_find_impldef_by_class
  275.     #endif /* _find_impldef_by_class */
  276. #endif /* SOMGD_find_impldef_by_class */
  277.  
  278. /*
  279.  * New Method: add_impldef
  280.  */
  281. typedef void   SOMLINK somTP_ImplRepository_add_impldef(ImplRepository *somSelf, Environment *ev, 
  282.         ImplementationDef* impldef);
  283. #pragma linkage(somTP_ImplRepository_add_impldef, system)
  284. typedef somTP_ImplRepository_add_impldef *somTD_ImplRepository_add_impldef;
  285. /*
  286.  *  This method inserts an ImplementationDef object into the Implementation
  287.  *  Repository.
  288.  */
  289. #define somMD_ImplRepository_add_impldef "::ImplRepository::add_impldef"
  290. #define ImplRepository_add_impldef(somSelf,ev,impldef) \
  291.     (SOM_Resolve(somSelf, ImplRepository, add_impldef) \
  292.     (somSelf,ev,impldef))
  293. #ifndef SOMGD_add_impldef
  294.     #if (defined(_add_impldef) || defined(__add_impldef))
  295.         #undef _add_impldef
  296.         #undef __add_impldef
  297.         #define SOMGD_add_impldef 1
  298.     #else
  299.         #define _add_impldef ImplRepository_add_impldef
  300.     #endif /* _add_impldef */
  301. #endif /* SOMGD_add_impldef */
  302.  
  303. /*
  304.  * New Method: update_impldef
  305.  */
  306. typedef void   SOMLINK somTP_ImplRepository_update_impldef(ImplRepository *somSelf, Environment *ev, 
  307.         ImplementationDef* impldef);
  308. #pragma linkage(somTP_ImplRepository_update_impldef, system)
  309. typedef somTP_ImplRepository_update_impldef *somTD_ImplRepository_update_impldef;
  310. /*
  311.  *  This method replaces an ImplementationDef object in the Implementation
  312.  *  Repository with the supplied object.  The "impl_id" attribute of the
  313.  *  supplied object is used to find the object to replace in the Impl.
  314.  *  Repository.
  315.  */
  316. #define somMD_ImplRepository_update_impldef "::ImplRepository::update_impldef"
  317. #define ImplRepository_update_impldef(somSelf,ev,impldef) \
  318.     (SOM_Resolve(somSelf, ImplRepository, update_impldef) \
  319.     (somSelf,ev,impldef))
  320. #ifndef SOMGD_update_impldef
  321.     #if (defined(_update_impldef) || defined(__update_impldef))
  322.         #undef _update_impldef
  323.         #undef __update_impldef
  324.         #define SOMGD_update_impldef 1
  325.     #else
  326.         #define _update_impldef ImplRepository_update_impldef
  327.     #endif /* _update_impldef */
  328. #endif /* SOMGD_update_impldef */
  329.  
  330. /*
  331.  * New Method: delete_impldef
  332.  */
  333. typedef void   SOMLINK somTP_ImplRepository_delete_impldef(ImplRepository *somSelf, Environment *ev, 
  334.         ImplId implid);
  335. #pragma linkage(somTP_ImplRepository_delete_impldef, system)
  336. typedef somTP_ImplRepository_delete_impldef *somTD_ImplRepository_delete_impldef;
  337. /*
  338.  *  This method deletes the ImplementationDef object with the specified
  339.  *  implid from the Implementation Repository.
  340.  */
  341. #define somMD_ImplRepository_delete_impldef "::ImplRepository::delete_impldef"
  342. #define ImplRepository_delete_impldef(somSelf,ev,implid) \
  343.     (SOM_Resolve(somSelf, ImplRepository, delete_impldef) \
  344.     (somSelf,ev,implid))
  345. #ifndef SOMGD_delete_impldef
  346.     #if (defined(_delete_impldef) || defined(__delete_impldef))
  347.         #undef _delete_impldef
  348.         #undef __delete_impldef
  349.         #define SOMGD_delete_impldef 1
  350.     #else
  351.         #define _delete_impldef ImplRepository_delete_impldef
  352.     #endif /* _delete_impldef */
  353. #endif /* SOMGD_delete_impldef */
  354.  
  355. /*
  356.  * New Method: add_class_to_impldef
  357.  */
  358. typedef void   SOMLINK somTP_ImplRepository_add_class_to_impldef(ImplRepository *somSelf, Environment *ev, 
  359.         ImplId implid, 
  360.         string classname);
  361. #pragma linkage(somTP_ImplRepository_add_class_to_impldef, system)
  362. typedef somTP_ImplRepository_add_class_to_impldef *somTD_ImplRepository_add_class_to_impldef;
  363. /*
  364.  *  This method associates the classname with the ImplementationDef
  365.  *  whose id is "implid".  This is meant to indicate that the server
  366.  *  (specified by the ImplementationDef) implements the named class.
  367.  */
  368. #define somMD_ImplRepository_add_class_to_impldef "::ImplRepository::add_class_to_impldef"
  369. #define ImplRepository_add_class_to_impldef(somSelf,ev,implid,classname) \
  370.     (SOM_Resolve(somSelf, ImplRepository, add_class_to_impldef) \
  371.     (somSelf,ev,implid,classname))
  372. #ifndef SOMGD_add_class_to_impldef
  373.     #if (defined(_add_class_to_impldef) || defined(__add_class_to_impldef))
  374.         #undef _add_class_to_impldef
  375.         #undef __add_class_to_impldef
  376.         #define SOMGD_add_class_to_impldef 1
  377.     #else
  378.         #define _add_class_to_impldef ImplRepository_add_class_to_impldef
  379.     #endif /* _add_class_to_impldef */
  380. #endif /* SOMGD_add_class_to_impldef */
  381.  
  382. /*
  383.  * New Method: remove_class_from_impldef
  384.  */
  385. typedef void   SOMLINK somTP_ImplRepository_remove_class_from_impldef(ImplRepository *somSelf, Environment *ev, 
  386.         ImplId implid, 
  387.         string classname);
  388. #pragma linkage(somTP_ImplRepository_remove_class_from_impldef, system)
  389. typedef somTP_ImplRepository_remove_class_from_impldef *somTD_ImplRepository_remove_class_from_impldef;
  390. /*
  391.  *  This method removes the classname from the list of classnames
  392.  *  associated with the ImplementationDef whose id is "implid".
  393.  */
  394. #define somMD_ImplRepository_remove_class_from_impldef "::ImplRepository::remove_class_from_impldef"
  395. #define ImplRepository_remove_class_from_impldef(somSelf,ev,implid,classname) \
  396.     (SOM_Resolve(somSelf, ImplRepository, remove_class_from_impldef) \
  397.     (somSelf,ev,implid,classname))
  398. #ifndef SOMGD_remove_class_from_impldef
  399.     #if (defined(_remove_class_from_impldef) || defined(__remove_class_from_impldef))
  400.         #undef _remove_class_from_impldef
  401.         #undef __remove_class_from_impldef
  402.         #define SOMGD_remove_class_from_impldef 1
  403.     #else
  404.         #define _remove_class_from_impldef ImplRepository_remove_class_from_impldef
  405.     #endif /* _remove_class_from_impldef */
  406. #endif /* SOMGD_remove_class_from_impldef */
  407.  
  408. /*
  409.  * New Method: remove_class_from_all
  410.  */
  411. typedef void   SOMLINK somTP_ImplRepository_remove_class_from_all(ImplRepository *somSelf, Environment *ev, 
  412.         string classname);
  413. #pragma linkage(somTP_ImplRepository_remove_class_from_all, system)
  414. typedef somTP_ImplRepository_remove_class_from_all *somTD_ImplRepository_remove_class_from_all;
  415. /*
  416.  *  This method removes the classname from all the ImplementationDefs.
  417.  */
  418. #define somMD_ImplRepository_remove_class_from_all "::ImplRepository::remove_class_from_all"
  419. #define ImplRepository_remove_class_from_all(somSelf,ev,classname) \
  420.     (SOM_Resolve(somSelf, ImplRepository, remove_class_from_all) \
  421.     (somSelf,ev,classname))
  422. #ifndef SOMGD_remove_class_from_all
  423.     #if (defined(_remove_class_from_all) || defined(__remove_class_from_all))
  424.         #undef _remove_class_from_all
  425.         #undef __remove_class_from_all
  426.         #define SOMGD_remove_class_from_all 1
  427.     #else
  428.         #define _remove_class_from_all ImplRepository_remove_class_from_all
  429.     #endif /* _remove_class_from_all */
  430. #endif /* SOMGD_remove_class_from_all */
  431.  
  432. /*
  433.  * New Method: find_classes_by_impldef
  434.  */
  435. typedef _IDL_SEQUENCE_string   SOMLINK somTP_ImplRepository_find_classes_by_impldef(ImplRepository *somSelf, Environment *ev, 
  436.         ImplId implid);
  437. #pragma linkage(somTP_ImplRepository_find_classes_by_impldef, system)
  438. typedef somTP_ImplRepository_find_classes_by_impldef *somTD_ImplRepository_find_classes_by_impldef;
  439. /*
  440.  *  This method searches the class index and returns the sequence of
  441.  *  class names supported by a server with specified "implid".
  442.  */
  443. #define somMD_ImplRepository_find_classes_by_impldef "::ImplRepository::find_classes_by_impldef"
  444. #define ImplRepository_find_classes_by_impldef(somSelf,ev,implid) \
  445.     (SOM_Resolve(somSelf, ImplRepository, find_classes_by_impldef) \
  446.     (somSelf,ev,implid))
  447. #ifndef SOMGD_find_classes_by_impldef
  448.     #if (defined(_find_classes_by_impldef) || defined(__find_classes_by_impldef))
  449.         #undef _find_classes_by_impldef
  450.         #undef __find_classes_by_impldef
  451.         #define SOMGD_find_classes_by_impldef 1
  452.     #else
  453.         #define _find_classes_by_impldef ImplRepository_find_classes_by_impldef
  454.     #endif /* _find_classes_by_impldef */
  455. #endif /* SOMGD_find_classes_by_impldef */
  456. #ifndef SOM_DONT_USE_INHERITED_MACROS
  457. #define ImplRepository_somDefaultInit SOMObject_somDefaultInit
  458. #define ImplRepository_somDestruct SOMObject_somDestruct
  459. #define ImplRepository_somDefaultCopyInit SOMObject_somDefaultCopyInit
  460. #define ImplRepository_somDefaultAssign SOMObject_somDefaultAssign
  461. #define ImplRepository_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  462. #define ImplRepository_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  463. #define ImplRepository_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  464. #define ImplRepository_somDefaultConstAssign SOMObject_somDefaultConstAssign
  465. #define ImplRepository_somDefaultVAssign SOMObject_somDefaultVAssign
  466. #define ImplRepository_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  467. #define ImplRepository_somFree SOMObject_somFree
  468. #define ImplRepository_somGetClass SOMObject_somGetClass
  469. #define ImplRepository_somGetClassName SOMObject_somGetClassName
  470. #define ImplRepository_somGetSize SOMObject_somGetSize
  471. #define ImplRepository_somIsA SOMObject_somIsA
  472. #define ImplRepository_somIsInstanceOf SOMObject_somIsInstanceOf
  473. #define ImplRepository_somRespondsTo SOMObject_somRespondsTo
  474. #define ImplRepository_somDispatch SOMObject_somDispatch
  475. #define ImplRepository_somClassDispatch SOMObject_somClassDispatch
  476. #define ImplRepository_somCastObj SOMObject_somCastObj
  477. #define ImplRepository_somResetObj SOMObject_somResetObj
  478. #define ImplRepository_somDispatchV SOMObject_somDispatchV
  479. #define ImplRepository_somDispatchL SOMObject_somDispatchL
  480. #define ImplRepository_somDispatchA SOMObject_somDispatchA
  481. #define ImplRepository_somDispatchD SOMObject_somDispatchD
  482. #define ImplRepository_somPrintSelf SOMObject_somPrintSelf
  483. #define ImplRepository_somDumpSelf SOMObject_somDumpSelf
  484. #define ImplRepository_somDumpSelfInt SOMObject_somDumpSelfInt
  485. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  486.  
  487. #endif       /* SOM_ImplRepository_h */
  488.