home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / BOA.H < prev    next >
C/C++ Source or Header  |  1995-08-24  |  12KB  |  384 lines

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