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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: h:\somnt\include\SOMOA.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 SOM Object Adapter (derived from BOA)
  24.  * 
  25.  *    This is DSOM's primary Object Adapter.  It implements the BOA interface.
  26.  */
  27.  
  28.  
  29. #ifndef SOM_SOMOA_h
  30. #define SOM_SOMOA_h
  31.  
  32.  
  33. #include <som.h>
  34.  
  35. /*
  36.  * -- This emitter treats Method Tokens as Thunks by default.
  37.  * -- Use the sc modifier "nothunks" to change this default
  38.  */
  39. #undef somresolve_
  40. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  41.  
  42. /*
  43.  * Define the class name as an object type
  44.  */
  45. #ifndef SOMOA
  46. #define SOMOA SOMObject
  47. #endif
  48. #include <boa.h>
  49.  
  50. /*
  51.  * Start of user-defined types:
  52.  */
  53. #ifndef SOMClass
  54.     #define SOMClass SOMObject
  55. #endif /* SOMClass */
  56. #ifndef Container
  57.     #define Container SOMObject
  58. #endif /* Container */
  59. #ifndef SOMDObject
  60.     #define SOMDObject SOMObject
  61. #endif /* SOMDObject */
  62. #ifndef Principal
  63.     #define Principal SOMObject
  64. #endif /* Principal */
  65. #ifndef ImplementationDef
  66.     #define ImplementationDef SOMObject
  67. #endif /* ImplementationDef */
  68. #ifndef InterfaceDef
  69.     #define InterfaceDef SOMObject
  70. #endif /* InterfaceDef */
  71. #ifndef Context
  72.     #define Context SOMObject
  73. #endif /* Context */
  74.  
  75. /*
  76.  * End of user-defined types.
  77.  */
  78.  
  79. /*
  80.  * Passthru lines: File: "C.h", "after"
  81.  */
  82.  
  83. #define SOMD_WAIT     1
  84. #define SOMD_NO_WAIT  0
  85. #define SOMD_IMPL_NOT_INITIALIZED          0
  86. #define SOMD_IMPL_NOT_ACTIVE               1
  87. #define SOMD_IMPL_ACTIVE                   2
  88.  
  89. #ifdef SOM_STRICT_IDL
  90. SOMEXTERN WIN32_DLLIMPORT SOMOA SOMDLINK SOMD_SOMOAObject;
  91. #else
  92. SOMEXTERN WIN32_DLLIMPORT SOMOA * SOMDLINK SOMD_SOMOAObject;
  93. #endif
  94.  
  95.  
  96. #define SOMOA_MajorVersion 2
  97. #define SOMOA_MinorVersion 1
  98.  
  99. /*
  100.  * External name shortening if required
  101.  */
  102. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  103. #define SOMOANewClass c
  104. #define SOMOAClassData d
  105. #define SOMOACClassData x
  106. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  107. /*--------------Migration------------*/
  108. #define SOMOA_classObj SOMOAClassData.classObject
  109. #define _SOMOA SOMOA_classObj
  110.  
  111. /*
  112.  * Declare the class creation procedure
  113.  */
  114. SOMEXTERN
  115. #if (defined(SOM_Module_SOMOA_Source) || defined(SOMOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMOA))
  116. WIN32_DLLEXPORT
  117. #else
  118. WIN32_DLLIMPORT
  119. #endif
  120. SOMClass * SOMLINK SOMOANewClass(integer4 somntmajorVersion,
  121.         integer4 somntminorVersion);
  122.  
  123. /*
  124.  * Declare the class data structure
  125.  */
  126. SOMEXTERN struct SOMOAClassDataStructure {
  127.     SOMClass *classObject;
  128.     somMToken execute_next_request;
  129.     somMToken execute_request_loop;
  130.     somMToken create_constant;
  131.     somMToken change_id;
  132.     somMToken create_SOM_ref;
  133.     somMToken get_SOM_object;
  134.     somMToken activate_impl_failed;
  135.     somMToken interrupt_server;
  136. #if (defined(SOM_Module_SOMOA_Source) || defined(SOMOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMOA))
  137. } WIN32_DLLEXPORT SOMDLINK SOMOAClassData;
  138. #else
  139. } WIN32_DLLIMPORT SOMDLINK SOMOAClassData;
  140. #endif
  141.  
  142. /*
  143.  * Declare the C specific class data structure
  144.  */
  145. SOMEXTERN struct SOMOACClassDataStructure {
  146.     somMethodTabs parentMtab;
  147.     somDToken instanceDataToken;
  148. #if (defined(SOM_Module_SOMOA_Source) || defined(SOMOA_Class_Source) || defined (SOM_DONT_IMPORT_CLASS_SOMOA))
  149. } WIN32_DLLEXPORT SOMDLINK SOMOACClassData;
  150. #else
  151. } WIN32_DLLIMPORT SOMDLINK SOMOACClassData;
  152. #endif
  153.  
  154. /*
  155.  * New and Renew macros for SOMOA
  156.  */
  157. #define SOMOANew() \
  158.    (_somNew(_SOMOA ? _SOMOA : SOMOANewClass(SOMOA_MajorVersion, SOMOA_MinorVersion)))
  159. #define SOMOARenew(buf) \
  160.    (_somRenew(_SOMOA ? _SOMOA : SOMOANewClass(SOMOA_MajorVersion, SOMOA_MinorVersion), buf))
  161.  
  162. /*
  163.  * Override method: somInit
  164.  */
  165. #define SOMOA_somInit(somSelf) \
  166.     SOMObject_somInit(somSelf)
  167.  
  168. /*
  169.  * Override method: somUninit
  170.  */
  171. #define SOMOA_somUninit(somSelf) \
  172.     SOMObject_somUninit(somSelf)
  173.  
  174. /*
  175.  * Override method: create
  176.  */
  177. #define SOMOA_create(somSelf,ev,id,intf,impl) \
  178.     BOA_create(somSelf,ev,id,intf,impl)
  179.  
  180. /*
  181.  * Override method: dispose
  182.  */
  183. #define SOMOA_dispose(somSelf,ev,obj) \
  184.     BOA_dispose(somSelf,ev,obj)
  185.  
  186. /*
  187.  * Override method: change_implementation
  188.  */
  189. #define SOMOA_change_implementation(somSelf,ev,obj,impl) \
  190.     BOA_change_implementation(somSelf,ev,obj,impl)
  191.  
  192. /*
  193.  * Override method: get_id
  194.  */
  195. #define SOMOA_get_id(somSelf,ev,obj) \
  196.     BOA_get_id(somSelf,ev,obj)
  197.  
  198. /*
  199.  * Override method: get_principal
  200.  */
  201. #define SOMOA_get_principal(somSelf,ev,obj,req_ev) \
  202.     BOA_get_principal(somSelf,ev,obj,req_ev)
  203.  
  204. /*
  205.  * Override method: set_exception
  206.  */
  207. #define SOMOA_set_exception(somSelf,ev,major,userid,param) \
  208.     BOA_set_exception(somSelf,ev,major,userid,param)
  209.  
  210. /*
  211.  * Override method: impl_is_ready
  212.  */
  213. #define SOMOA_impl_is_ready(somSelf,ev,impl) \
  214.     BOA_impl_is_ready(somSelf,ev,impl)
  215.  
  216. /*
  217.  * Override method: deactivate_impl
  218.  */
  219. #define SOMOA_deactivate_impl(somSelf,ev,impl) \
  220.     BOA_deactivate_impl(somSelf,ev,impl)
  221.  
  222. /*
  223.  * Override method: obj_is_ready
  224.  */
  225. #define SOMOA_obj_is_ready(somSelf,ev,obj,impl) \
  226.     BOA_obj_is_ready(somSelf,ev,obj,impl)
  227.  
  228. /*
  229.  * Override method: deactivate_obj
  230.  */
  231. #define SOMOA_deactivate_obj(somSelf,ev,obj) \
  232.     BOA_deactivate_obj(somSelf,ev,obj)
  233.  
  234. /*
  235.  * New Method: execute_next_request
  236.  */
  237. typedef ORBStatus   SOMLINK somTP_SOMOA_execute_next_request(SOMOA *somSelf, Environment *ev,
  238.         Flags waitFlag);
  239. typedef somTP_SOMOA_execute_next_request *somTD_SOMOA_execute_next_request;
  240. #define somMD_SOMOA_execute_next_request "::SOMOA::execute_next_request"
  241. #define SOMOA_execute_next_request(somSelf,ev,waitFlag) \
  242.     (SOM_Resolve(somSelf, SOMOA, execute_next_request) \
  243.     (somSelf,ev,waitFlag))
  244. #ifndef SOMGD_execute_next_request
  245.     #if (defined(_execute_next_request) || defined(__execute_next_request))
  246.         #undef _execute_next_request
  247.         #undef __execute_next_request
  248.         #define SOMGD_execute_next_request 1
  249.     #else
  250.         #define _execute_next_request SOMOA_execute_next_request
  251.     #endif /* _execute_next_request */
  252. #endif /* SOMGD_execute_next_request */
  253.  
  254. /*
  255.  * New Method: execute_request_loop
  256.  */
  257. typedef ORBStatus   SOMLINK somTP_SOMOA_execute_request_loop(SOMOA *somSelf, Environment *ev,
  258.         Flags waitFlag);
  259. typedef somTP_SOMOA_execute_request_loop *somTD_SOMOA_execute_request_loop;
  260. #define somMD_SOMOA_execute_request_loop "::SOMOA::execute_request_loop"
  261. #define SOMOA_execute_request_loop(somSelf,ev,waitFlag) \
  262.     (SOM_Resolve(somSelf, SOMOA, execute_request_loop) \
  263.     (somSelf,ev,waitFlag))
  264. #ifndef SOMGD_execute_request_loop
  265.     #if (defined(_execute_request_loop) || defined(__execute_request_loop))
  266.         #undef _execute_request_loop
  267.         #undef __execute_request_loop
  268.         #define SOMGD_execute_request_loop 1
  269.     #else
  270.         #define _execute_request_loop SOMOA_execute_request_loop
  271.     #endif /* _execute_request_loop */
  272. #endif /* SOMGD_execute_request_loop */
  273.  
  274. /*
  275.  * New Method: change_id
  276.  */
  277. typedef void   SOMLINK somTP_SOMOA_change_id(SOMOA *somSelf, Environment *ev,
  278.         SOMDObject* objref,
  279.         ReferenceData* id);
  280. typedef somTP_SOMOA_change_id *somTD_SOMOA_change_id;
  281. #define somMD_SOMOA_change_id "::SOMOA::change_id"
  282. #define SOMOA_change_id(somSelf,ev,objref,id) \
  283.     (SOM_Resolve(somSelf, SOMOA, change_id) \
  284.     (somSelf,ev,objref,id))
  285. #ifndef SOMGD_change_id
  286.     #if (defined(_change_id) || defined(__change_id))
  287.         #undef _change_id
  288.         #undef __change_id
  289.         #define SOMGD_change_id 1
  290.     #else
  291.         #define _change_id SOMOA_change_id
  292.     #endif /* _change_id */
  293. #endif /* SOMGD_change_id */
  294.  
  295. /*
  296.  * New Method: create_constant
  297.  */
  298. typedef SOMDObject*   SOMLINK somTP_SOMOA_create_constant(SOMOA *somSelf, Environment *ev,
  299.         ReferenceData* id,
  300.         InterfaceDef* intf,
  301.         ImplementationDef* impl);
  302. typedef somTP_SOMOA_create_constant *somTD_SOMOA_create_constant;
  303. #define somMD_SOMOA_create_constant "::SOMOA::create_constant"
  304. #define SOMOA_create_constant(somSelf,ev,id,intf,impl) \
  305.     (SOM_Resolve(somSelf, SOMOA, create_constant) \
  306.     (somSelf,ev,id,intf,impl))
  307. #ifndef SOMGD_create_constant
  308.     #if (defined(_create_constant) || defined(__create_constant))
  309.         #undef _create_constant
  310.         #undef __create_constant
  311.         #define SOMGD_create_constant 1
  312.     #else
  313.         #define _create_constant SOMOA_create_constant
  314.     #endif /* _create_constant */
  315. #endif /* SOMGD_create_constant */
  316.  
  317. /*
  318.  * New Method: create_SOM_ref
  319.  */
  320. typedef SOMDObject*   SOMLINK somTP_SOMOA_create_SOM_ref(SOMOA *somSelf, Environment *ev,
  321.         SOMObject* somobj,
  322.         ImplementationDef* impl);
  323. typedef somTP_SOMOA_create_SOM_ref *somTD_SOMOA_create_SOM_ref;
  324. #define somMD_SOMOA_create_SOM_ref "::SOMOA::create_SOM_ref"
  325. #define SOMOA_create_SOM_ref(somSelf,ev,somobj,impl) \
  326.     (SOM_Resolve(somSelf, SOMOA, create_SOM_ref) \
  327.     (somSelf,ev,somobj,impl))
  328. #ifndef SOMGD_create_SOM_ref
  329.     #if (defined(_create_SOM_ref) || defined(__create_SOM_ref))
  330.         #undef _create_SOM_ref
  331.         #undef __create_SOM_ref
  332.         #define SOMGD_create_SOM_ref 1
  333.     #else
  334.         #define _create_SOM_ref SOMOA_create_SOM_ref
  335.     #endif /* _create_SOM_ref */
  336. #endif /* SOMGD_create_SOM_ref */
  337.  
  338. /*
  339.  * New Method: get_SOM_object
  340.  */
  341. typedef SOMObject*   SOMLINK somTP_SOMOA_get_SOM_object(SOMOA *somSelf, Environment *ev,
  342.         SOMDObject* somref);
  343. typedef somTP_SOMOA_get_SOM_object *somTD_SOMOA_get_SOM_object;
  344. #define somMD_SOMOA_get_SOM_object "::SOMOA::get_SOM_object"
  345. #define SOMOA_get_SOM_object(somSelf,ev,somref) \
  346.     (SOM_Resolve(somSelf, SOMOA, get_SOM_object) \
  347.     (somSelf,ev,somref))
  348. #ifndef SOMGD_get_SOM_object
  349.     #if (defined(_get_SOM_object) || defined(__get_SOM_object))
  350.         #undef _get_SOM_object
  351.         #undef __get_SOM_object
  352.         #define SOMGD_get_SOM_object 1
  353.     #else
  354.         #define _get_SOM_object SOMOA_get_SOM_object
  355.     #endif /* _get_SOM_object */
  356. #endif /* SOMGD_get_SOM_object */
  357.  
  358. /*
  359.  * New Method: activate_impl_failed
  360.  */
  361. typedef void   SOMLINK somTP_SOMOA_activate_impl_failed(SOMOA *somSelf, Environment *ev,
  362.         ImplementationDef* impl,
  363.         ORBStatus rc);
  364. typedef somTP_SOMOA_activate_impl_failed *somTD_SOMOA_activate_impl_failed;
  365. #define somMD_SOMOA_activate_impl_failed "::SOMOA::activate_impl_failed"
  366. #define SOMOA_activate_impl_failed(somSelf,ev,impl,rc) \
  367.     (SOM_Resolve(somSelf, SOMOA, activate_impl_failed) \
  368.     (somSelf,ev,impl,rc))
  369. #ifndef SOMGD_activate_impl_failed
  370.     #if (defined(_activate_impl_failed) || defined(__activate_impl_failed))
  371.         #undef _activate_impl_failed
  372.         #undef __activate_impl_failed
  373.         #define SOMGD_activate_impl_failed 1
  374.     #else
  375.         #define _activate_impl_failed SOMOA_activate_impl_failed
  376.     #endif /* _activate_impl_failed */
  377. #endif /* SOMGD_activate_impl_failed */
  378.  
  379. /*
  380.  * New Method: interrupt_server
  381.  */
  382. typedef void   SOMLINK somTP_SOMOA_interrupt_server(SOMOA *somSelf, Environment *ev);
  383. typedef somTP_SOMOA_interrupt_server *somTD_SOMOA_interrupt_server;
  384. #define somMD_SOMOA_interrupt_server "::SOMOA::interrupt_server"
  385. #define SOMOA_interrupt_server(somSelf,ev) \
  386.     (SOM_Resolve(somSelf, SOMOA, interrupt_server) \
  387.     (somSelf,ev))
  388. #ifndef SOMGD_interrupt_server
  389.     #if (defined(_interrupt_server) || defined(__interrupt_server))
  390.         #undef _interrupt_server
  391.         #undef __interrupt_server
  392.         #define SOMGD_interrupt_server 1
  393.     #else
  394.         #define _interrupt_server SOMOA_interrupt_server
  395.     #endif /* _interrupt_server */
  396. #endif /* SOMGD_interrupt_server */
  397. #ifndef SOM_DONT_USE_INHERITED_MACROS
  398. #define SOMOA_somDefaultInit SOMObject_somDefaultInit
  399. #define SOMOA_somDestruct SOMObject_somDestruct
  400. #define SOMOA_somDefaultCopyInit SOMObject_somDefaultCopyInit
  401. #define SOMOA_somDefaultAssign SOMObject_somDefaultAssign
  402. #define SOMOA_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  403. #define SOMOA_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  404. #define SOMOA_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  405. #define SOMOA_somDefaultConstAssign SOMObject_somDefaultConstAssign
  406. #define SOMOA_somDefaultVAssign SOMObject_somDefaultVAssign
  407. #define SOMOA_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  408. #define SOMOA_somFree SOMObject_somFree
  409. #define SOMOA_somGetClass SOMObject_somGetClass
  410. #define SOMOA_somGetClassName SOMObject_somGetClassName
  411. #define SOMOA_somGetSize SOMObject_somGetSize
  412. #define SOMOA_somIsA SOMObject_somIsA
  413. #define SOMOA_somIsInstanceOf SOMObject_somIsInstanceOf
  414. #define SOMOA_somRespondsTo SOMObject_somRespondsTo
  415. #define SOMOA_somDispatch SOMObject_somDispatch
  416. #define SOMOA_somClassDispatch SOMObject_somClassDispatch
  417. #define SOMOA_somCastObj SOMObject_somCastObj
  418. #define SOMOA_somResetObj SOMObject_somResetObj
  419. #define SOMOA_somPrintSelf SOMObject_somPrintSelf
  420. #define SOMOA_somDumpSelf SOMObject_somDumpSelf
  421. #define SOMOA_somDumpSelfInt SOMObject_somDumpSelfInt
  422. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  423.  
  424. #endif       /* SOM_SOMOA_h */
  425.