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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\repostry.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: Development
  7.  *     SOM Emitter emith.dll: Development
  8.  */
  9.  
  10. /*
  11.  * 
  12.  *    COMPONENT_NAME: somi
  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.  *   Repository: CORBA Interface for access to repository objects
  24.  *   See CORBA 7.5.2, pp.132-133
  25.  */
  26.  
  27.  
  28. #ifndef SOM_Repository_h
  29. #define SOM_Repository_h
  30.  
  31.  
  32. /*
  33.  * Passthru lines: File: "C.h", "before"
  34.  */
  35.  
  36.     #include <stdio.h>
  37.     #include <somtcnst.h>
  38.     #include <somir.h>
  39.     #include <containd.h>
  40.  
  41.  
  42. #include <som.h>
  43.  
  44. /*
  45.  * -- This emitter treats Method Tokens as Thunks by default.
  46.  * -- Use the sc modifier "nothunks" to change this default
  47.  */
  48. #undef somresolve_
  49. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  50.  
  51. /*
  52.  * Define the class name as an object type
  53.  */
  54. #ifndef Repository
  55. #define Repository SOMObject
  56. #endif
  57. #include <containr.h>
  58.  
  59. /*
  60.  * Start of user-defined types:
  61.  */
  62. #ifndef SOMClass
  63.     #define SOMClass SOMObject
  64. #endif /* SOMClass */
  65. #ifndef Contained
  66.     #define Contained SOMObject
  67. #endif /* Contained */
  68. typedef
  69. struct Repository_RepositoryDescription {
  70. Identifier name;
  71. string  id;
  72. string  defined_in;
  73. } Repository_RepositoryDescription;
  74.  
  75. /*
  76.  *  The inherited describe_contents method returns an instance
  77.  *  of this (RepositoryDescription) structure in the value
  78.  *  member of the Description structure defined in the Container
  79.  *  interface.
  80.  */
  81. typedef unsigned long Repository_irOpenErrorCodes;
  82. #define Repository_NOACCESS 1UL
  83. #define Repository_BADMAGICNUMBER 2UL
  84. #define Repository_MISSINGVERSIONINFO 3UL
  85. #define Repository_IOERROR 4UL
  86. #define Repository_VERSIONMISMATCH 5UL
  87. #define ex_Repository_irOpenError "::Repository::irOpenError"
  88. typedef
  89. struct Repository_irOpenError {
  90. Repository_irOpenErrorCodes errorCode;
  91. string  fileName;
  92. } Repository_irOpenError;
  93.  
  94. /*
  95.  *  The irOpenError and associated irOpenErrorCodes are a
  96.  *  SOM-unique extension to the Interface Repository.  These
  97.  *  errors may be raised by the somNew when instantiating the
  98.  *  Repository object and can be found in the SOM global
  99.  *  Environment.
  100.  */
  101.  
  102. #ifndef SOM_DONT_USE_SHORT_NAMES
  103. #ifndef SOMTGD_RepositoryDescription
  104.     #ifdef RepositoryDescription
  105.         #undef RepositoryDescription
  106.         #define SOMTGD_RepositoryDescription 1
  107.     #else
  108.         #define RepositoryDescription Repository_RepositoryDescription
  109.     #endif /* RepositoryDescription */
  110. #endif /* SOMTGD_RepositoryDescription */
  111. #ifndef SOMTGD_irOpenErrorCodes
  112.     #ifdef irOpenErrorCodes
  113.         #undef irOpenErrorCodes
  114.         #define SOMTGD_irOpenErrorCodes 1
  115.     #else
  116.         #define irOpenErrorCodes Repository_irOpenErrorCodes
  117.     #endif /* irOpenErrorCodes */
  118. #endif /* SOMTGD_irOpenErrorCodes */
  119. #ifndef SOMTGD_ex_irOpenError
  120.     #ifdef ex_irOpenError
  121.         #undef ex_irOpenError
  122.         #define SOMTGD_ex_irOpenError 1
  123.     #else
  124.         #define ex_irOpenError ex_Repository_irOpenError
  125.     #endif /* ex_irOpenError */
  126. #endif /* SOMTGD_ex_irOpenError */
  127. #ifndef SOMTGD_irOpenError
  128.     #ifdef irOpenError
  129.         #undef irOpenError
  130.         #define SOMTGD_irOpenError 1
  131.     #else
  132.         #define irOpenError Repository_irOpenError
  133.     #endif /* irOpenError */
  134. #endif /* SOMTGD_irOpenError */
  135. #endif /* SOM_DONT_USE_SHORT_NAMES */
  136.  
  137. /*
  138.  * End of user-defined types.
  139.  */
  140.  
  141. #define Repository_MajorVersion 2
  142. #define Repository_MinorVersion 1
  143.  
  144. /*
  145.  * External name shortening if required
  146.  */
  147. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  148. #define RepositoryNewClass c
  149. #define RepositoryClassData d
  150. #define RepositoryCClassData x
  151. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  152. /*--------------Migration------------*/
  153. #define Repository_classObj RepositoryClassData.classObject
  154. #define _Repository Repository_classObj
  155.  
  156. /*
  157.  * Declare the class creation procedure
  158.  */
  159. SOMEXTERN
  160. #if (defined(SOM_Module_repostry_Source) || defined(Repository_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Repository))
  161. WIN32_DLLEXPORT
  162. #else
  163. WIN32_DLLIMPORT
  164. #endif
  165. SOMClass * SOMLINK RepositoryNewClass(integer4 somntmajorVersion,
  166.         integer4 somntminorVersion);
  167.  
  168. /*
  169.  * Declare the class data structure
  170.  */
  171. SOMEXTERN struct RepositoryClassDataStructure {
  172.     SOMClass *classObject;
  173.     somMToken lookup_id;
  174.     somMToken lookup_modifier;
  175.     somMToken release_cache;
  176. #if (defined(SOM_Module_repostry_Source) || defined(Repository_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Repository))
  177. } WIN32_DLLEXPORT SOMDLINK RepositoryClassData;
  178. #else
  179. } WIN32_DLLIMPORT SOMDLINK RepositoryClassData;
  180. #endif
  181.  
  182. /*
  183.  * Declare the C specific class data structure
  184.  */
  185. SOMEXTERN struct RepositoryCClassDataStructure {
  186.     somMethodTabs parentMtab;
  187.     somDToken instanceDataToken;
  188. #if (defined(SOM_Module_repostry_Source) || defined(Repository_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_Repository))
  189. } WIN32_DLLEXPORT SOMDLINK RepositoryCClassData;
  190. #else
  191. } WIN32_DLLIMPORT SOMDLINK RepositoryCClassData;
  192. #endif
  193.  
  194. /*
  195.  * New and Renew macros for Repository
  196.  */
  197. #define RepositoryNew() \
  198.    (_somNew(_Repository ? _Repository : RepositoryNewClass(Repository_MajorVersion, Repository_MinorVersion)))
  199. #define RepositoryRenew(buf) \
  200.    (_somRenew(_Repository ? _Repository : RepositoryNewClass(Repository_MajorVersion, Repository_MinorVersion), buf))
  201.  
  202. /*
  203.  * Override method: describe_contents
  204.  */
  205. #define Repository_describe_contents(somSelf,ev,limit_type,exclude_inherited,max_returned_objs) \
  206.     Container_describe_contents(somSelf,ev,limit_type,exclude_inherited,max_returned_objs)
  207.  
  208. /*
  209.  * Override method: somFree
  210.  */
  211. #define Repository_somFree(somSelf) \
  212.     SOMObject_somFree(somSelf)
  213.  
  214. /*
  215.  * Override method: somDumpSelf
  216.  */
  217. #define Repository_somDumpSelf(somSelf,level) \
  218.     SOMObject_somDumpSelf(somSelf,level)
  219.  
  220. /*
  221.  * Override method: somDumpSelfInt
  222.  */
  223. #define Repository_somDumpSelfInt(somSelf,level) \
  224.     SOMObject_somDumpSelfInt(somSelf,level)
  225.  
  226. /*
  227.  * New Method: lookup_id
  228.  */
  229. typedef Contained*   SOMLINK somTP_Repository_lookup_id(Repository *somSelf, Environment *ev,
  230.         string search_id);
  231. typedef somTP_Repository_lookup_id *somTD_Repository_lookup_id;
  232. #define somMD_Repository_lookup_id "::Repository::lookup_id"
  233. #define Repository_lookup_id(somSelf,ev,search_id) \
  234.     (SOM_Resolve(somSelf, Repository, lookup_id) \
  235.     (somSelf,ev,search_id))
  236. #ifndef SOMGD_lookup_id
  237.     #if (defined(_lookup_id) || defined(__lookup_id))
  238.         #undef _lookup_id
  239.         #undef __lookup_id
  240.         #define SOMGD_lookup_id 1
  241.     #else
  242.         #define _lookup_id Repository_lookup_id
  243.     #endif /* _lookup_id */
  244. #endif /* SOMGD_lookup_id */
  245.  
  246. /*
  247.  * New Method: lookup_modifier
  248.  */
  249. typedef string   SOMLINK somTP_Repository_lookup_modifier(Repository *somSelf, Environment *ev,
  250.         string name,
  251.         string modifier);
  252. typedef somTP_Repository_lookup_modifier *somTD_Repository_lookup_modifier;
  253. #define somMD_Repository_lookup_modifier "::Repository::lookup_modifier"
  254. #define Repository_lookup_modifier(somSelf,ev,name,modifier) \
  255.     (SOM_Resolve(somSelf, Repository, lookup_modifier) \
  256.     (somSelf,ev,name,modifier))
  257. #ifndef SOMGD_lookup_modifier
  258.     #if (defined(_lookup_modifier) || defined(__lookup_modifier))
  259.         #undef _lookup_modifier
  260.         #undef __lookup_modifier
  261.         #define SOMGD_lookup_modifier 1
  262.     #else
  263.         #define _lookup_modifier Repository_lookup_modifier
  264.     #endif /* _lookup_modifier */
  265. #endif /* SOMGD_lookup_modifier */
  266.  
  267. /*
  268.  * New Method: release_cache
  269.  */
  270. typedef void   SOMLINK somTP_Repository_release_cache(Repository *somSelf, Environment *ev);
  271. typedef somTP_Repository_release_cache *somTD_Repository_release_cache;
  272. #define somMD_Repository_release_cache "::Repository::release_cache"
  273. #define Repository_release_cache(somSelf,ev) \
  274.     (SOM_Resolve(somSelf, Repository, release_cache) \
  275.     (somSelf,ev))
  276. #ifndef SOMGD_release_cache
  277.     #if (defined(_release_cache) || defined(__release_cache))
  278.         #undef _release_cache
  279.         #undef __release_cache
  280.         #define SOMGD_release_cache 1
  281.     #else
  282.         #define _release_cache Repository_release_cache
  283.     #endif /* _release_cache */
  284. #endif /* SOMGD_release_cache */
  285. #ifndef SOM_DONT_USE_INHERITED_MACROS
  286. #define Repository_contents Container_contents
  287. #define Repository_lookup_name Container_lookup_name
  288. #define Repository_somDefaultInit SOMObject_somDefaultInit
  289. #define Repository_somDestruct SOMObject_somDestruct
  290. #define Repository_somDefaultCopyInit SOMObject_somDefaultCopyInit
  291. #define Repository_somDefaultAssign SOMObject_somDefaultAssign
  292. #define Repository_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  293. #define Repository_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  294. #define Repository_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  295. #define Repository_somDefaultConstAssign SOMObject_somDefaultConstAssign
  296. #define Repository_somDefaultVAssign SOMObject_somDefaultVAssign
  297. #define Repository_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  298. #define Repository_somInit SOMObject_somInit
  299. #define Repository_somUninit SOMObject_somUninit
  300. #define Repository_somGetClass SOMObject_somGetClass
  301. #define Repository_somGetClassName SOMObject_somGetClassName
  302. #define Repository_somGetSize SOMObject_somGetSize
  303. #define Repository_somIsA SOMObject_somIsA
  304. #define Repository_somIsInstanceOf SOMObject_somIsInstanceOf
  305. #define Repository_somRespondsTo SOMObject_somRespondsTo
  306. #define Repository_somDispatch SOMObject_somDispatch
  307. #define Repository_somClassDispatch SOMObject_somClassDispatch
  308. #define Repository_somCastObj SOMObject_somCastObj
  309. #define Repository_somResetObj SOMObject_somResetObj
  310. #define Repository_somPrintSelf SOMObject_somPrintSelf
  311. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  312.  
  313. #endif       /* SOM_Repository_h */
  314.