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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\BOA.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.  *    IDL interface spec for CORBA Basic Object Adapter.
  24.  * 
  25.  *    This is an abstract class which defines the CORBA-defined interface
  26.  *    for a Basic Object Adapter.
  27.  * 
  28.  *    The SOM Object Adapter interface is derived from this one.
  29.  *    SOMOA provides the actual implementation in DSOM.
  30.  */
  31.  
  32.  
  33. #ifndef SOM_BOA_h
  34. #define SOM_BOA_h
  35.  
  36.  
  37. #include <som.h>
  38.  
  39. /*
  40.  * -- This emitter treats Method Tokens as Thunks by default.
  41.  * -- Use the sc modifier "nothunks" to change this default
  42.  */
  43. #undef somresolve_
  44. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  45.  
  46. /*
  47.  * Define the class name as an object type
  48.  */
  49. #ifndef BOA
  50. #define BOA SOMObject
  51. #endif
  52. #include <somobj.h>
  53.  
  54. /*
  55.  * Start of user-defined types:
  56.  */
  57. #ifndef SOMClass
  58.     #define SOMClass SOMObject
  59. #endif /* SOMClass */
  60. #ifndef Container
  61.     #define Container SOMObject
  62. #endif /* Container */
  63. #ifndef SOMDObject
  64.     #define SOMDObject SOMObject
  65. #endif /* SOMDObject */
  66. #ifndef Principal
  67.     #define Principal SOMObject
  68. #endif /* Principal */
  69. #ifndef ImplementationDef
  70.     #define ImplementationDef SOMObject
  71. #endif /* ImplementationDef */
  72. #ifndef InterfaceDef
  73.     #define InterfaceDef SOMObject
  74. #endif /* InterfaceDef */
  75. #ifndef Context
  76.     #define Context SOMObject
  77. #endif /* Context */
  78.  
  79. /*
  80.  * End of user-defined types.
  81.  */
  82.  
  83. #define BOA_MajorVersion 2
  84. #define BOA_MinorVersion 1
  85.  
  86. /*
  87.  * External name shortening if required
  88.  */
  89. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  90. #define BOANewClass c
  91. #define BOAClassData d
  92. #define BOACClassData x
  93. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  94.  
  95. /*
  96.  * Include the meta class file
  97.  */
  98. #include <snglicls.h>
  99. /*--------------Migration------------*/
  100. #define BOA_classObj BOAClassData.classObject
  101. #define _BOA BOA_classObj
  102.  
  103. /*
  104.  * Declare the class creation procedure
  105.  */
  106. SOMEXTERN
  107. #if (defined(SOM_Module_BOA_Source) || defined(BOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_BOA))
  108. WIN32_DLLEXPORT
  109. #else
  110. WIN32_DLLIMPORT
  111. #endif
  112. SOMClass * SOMLINK BOANewClass(integer4 somntmajorVersion,
  113.         integer4 somntminorVersion);
  114.  
  115. /*
  116.  * Declare the class data structure
  117.  */
  118. SOMEXTERN struct BOAClassDataStructure {
  119.     SOMClass *classObject;
  120.     somMToken create;
  121.     somMToken dispose;
  122.     somMToken get_id;
  123.     somMToken change_implementation;
  124.     somMToken get_principal;
  125.     somMToken set_exception;
  126.     somMToken impl_is_ready;
  127.     somMToken deactivate_impl;
  128.     somMToken obj_is_ready;
  129.     somMToken deactivate_obj;
  130.     somMToken activate_impl;
  131.     somMToken activate_obj;
  132. #if (defined(SOM_Module_BOA_Source) || defined(BOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_BOA))
  133. } WIN32_DLLEXPORT SOMDLINK BOAClassData;
  134. #else
  135. } WIN32_DLLIMPORT SOMDLINK BOAClassData;
  136. #endif
  137.  
  138. /*
  139.  * Declare the C specific class data structure
  140.  */
  141. SOMEXTERN struct BOACClassDataStructure {
  142.     somMethodTabs parentMtab;
  143.     somDToken instanceDataToken;
  144. #if (defined(SOM_Module_BOA_Source) || defined(BOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_BOA))
  145. } WIN32_DLLEXPORT SOMDLINK BOACClassData;
  146. #else
  147. } WIN32_DLLIMPORT SOMDLINK BOACClassData;
  148. #endif
  149.  
  150. /*
  151.  * New and Renew macros for BOA
  152.  */
  153. #define BOANew() \
  154.    (_somNew(_BOA ? _BOA : BOANewClass(BOA_MajorVersion, BOA_MinorVersion)))
  155. #define BOARenew(buf) \
  156.    (_somRenew(_BOA ? _BOA : BOANewClass(BOA_MajorVersion, BOA_MinorVersion), buf))
  157.  
  158. /*
  159.  * New Method: create
  160.  */
  161. typedef SOMDObject*   SOMLINK somTP_BOA_create(BOA *somSelf, Environment *ev,
  162.         ReferenceData* id,
  163.         InterfaceDef* intf,
  164.         ImplementationDef* impl);
  165. typedef somTP_BOA_create *somTD_BOA_create;
  166. #define somMD_BOA_create "::BOA::create"
  167. #define BOA_create(somSelf,ev,id,intf,impl) \
  168.     (SOM_Resolve(somSelf, BOA, create) \
  169.     (somSelf,ev,id,intf,impl))
  170. #ifndef SOMGD_create
  171.     #if (defined(_create) || defined(__create))
  172.         #undef _create
  173.         #undef __create
  174.         #define SOMGD_create 1
  175.     #else
  176.         #define _create BOA_create
  177.     #endif /* _create */
  178. #endif /* SOMGD_create */
  179.  
  180. /*
  181.  * New Method: dispose
  182.  */
  183. typedef void   SOMLINK somTP_BOA_dispose(BOA *somSelf, Environment *ev,
  184.         SOMDObject* obj);
  185. typedef somTP_BOA_dispose *somTD_BOA_dispose;
  186. #define somMD_BOA_dispose "::BOA::dispose"
  187. #define BOA_dispose(somSelf,ev,obj) \
  188.     (SOM_Resolve(somSelf, BOA, dispose) \
  189.     (somSelf,ev,obj))
  190. #ifndef SOMGD_dispose
  191.     #if (defined(_dispose) || defined(__dispose))
  192.         #undef _dispose
  193.         #undef __dispose
  194.         #define SOMGD_dispose 1
  195.     #else
  196.         #define _dispose BOA_dispose
  197.     #endif /* _dispose */
  198. #endif /* SOMGD_dispose */
  199.  
  200. /*
  201.  * New Method: get_id
  202.  */
  203. typedef ReferenceData   SOMLINK somTP_BOA_get_id(BOA *somSelf, Environment *ev,
  204.         SOMDObject* obj);
  205. typedef somTP_BOA_get_id *somTD_BOA_get_id;
  206. #define somMD_BOA_get_id "::BOA::get_id"
  207. #define BOA_get_id(somSelf,ev,obj) \
  208.     (SOM_Resolve(somSelf, BOA, get_id) \
  209.     (somSelf,ev,obj))
  210. #ifndef SOMGD_get_id
  211.     #if (defined(_get_id) || defined(__get_id))
  212.         #undef _get_id
  213.         #undef __get_id
  214.         #define SOMGD_get_id 1
  215.     #else
  216.         #define _get_id BOA_get_id
  217.     #endif /* _get_id */
  218. #endif /* SOMGD_get_id */
  219.  
  220. /*
  221.  * New Method: get_principal
  222.  */
  223. typedef Principal*   SOMLINK somTP_BOA_get_principal(BOA *somSelf, Environment *ev,
  224.         SOMDObject* obj,
  225.         Environment* req_ev);
  226. typedef somTP_BOA_get_principal *somTD_BOA_get_principal;
  227. #define somMD_BOA_get_principal "::BOA::get_principal"
  228. #define BOA_get_principal(somSelf,ev,obj,req_ev) \
  229.     (SOM_Resolve(somSelf, BOA, get_principal) \
  230.     (somSelf,ev,obj,req_ev))
  231. #ifndef SOMGD_get_principal
  232.     #if (defined(_get_principal) || defined(__get_principal))
  233.         #undef _get_principal
  234.         #undef __get_principal
  235.         #define SOMGD_get_principal 1
  236.     #else
  237.         #define _get_principal BOA_get_principal
  238.     #endif /* _get_principal */
  239. #endif /* SOMGD_get_principal */
  240.  
  241. /*
  242.  * New Method: set_exception
  243.  */
  244. typedef void   SOMLINK somTP_BOA_set_exception(BOA *somSelf, Environment *ev,
  245.         exception_type major,
  246.         string userid,
  247.         void* param);
  248. typedef somTP_BOA_set_exception *somTD_BOA_set_exception;
  249. #define somMD_BOA_set_exception "::BOA::set_exception"
  250. #define BOA_set_exception(somSelf,ev,major,userid,param) \
  251.     (SOM_Resolve(somSelf, BOA, set_exception) \
  252.     (somSelf,ev,major,userid,param))
  253. #ifndef SOMGD_set_exception
  254.     #if (defined(_set_exception) || defined(__set_exception))
  255.         #undef _set_exception
  256.         #undef __set_exception
  257.         #define SOMGD_set_exception 1
  258.     #else
  259.         #define _set_exception BOA_set_exception
  260.     #endif /* _set_exception */
  261. #endif /* SOMGD_set_exception */
  262.  
  263. /*
  264.  * New Method: impl_is_ready
  265.  */
  266. typedef void   SOMLINK somTP_BOA_impl_is_ready(BOA *somSelf, Environment *ev,
  267.         ImplementationDef* impl);
  268. typedef somTP_BOA_impl_is_ready *somTD_BOA_impl_is_ready;
  269. #define somMD_BOA_impl_is_ready "::BOA::impl_is_ready"
  270. #define BOA_impl_is_ready(somSelf,ev,impl) \
  271.     (SOM_Resolve(somSelf, BOA, impl_is_ready) \
  272.     (somSelf,ev,impl))
  273. #ifndef SOMGD_impl_is_ready
  274.     #if (defined(_impl_is_ready) || defined(__impl_is_ready))
  275.         #undef _impl_is_ready
  276.         #undef __impl_is_ready
  277.         #define SOMGD_impl_is_ready 1
  278.     #else
  279.         #define _impl_is_ready BOA_impl_is_ready
  280.     #endif /* _impl_is_ready */
  281. #endif /* SOMGD_impl_is_ready */
  282.  
  283. /*
  284.  * New Method: deactivate_impl
  285.  */
  286. typedef void   SOMLINK somTP_BOA_deactivate_impl(BOA *somSelf, Environment *ev,
  287.         ImplementationDef* impl);
  288. typedef somTP_BOA_deactivate_impl *somTD_BOA_deactivate_impl;
  289. #define somMD_BOA_deactivate_impl "::BOA::deactivate_impl"
  290. #define BOA_deactivate_impl(somSelf,ev,impl) \
  291.     (SOM_Resolve(somSelf, BOA, deactivate_impl) \
  292.     (somSelf,ev,impl))
  293. #ifndef SOMGD_deactivate_impl
  294.     #if (defined(_deactivate_impl) || defined(__deactivate_impl))
  295.         #undef _deactivate_impl
  296.         #undef __deactivate_impl
  297.         #define SOMGD_deactivate_impl 1
  298.     #else
  299.         #define _deactivate_impl BOA_deactivate_impl
  300.     #endif /* _deactivate_impl */
  301. #endif /* SOMGD_deactivate_impl */
  302.  
  303. /*
  304.  * New Method: change_implementation
  305.  */
  306. typedef void   SOMLINK somTP_BOA_change_implementation(BOA *somSelf, Environment *ev,
  307.         SOMDObject* obj,
  308.         ImplementationDef* impl);
  309. typedef somTP_BOA_change_implementation *somTD_BOA_change_implementation;
  310. #define somMD_BOA_change_implementation "::BOA::change_implementation"
  311. #define BOA_change_implementation(somSelf,ev,obj,impl) \
  312.     (SOM_Resolve(somSelf, BOA, change_implementation) \
  313.     (somSelf,ev,obj,impl))
  314. #ifndef SOMGD_change_implementation
  315.     #if (defined(_change_implementation) || defined(__change_implementation))
  316.         #undef _change_implementation
  317.         #undef __change_implementation
  318.         #define SOMGD_change_implementation 1
  319.     #else
  320.         #define _change_implementation BOA_change_implementation
  321.     #endif /* _change_implementation */
  322. #endif /* SOMGD_change_implementation */
  323.  
  324. /*
  325.  * New Method: obj_is_ready
  326.  */
  327. typedef void   SOMLINK somTP_BOA_obj_is_ready(BOA *somSelf, Environment *ev,
  328.         SOMDObject* obj,
  329.         ImplementationDef* impl);
  330. typedef somTP_BOA_obj_is_ready *somTD_BOA_obj_is_ready;
  331. #define somMD_BOA_obj_is_ready "::BOA::obj_is_ready"
  332. #define BOA_obj_is_ready(somSelf,ev,obj,impl) \
  333.     (SOM_Resolve(somSelf, BOA, obj_is_ready) \
  334.     (somSelf,ev,obj,impl))
  335. #ifndef SOMGD_obj_is_ready
  336.     #if (defined(_obj_is_ready) || defined(__obj_is_ready))
  337.         #undef _obj_is_ready
  338.         #undef __obj_is_ready
  339.         #define SOMGD_obj_is_ready 1
  340.     #else
  341.         #define _obj_is_ready BOA_obj_is_ready
  342.     #endif /* _obj_is_ready */
  343. #endif /* SOMGD_obj_is_ready */
  344.  
  345. /*
  346.  * New Method: deactivate_obj
  347.  */
  348. typedef void   SOMLINK somTP_BOA_deactivate_obj(BOA *somSelf, Environment *ev,
  349.         SOMDObject* obj);
  350. typedef somTP_BOA_deactivate_obj *somTD_BOA_deactivate_obj;
  351. #define somMD_BOA_deactivate_obj "::BOA::deactivate_obj"
  352. #define BOA_deactivate_obj(somSelf,ev,obj) \
  353.     (SOM_Resolve(somSelf, BOA, deactivate_obj) \
  354.     (somSelf,ev,obj))
  355. #ifndef SOMGD_deactivate_obj
  356.     #if (defined(_deactivate_obj) || defined(__deactivate_obj))
  357.         #undef _deactivate_obj
  358.         #undef __deactivate_obj
  359.         #define SOMGD_deactivate_obj 1
  360.     #else
  361.         #define _deactivate_obj BOA_deactivate_obj
  362.     #endif /* _deactivate_obj */
  363. #endif /* SOMGD_deactivate_obj */
  364. #ifndef SOM_DONT_USE_INHERITED_MACROS
  365. #define BOA_somDefaultInit SOMObject_somDefaultInit
  366. #define BOA_somDestruct SOMObject_somDestruct
  367. #define BOA_somDefaultCopyInit SOMObject_somDefaultCopyInit
  368. #define BOA_somDefaultAssign SOMObject_somDefaultAssign
  369. #define BOA_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  370. #define BOA_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  371. #define BOA_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  372. #define BOA_somDefaultConstAssign SOMObject_somDefaultConstAssign
  373. #define BOA_somDefaultVAssign SOMObject_somDefaultVAssign
  374. #define BOA_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  375. #define BOA_somInit SOMObject_somInit
  376. #define BOA_somFree SOMObject_somFree
  377. #define BOA_somUninit SOMObject_somUninit
  378. #define BOA_somGetClass SOMObject_somGetClass
  379. #define BOA_somGetClassName SOMObject_somGetClassName
  380. #define BOA_somGetSize SOMObject_somGetSize
  381. #define BOA_somIsA SOMObject_somIsA
  382. #define BOA_somIsInstanceOf SOMObject_somIsInstanceOf
  383. #define BOA_somRespondsTo SOMObject_somRespondsTo
  384. #define BOA_somDispatch SOMObject_somDispatch
  385. #define BOA_somClassDispatch SOMObject_somClassDispatch
  386. #define BOA_somCastObj SOMObject_somCastObj
  387. #define BOA_somResetObj SOMObject_somResetObj
  388. #define BOA_somPrintSelf SOMObject_somPrintSelf
  389. #define BOA_somDumpSelf SOMObject_somDumpSelf
  390. #define BOA_somDumpSelfInt SOMObject_somDumpSelfInt
  391. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  392.  
  393. #endif       /* SOM_BOA_h */
  394.