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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: boa.h.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.17
  7.  *     SOM Emitter emith: 2.47
  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 bindings for IDL types
  44.  */
  45.  
  46. #ifndef SOMClass
  47.     #define SOMClass SOMObject
  48. #endif /* SOMClass */
  49. #ifndef Container
  50.     #define Container SOMObject
  51. #endif /* Container */
  52. #ifndef SOMDObject
  53.     #define SOMDObject SOMObject
  54. #endif /* SOMDObject */
  55. #ifndef Principal
  56.     #define Principal SOMObject
  57. #endif /* Principal */
  58. #ifndef ImplementationDef
  59.     #define ImplementationDef SOMObject
  60. #endif /* ImplementationDef */
  61. #ifndef InterfaceDef
  62.     #define InterfaceDef SOMObject
  63. #endif /* InterfaceDef */
  64. #ifndef Context
  65.     #define Context SOMObject
  66. #endif /* Context */
  67.  
  68. /*
  69.  * End of bindings for IDL types.
  70.  */
  71.  
  72. #define BOA_MajorVersion 2
  73. #define BOA_MinorVersion 1
  74.  
  75. /*
  76.  * External name shortening if required
  77.  */
  78. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  79. #define BOANewClass c
  80. #pragma linkage(c, system)
  81. #define BOAClassData d
  82. #define BOACClassData x
  83. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  84.  
  85. /*
  86.  * Include the metaclass file
  87.  */
  88. #ifndef SOM_SOMMSingleInstance_h
  89. #include <snglicls.h>
  90. #endif
  91. /*--------------Migration------------*/
  92. #define BOA_classObj BOAClassData.classObject
  93. #define _BOA BOA_classObj
  94.  
  95. /*
  96.  * Declare the class creation procedure
  97.  */
  98. SOMEXTERN SOMClass * SOMLINK BOANewClass(integer4 somtmajorVersion,
  99.         integer4 somtminorVersion);
  100. #pragma linkage(BOANewClass, system)
  101.  
  102. /*
  103.  * Declare the class data structure
  104.  */
  105. SOMEXTERN struct BOAClassDataStructure {
  106.     SOMClass *classObject;
  107.     somMToken create;
  108.     somMToken dispose;
  109.     somMToken get_id;
  110.     somMToken change_implementation;
  111.     somMToken get_principal;
  112.     somMToken set_exception;
  113.     somMToken impl_is_ready;
  114.     somMToken deactivate_impl;
  115.     somMToken obj_is_ready;
  116.     somMToken deactivate_obj;
  117.     somMToken activate_impl;
  118.     somMToken activate_obj;
  119. } SOMDLINK BOAClassData;
  120.  
  121. /*
  122.  * Declare the C specific class data structure
  123.  */
  124. SOMEXTERN struct BOACClassDataStructure {
  125.     somMethodTabs parentMtab;
  126.     somDToken instanceDataToken;
  127. } SOMDLINK BOACClassData;
  128.  
  129. /*
  130.  * New and Renew macros for BOA
  131.  */
  132. #define BOANew() \
  133.    ( _BOA ? \
  134.     _somNew(_BOA) \
  135.     : ( BOANewClass(\
  136.         BOA_MajorVersion, \
  137.         BOA_MinorVersion),\
  138.        _somNew(_BOA)))
  139. #define BOARenew(buf) \
  140.    ( _BOA ? \
  141.     _somRenew(_BOA, buf) \
  142.     : ( BOANewClass(\
  143.         BOA_MajorVersion, \
  144.         BOA_MinorVersion),\
  145.        _somRenew(_BOA, buf)))
  146.  
  147. /*
  148.  * New Method: create
  149.  */
  150. typedef SOMDObject*   SOMLINK somTP_BOA_create(BOA *somSelf, Environment *ev, 
  151.         ReferenceData* id, 
  152.         InterfaceDef* intf, 
  153.         ImplementationDef* impl);
  154. #pragma linkage(somTP_BOA_create, system)
  155. typedef somTP_BOA_create *somTD_BOA_create;
  156. /*
  157.  *  Create an object reference.
  158.  */
  159. #define somMD_BOA_create "::BOA::create"
  160. #define BOA_create(somSelf,ev,id,intf,impl) \
  161.     (SOM_Resolve(somSelf, BOA, create) \
  162.     (somSelf,ev,id,intf,impl))
  163. #ifndef SOMGD_create
  164.     #if (defined(_create) || defined(__create))
  165.         #undef _create
  166.         #undef __create
  167.         #define SOMGD_create 1
  168.     #else
  169.         #define _create BOA_create
  170.     #endif /* _create */
  171. #endif /* SOMGD_create */
  172.  
  173. /*
  174.  * New Method: dispose
  175.  */
  176. typedef void   SOMLINK somTP_BOA_dispose(BOA *somSelf, Environment *ev, 
  177.         SOMDObject* obj);
  178. #pragma linkage(somTP_BOA_dispose, system)
  179. typedef somTP_BOA_dispose *somTD_BOA_dispose;
  180. /*
  181.  *  Destroy an object reference.
  182.  */
  183. #define somMD_BOA_dispose "::BOA::dispose"
  184. #define BOA_dispose(somSelf,ev,obj) \
  185.     (SOM_Resolve(somSelf, BOA, dispose) \
  186.     (somSelf,ev,obj))
  187. #ifndef SOMGD_dispose
  188.     #if (defined(_dispose) || defined(__dispose))
  189.         #undef _dispose
  190.         #undef __dispose
  191.         #define SOMGD_dispose 1
  192.     #else
  193.         #define _dispose BOA_dispose
  194.     #endif /* _dispose */
  195. #endif /* SOMGD_dispose */
  196.  
  197. /*
  198.  * New Method: get_id
  199.  */
  200. typedef ReferenceData   SOMLINK somTP_BOA_get_id(BOA *somSelf, Environment *ev, 
  201.         SOMDObject* obj);
  202. #pragma linkage(somTP_BOA_get_id, system)
  203. typedef somTP_BOA_get_id *somTD_BOA_get_id;
  204. /*
  205.  *  Return ReferenceData associated with referenced object.
  206.  */
  207. #define somMD_BOA_get_id "::BOA::get_id"
  208. #define BOA_get_id(somSelf,ev,obj) \
  209.     (SOM_Resolve(somSelf, BOA, get_id) \
  210.     (somSelf,ev,obj))
  211. #ifndef SOMGD_get_id
  212.     #if (defined(_get_id) || defined(__get_id))
  213.         #undef _get_id
  214.         #undef __get_id
  215.         #define SOMGD_get_id 1
  216.     #else
  217.         #define _get_id BOA_get_id
  218.     #endif /* _get_id */
  219. #endif /* SOMGD_get_id */
  220.  
  221. /*
  222.  * New Method: get_principal
  223.  */
  224. typedef Principal*   SOMLINK somTP_BOA_get_principal(BOA *somSelf, Environment *ev, 
  225.         SOMDObject* obj, 
  226.         Environment* req_ev);
  227. #pragma linkage(somTP_BOA_get_principal, system)
  228. typedef somTP_BOA_get_principal *somTD_BOA_get_principal;
  229. /*
  230.  *  Return a Principal object, which describes who issued a request on
  231.  *  the specified object.  The "req_ev" parameter is the Environment
  232.  *  which was passed as part of the request.
  233.  */
  234. #define somMD_BOA_get_principal "::BOA::get_principal"
  235. #define BOA_get_principal(somSelf,ev,obj,req_ev) \
  236.     (SOM_Resolve(somSelf, BOA, get_principal) \
  237.     (somSelf,ev,obj,req_ev))
  238. #ifndef SOMGD_get_principal
  239.     #if (defined(_get_principal) || defined(__get_principal))
  240.         #undef _get_principal
  241.         #undef __get_principal
  242.         #define SOMGD_get_principal 1
  243.     #else
  244.         #define _get_principal BOA_get_principal
  245.     #endif /* _get_principal */
  246. #endif /* SOMGD_get_principal */
  247.  
  248. /*
  249.  * New Method: set_exception
  250.  */
  251. typedef void   SOMLINK somTP_BOA_set_exception(BOA *somSelf, Environment *ev, 
  252.         exception_type major, 
  253.         string userid, 
  254.         void* param);
  255. #pragma linkage(somTP_BOA_set_exception, system)
  256. typedef somTP_BOA_set_exception *somTD_BOA_set_exception;
  257. /*
  258.  *  Return an exception to the client.
  259.  */
  260. #define somMD_BOA_set_exception "::BOA::set_exception"
  261. #define BOA_set_exception(somSelf,ev,major,userid,param) \
  262.     (SOM_Resolve(somSelf, BOA, set_exception) \
  263.     (somSelf,ev,major,userid,param))
  264. #ifndef SOMGD_set_exception
  265.     #if (defined(_set_exception) || defined(__set_exception))
  266.         #undef _set_exception
  267.         #undef __set_exception
  268.         #define SOMGD_set_exception 1
  269.     #else
  270.         #define _set_exception BOA_set_exception
  271.     #endif /* _set_exception */
  272. #endif /* SOMGD_set_exception */
  273.  
  274. /*
  275.  * New Method: impl_is_ready
  276.  */
  277. typedef void   SOMLINK somTP_BOA_impl_is_ready(BOA *somSelf, Environment *ev, 
  278.         ImplementationDef* impl);
  279. #pragma linkage(somTP_BOA_impl_is_ready, system)
  280. typedef somTP_BOA_impl_is_ready *somTD_BOA_impl_is_ready;
  281. /*
  282.  *  Indicate that the implementation is now ready to process requests.
  283.  */
  284. #define somMD_BOA_impl_is_ready "::BOA::impl_is_ready"
  285. #define BOA_impl_is_ready(somSelf,ev,impl) \
  286.     (SOM_Resolve(somSelf, BOA, impl_is_ready) \
  287.     (somSelf,ev,impl))
  288. #ifndef SOMGD_impl_is_ready
  289.     #if (defined(_impl_is_ready) || defined(__impl_is_ready))
  290.         #undef _impl_is_ready
  291.         #undef __impl_is_ready
  292.         #define SOMGD_impl_is_ready 1
  293.     #else
  294.         #define _impl_is_ready BOA_impl_is_ready
  295.     #endif /* _impl_is_ready */
  296. #endif /* SOMGD_impl_is_ready */
  297.  
  298. /*
  299.  * New Method: deactivate_impl
  300.  */
  301. typedef void   SOMLINK somTP_BOA_deactivate_impl(BOA *somSelf, Environment *ev, 
  302.         ImplementationDef* impl);
  303. #pragma linkage(somTP_BOA_deactivate_impl, system)
  304. typedef somTP_BOA_deactivate_impl *somTD_BOA_deactivate_impl;
  305. /*
  306.  *  Indicate that the implementation is no longer ready to process reqs.
  307.  */
  308. #define somMD_BOA_deactivate_impl "::BOA::deactivate_impl"
  309. #define BOA_deactivate_impl(somSelf,ev,impl) \
  310.     (SOM_Resolve(somSelf, BOA, deactivate_impl) \
  311.     (somSelf,ev,impl))
  312. #ifndef SOMGD_deactivate_impl
  313.     #if (defined(_deactivate_impl) || defined(__deactivate_impl))
  314.         #undef _deactivate_impl
  315.         #undef __deactivate_impl
  316.         #define SOMGD_deactivate_impl 1
  317.     #else
  318.         #define _deactivate_impl BOA_deactivate_impl
  319.     #endif /* _deactivate_impl */
  320. #endif /* SOMGD_deactivate_impl */
  321.  
  322. /*
  323.  * New Method: change_implementation
  324.  */
  325. typedef void   SOMLINK somTP_BOA_change_implementation(BOA *somSelf, Environment *ev, 
  326.         SOMDObject* obj, 
  327.         ImplementationDef* impl);
  328. #pragma linkage(somTP_BOA_change_implementation, system)
  329. typedef somTP_BOA_change_implementation *somTD_BOA_change_implementation;
  330. /*
  331.  *  Change the implementation associated with the referenced object.
  332.  *  (NOTE: Null implementation in this release of DSOM.)
  333.  */
  334. #define somMD_BOA_change_implementation "::BOA::change_implementation"
  335. #define BOA_change_implementation(somSelf,ev,obj,impl) \
  336.     (SOM_Resolve(somSelf, BOA, change_implementation) \
  337.     (somSelf,ev,obj,impl))
  338. #ifndef SOMGD_change_implementation
  339.     #if (defined(_change_implementation) || defined(__change_implementation))
  340.         #undef _change_implementation
  341.         #undef __change_implementation
  342.         #define SOMGD_change_implementation 1
  343.     #else
  344.         #define _change_implementation BOA_change_implementation
  345.     #endif /* _change_implementation */
  346. #endif /* SOMGD_change_implementation */
  347.  
  348. /*
  349.  * New Method: obj_is_ready
  350.  */
  351. typedef void   SOMLINK somTP_BOA_obj_is_ready(BOA *somSelf, Environment *ev, 
  352.         SOMDObject* obj, 
  353.         ImplementationDef* impl);
  354. #pragma linkage(somTP_BOA_obj_is_ready, system)
  355. typedef somTP_BOA_obj_is_ready *somTD_BOA_obj_is_ready;
  356. /*
  357.  *  Indicate that the object is ready to process requests.
  358.  *  (NOTE: Null implementation in this release of DSOM.)
  359.  */
  360. #define somMD_BOA_obj_is_ready "::BOA::obj_is_ready"
  361. #define BOA_obj_is_ready(somSelf,ev,obj,impl) \
  362.     (SOM_Resolve(somSelf, BOA, obj_is_ready) \
  363.     (somSelf,ev,obj,impl))
  364. #ifndef SOMGD_obj_is_ready
  365.     #if (defined(_obj_is_ready) || defined(__obj_is_ready))
  366.         #undef _obj_is_ready
  367.         #undef __obj_is_ready
  368.         #define SOMGD_obj_is_ready 1
  369.     #else
  370.         #define _obj_is_ready BOA_obj_is_ready
  371.     #endif /* _obj_is_ready */
  372. #endif /* SOMGD_obj_is_ready */
  373.  
  374. /*
  375.  * New Method: deactivate_obj
  376.  */
  377. typedef void   SOMLINK somTP_BOA_deactivate_obj(BOA *somSelf, Environment *ev, 
  378.         SOMDObject* obj);
  379. #pragma linkage(somTP_BOA_deactivate_obj, system)
  380. typedef somTP_BOA_deactivate_obj *somTD_BOA_deactivate_obj;
  381. /*
  382.  *  Indicate that the object is no longer ready to process requests.
  383.  *  (NOTE: Null implementation in this release of DSOM.)
  384.  */
  385. #define somMD_BOA_deactivate_obj "::BOA::deactivate_obj"
  386. #define BOA_deactivate_obj(somSelf,ev,obj) \
  387.     (SOM_Resolve(somSelf, BOA, deactivate_obj) \
  388.     (somSelf,ev,obj))
  389. #ifndef SOMGD_deactivate_obj
  390.     #if (defined(_deactivate_obj) || defined(__deactivate_obj))
  391.         #undef _deactivate_obj
  392.         #undef __deactivate_obj
  393.         #define SOMGD_deactivate_obj 1
  394.     #else
  395.         #define _deactivate_obj BOA_deactivate_obj
  396.     #endif /* _deactivate_obj */
  397. #endif /* SOMGD_deactivate_obj */
  398. #ifndef SOM_DONT_USE_INHERITED_MACROS
  399. #define BOA_somDefaultInit SOMObject_somDefaultInit
  400. #define BOA_somDestruct SOMObject_somDestruct
  401. #define BOA_somDefaultCopyInit SOMObject_somDefaultCopyInit
  402. #define BOA_somDefaultAssign SOMObject_somDefaultAssign
  403. #define BOA_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  404. #define BOA_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  405. #define BOA_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  406. #define BOA_somDefaultConstAssign SOMObject_somDefaultConstAssign
  407. #define BOA_somDefaultVAssign SOMObject_somDefaultVAssign
  408. #define BOA_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  409. #define BOA_somInit SOMObject_somInit
  410. #define BOA_somFree SOMObject_somFree
  411. #define BOA_somUninit SOMObject_somUninit
  412. #define BOA_somGetClass SOMObject_somGetClass
  413. #define BOA_somGetClassName SOMObject_somGetClassName
  414. #define BOA_somGetSize SOMObject_somGetSize
  415. #define BOA_somIsA SOMObject_somIsA
  416. #define BOA_somIsInstanceOf SOMObject_somIsInstanceOf
  417. #define BOA_somRespondsTo SOMObject_somRespondsTo
  418. #define BOA_somDispatch SOMObject_somDispatch
  419. #define BOA_somClassDispatch SOMObject_somClassDispatch
  420. #define BOA_somCastObj SOMObject_somCastObj
  421. #define BOA_somResetObj SOMObject_somResetObj
  422. #define BOA_somDispatchV SOMObject_somDispatchV
  423. #define BOA_somDispatchL SOMObject_somDispatchL
  424. #define BOA_somDispatchA SOMObject_somDispatchA
  425. #define BOA_somDispatchD SOMObject_somDispatchD
  426. #define BOA_somPrintSelf SOMObject_somPrintSelf
  427. #define BOA_somDumpSelf SOMObject_somDumpSelf
  428. #define BOA_somDumpSelfInt SOMObject_somDumpSelfInt
  429. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  430.  
  431. #endif       /* SOM_BOA_h */
  432.