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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: repostry.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  8.  */
  9.  
  10. #ifndef SOM_Repository_h
  11. #define SOM_Repository_h
  12.  
  13.  
  14. /*
  15.  * Passthru lines: File: "C.h", "before"
  16.  */
  17.  
  18.     #include <stdio.h>
  19.     #include <somtcnst.h>
  20.     #include <somir.h>
  21.     #include <containd.h>
  22.  
  23.  
  24. #include <som.h>
  25.  
  26. /*
  27.  * -- This emitter treats Method Tokens as Thunks by default.
  28.  * -- Use the sc modifier "nothunks" to change this default
  29.  */
  30. #undef somresolve_
  31. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  32.  
  33. /*
  34.  * Define the class name as an object type
  35.  */
  36. #ifndef Repository
  37. #define Repository SOMObject
  38. #endif
  39. /*
  40.  *  The Repository interface provides global access to the SOM
  41.  *  CORBA-compliant Interface Repository (IR).  To obtain an object
  42.  *  reference to an instance of Repository, use the RepositoryNew
  43.  *  function.
  44.  * 
  45.  *  See CORBA 1.1, 7.5.2, p.133
  46.  */
  47. #include <containr.h>
  48.  
  49. /*
  50.  * Start of bindings for IDL types
  51.  */
  52.  
  53. #ifndef SOMClass
  54.     #define SOMClass SOMObject
  55. #endif /* SOMClass */
  56. #ifndef Contained
  57.     #define Contained SOMObject
  58. #endif /* Contained */
  59. typedef
  60. struct Repository_RepositoryDescription {
  61. Identifier name;
  62. string  id;
  63. string  defined_in;
  64. } Repository_RepositoryDescription;
  65. /*
  66.  *  The inherited describe_contents method returns an instance
  67.  *  of this (RepositoryDescription) structure in the value
  68.  *  member of the Description structure defined in the Container
  69.  *  interface.
  70.  */
  71.  
  72. typedef unsigned long Repository_irOpenErrorCodes;
  73. #define Repository_NOACCESS 1UL
  74. #define Repository_BADMAGICNUMBER 2UL
  75. #define Repository_MISSINGVERSIONINFO 3UL
  76. #define Repository_IOERROR 4UL
  77. #define Repository_VERSIONMISMATCH 5UL
  78. #define Repository_NOWRITEACCESS 6UL
  79. #define Repository_INDEXINCONSISTENT 7UL
  80. #define Repository_INDEXNOTPRESENT 8UL
  81. /*
  82.  *  @dcr13033
  83.  */
  84.  
  85. #define ex_Repository_irOpenError "::Repository::irOpenError"
  86. typedef
  87. struct Repository_irOpenError {
  88. Repository_irOpenErrorCodes errorCode;
  89. string  fileName;
  90. } Repository_irOpenError;
  91. /*
  92.  *  The irOpenError and associated irOpenErrorCodes are a
  93.  *  SOM-unique extension to the Interface Repository.  These
  94.  *  errors may be raised by the somNew when instantiating the
  95.  *  Repository object and can be found in the SOM global
  96.  *  Environment if the returned Repository object is NULL (meaning
  97.  *  no Repository object could be created). When the Repository
  98.  *  object is not NULL, use the queryException method to place any
  99.  *  exception info into a user-supplied Environment
  100.  *  (see queryException below).
  101.  */
  102.  
  103.  
  104. #ifndef SOM_DONT_USE_SHORT_NAMES
  105. #ifndef SOMTGD_RepositoryDescription
  106.     #ifdef RepositoryDescription
  107.         #undef RepositoryDescription
  108.         #define SOMTGD_RepositoryDescription 1
  109.     #else
  110.         #define RepositoryDescription Repository_RepositoryDescription
  111.     #endif /* RepositoryDescription */
  112. #endif /* SOMTGD_RepositoryDescription */
  113. #ifndef SOMTGD_irOpenErrorCodes
  114.     #ifdef irOpenErrorCodes
  115.         #undef irOpenErrorCodes
  116.         #define SOMTGD_irOpenErrorCodes 1
  117.     #else
  118.         #define irOpenErrorCodes Repository_irOpenErrorCodes
  119.     #endif /* irOpenErrorCodes */
  120. #endif /* SOMTGD_irOpenErrorCodes */
  121. #ifndef SOMTGD_ex_irOpenError
  122.     #ifdef ex_irOpenError
  123.         #undef ex_irOpenError
  124.         #define SOMTGD_ex_irOpenError 1
  125.     #else
  126.         #define ex_irOpenError ex_Repository_irOpenError
  127.     #endif /* ex_irOpenError */
  128. #endif /* SOMTGD_ex_irOpenError */
  129. #ifndef SOMTGD_irOpenError
  130.     #ifdef irOpenError
  131.         #undef irOpenError
  132.         #define SOMTGD_irOpenError 1
  133.     #else
  134.         #define irOpenError Repository_irOpenError
  135.     #endif /* irOpenError */
  136. #endif /* SOMTGD_irOpenError */
  137. #endif /* SOM_DONT_USE_SHORT_NAMES */
  138.  
  139. /*
  140.  * End of bindings for IDL types.
  141.  */
  142.  
  143. #define Repository_MajorVersion 2
  144. #define Repository_MinorVersion 3
  145.  
  146. /*
  147.  * External name shortening if required
  148.  */
  149. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  150. #define RepositoryNewClass c
  151. #pragma linkage(c, system)
  152. #define RepositoryClassData d
  153. #define RepositoryCClassData x
  154. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  155. /*--------------Migration------------*/
  156. #define Repository_classObj RepositoryClassData.classObject
  157. #define _Repository Repository_classObj
  158.  
  159. /*
  160.  * Declare the class creation procedure
  161.  */
  162. SOMEXTERN SOMClass * SOMLINK RepositoryNewClass(integer4 somtmajorVersion,
  163.         integer4 somtminorVersion);
  164. #pragma linkage(RepositoryNewClass, system)
  165.  
  166. /*
  167.  * Declare the class data structure
  168.  */
  169. SOMEXTERN struct RepositoryClassDataStructure {
  170.     SOMClass *classObject;
  171.     somMToken lookup_id;
  172.     somMToken lookup_modifier;
  173.     somMToken release_cache;
  174.     somMToken reserved1;
  175.     somMToken reserved2;
  176.     somMToken reserved3;
  177.     somMToken queryException;
  178. } SOMDLINK RepositoryClassData;
  179.  
  180. /*
  181.  * Declare the C specific class data structure
  182.  */
  183. SOMEXTERN struct RepositoryCClassDataStructure {
  184.     somMethodTabs parentMtab;
  185.     somDToken instanceDataToken;
  186. } SOMDLINK RepositoryCClassData;
  187.  
  188. /*
  189.  * New and Renew macros for Repository
  190.  */
  191. #define RepositoryNew() \
  192.    ( _Repository ? \
  193.     _somNew(_Repository) \
  194.     : ( RepositoryNewClass(\
  195.         Repository_MajorVersion, \
  196.         Repository_MinorVersion),\
  197.        _somNew(_Repository)))
  198. #define RepositoryRenew(buf) \
  199.    ( _Repository ? \
  200.     _somRenew(_Repository, buf) \
  201.     : ( RepositoryNewClass(\
  202.         Repository_MajorVersion, \
  203.         Repository_MinorVersion),\
  204.        _somRenew(_Repository, buf)))
  205.  
  206. /*
  207.  * Override method: describe_contents
  208.  */
  209. #define Repository_describe_contents(somSelf,ev,limit_type,exclude_inherited,max_returned_objs) \
  210.     Container_describe_contents(somSelf,ev,limit_type,exclude_inherited,max_returned_objs)
  211.  
  212. /*
  213.  * Override method: somFree
  214.  */
  215. #define Repository_somFree(somSelf) \
  216.     SOMObject_somFree(somSelf)
  217.  
  218. /*
  219.  * Override method: somDumpSelf
  220.  */
  221. #define Repository_somDumpSelf(somSelf,level) \
  222.     SOMObject_somDumpSelf(somSelf,level)
  223.  
  224. /*
  225.  * Override method: somDumpSelfInt
  226.  */
  227. #define Repository_somDumpSelfInt(somSelf,level) \
  228.     SOMObject_somDumpSelfInt(somSelf,level)
  229.  
  230. /*
  231.  * Override method: somDefaultCopyInit
  232.  */
  233. #define Repository_somDefaultCopyInit(somSelf,ctrl,fromObj) \
  234.     SOMObject_somDefaultCopyInit(somSelf,ctrl,fromObj)
  235.  
  236. /*
  237.  * New Method: lookup_id
  238.  */
  239. typedef Contained*   SOMLINK somTP_Repository_lookup_id(Repository *somSelf, Environment *ev, 
  240.         string search_id);
  241. #pragma linkage(somTP_Repository_lookup_id, system)
  242. typedef somTP_Repository_lookup_id *somTD_Repository_lookup_id;
  243. /*
  244.  *  Returns the object with a RepositoryId given by search_id.
  245.  */
  246. #define somMD_Repository_lookup_id "::Repository::lookup_id"
  247. #define Repository_lookup_id(somSelf,ev,search_id) \
  248.     (SOM_Resolve(somSelf, Repository, lookup_id) \
  249.     (somSelf,ev,search_id))
  250. #ifndef SOMGD_lookup_id
  251.     #if (defined(_lookup_id) || defined(__lookup_id))
  252.         #undef _lookup_id
  253.         #undef __lookup_id
  254.         #define SOMGD_lookup_id 1
  255.     #else
  256.         #define _lookup_id Repository_lookup_id
  257.     #endif /* _lookup_id */
  258. #endif /* SOMGD_lookup_id */
  259.  
  260. /*
  261.  * New Method: lookup_modifier
  262.  */
  263. typedef string   SOMLINK somTP_Repository_lookup_modifier(Repository *somSelf, Environment *ev, 
  264.         string name, 
  265.         string modifier);
  266. #pragma linkage(somTP_Repository_lookup_modifier, system)
  267. typedef somTP_Repository_lookup_modifier *somTD_Repository_lookup_modifier;
  268. /*
  269.  *  [SOM-unique extension]
  270.  * 
  271.  *  Returns the value string associated with the given SOM modifier
  272.  *  for the object whose id is specified.  If the object does not
  273.  *  exist or does not possess the modifier, NULL (or zero) is returned.
  274.  *  If the modifier exists but does not have a value, a zero-length
  275.  *  value string is returned.
  276.  * 
  277.  *  You must free the returned string when finished with it (using
  278.  *  SOMFree).
  279.  */
  280. #define somMD_Repository_lookup_modifier "::Repository::lookup_modifier"
  281. #define Repository_lookup_modifier(somSelf,ev,name,modifier) \
  282.     (SOM_Resolve(somSelf, Repository, lookup_modifier) \
  283.     (somSelf,ev,name,modifier))
  284. #ifndef SOMGD_lookup_modifier
  285.     #if (defined(_lookup_modifier) || defined(__lookup_modifier))
  286.         #undef _lookup_modifier
  287.         #undef __lookup_modifier
  288.         #define SOMGD_lookup_modifier 1
  289.     #else
  290.         #define _lookup_modifier Repository_lookup_modifier
  291.     #endif /* _lookup_modifier */
  292. #endif /* SOMGD_lookup_modifier */
  293.  
  294. /*
  295.  * New Method: release_cache
  296.  */
  297. typedef void   SOMLINK somTP_Repository_release_cache(Repository *somSelf, Environment *ev);
  298. #pragma linkage(somTP_Repository_release_cache, system)
  299. typedef somTP_Repository_release_cache *somTD_Repository_release_cache;
  300. /*
  301.  *  [SOM-unique extension]
  302.  * 
  303.  *  This method releases all currently unreferenced Interface Repository
  304.  *  objects from the internal object cache.    This may release some storage
  305.  *  at the cost of slowing down (slightly) the next few lookup operations.
  306.  *  The internal cache will replenish itself (over time) with each
  307.  *  subsequent lookup operation.
  308.  */
  309. #define somMD_Repository_release_cache "::Repository::release_cache"
  310. #define Repository_release_cache(somSelf,ev) \
  311.     (SOM_Resolve(somSelf, Repository, release_cache) \
  312.     (somSelf,ev))
  313. #ifndef SOMGD_release_cache
  314.     #if (defined(_release_cache) || defined(__release_cache))
  315.         #undef _release_cache
  316.         #undef __release_cache
  317.         #define SOMGD_release_cache 1
  318.     #else
  319.         #define _release_cache Repository_release_cache
  320.     #endif /* _release_cache */
  321. #endif /* SOMGD_release_cache */
  322.  
  323. /*
  324.  * New Method: queryException
  325.  */
  326. typedef boolean   SOMLINK somTP_Repository_queryException(Repository *somSelf, Environment *ev);
  327. #pragma linkage(somTP_Repository_queryException, system)
  328. typedef somTP_Repository_queryException *somTD_Repository_queryException;
  329. /*
  330.  *  [SOM-unique extension]
  331.  * 
  332.  *  This method returns TRUE if an exception condition was
  333.  *  raised during the creation of the Repository object, otherwise
  334.  *  it returns FALSE.  When the result is TRUE, the actual
  335.  *  exception info may be found in the Environment passed in to
  336.  *  the queryException operation.
  337.  */
  338. #define somMD_Repository_queryException "::Repository::queryException"
  339. #define Repository_queryException(somSelf,ev) \
  340.     (SOM_Resolve(somSelf, Repository, queryException) \
  341.     (somSelf,ev))
  342. #ifndef SOMGD_queryException
  343.     #if (defined(_queryException) || defined(__queryException))
  344.         #undef _queryException
  345.         #undef __queryException
  346.         #define SOMGD_queryException 1
  347.     #else
  348.         #define _queryException Repository_queryException
  349.     #endif /* _queryException */
  350. #endif /* SOMGD_queryException */
  351. #ifndef SOM_DONT_USE_INHERITED_MACROS
  352. #define Repository_contents Container_contents
  353. #define Repository_lookup_name Container_lookup_name
  354. #define Repository_somDefaultInit SOMObject_somDefaultInit
  355. #define Repository_somDestruct SOMObject_somDestruct
  356. #define Repository_somDefaultAssign SOMObject_somDefaultAssign
  357. #define Repository_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  358. #define Repository_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  359. #define Repository_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  360. #define Repository_somDefaultConstAssign SOMObject_somDefaultConstAssign
  361. #define Repository_somDefaultVAssign SOMObject_somDefaultVAssign
  362. #define Repository_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  363. #define Repository_somInit SOMObject_somInit
  364. #define Repository_somUninit SOMObject_somUninit
  365. #define Repository_somGetClass SOMObject_somGetClass
  366. #define Repository_somGetClassName SOMObject_somGetClassName
  367. #define Repository_somGetSize SOMObject_somGetSize
  368. #define Repository_somIsA SOMObject_somIsA
  369. #define Repository_somIsInstanceOf SOMObject_somIsInstanceOf
  370. #define Repository_somRespondsTo SOMObject_somRespondsTo
  371. #define Repository_somDispatch SOMObject_somDispatch
  372. #define Repository_somClassDispatch SOMObject_somClassDispatch
  373. #define Repository_somCastObj SOMObject_somCastObj
  374. #define Repository_somResetObj SOMObject_somResetObj
  375. #define Repository_somDispatchV SOMObject_somDispatchV
  376. #define Repository_somDispatchL SOMObject_somDispatchL
  377. #define Repository_somDispatchA SOMObject_somDispatchA
  378. #define Repository_somDispatchD SOMObject_somDispatchD
  379. #define Repository_somPrintSelf SOMObject_somPrintSelf
  380. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  381.  
  382. #endif       /* SOM_Repository_h */
  383.