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

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: request.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 Request object.
  12.  */
  13.  
  14.  
  15. #ifndef SOM_Request_h
  16. #define SOM_Request_h
  17.  
  18.  
  19. #include <som.h>
  20.  
  21. /*
  22.  * -- This emitter treats Method Tokens as Thunks by default.
  23.  * -- Use the sc modifier "nothunks" to change this default
  24.  */
  25. #undef somresolve_
  26. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  27.  
  28. /*
  29.  * Define the class name as an object type
  30.  */
  31. #ifndef Request
  32. #define Request SOMObject
  33. #endif
  34. #include <somobj.h>
  35.  
  36. /*
  37.  * Start of bindings for IDL types
  38.  */
  39.  
  40. #ifndef SOMClass
  41.     #define SOMClass SOMObject
  42. #endif /* SOMClass */
  43. #ifndef Container
  44.     #define Container SOMObject
  45. #endif /* Container */
  46.  
  47. /*
  48.  * End of bindings for IDL types.
  49.  */
  50.  
  51. /*
  52.  * Passthru lines: File: "C.h", "after"
  53.  */
  54. /*
  55.  *  Flags defined on requests
  56.  */
  57.  
  58. #define ARG_IN        0x00000001      /* defined in somir.h */
  59. #define ARG_OUT        0x00000002    /* defined in somir.h */
  60. #define ARG_INOUT    0x00000004    /* defined in somir.h */
  61. #define IN_COPY_VALUE    0x00000008    /* add_arg flag */
  62. #define DEPENDENT_LIST    0x00000010    /* add_item flag */
  63. #define OUT_LIST_MEMORY    0x00000020    /* req flag */
  64. #define INV_NO_RESPONSE    0x00000040    /* invoke flag */
  65. #define INV_TERM_ON_ERR    0x00000080    /* invoke flag */
  66. #define RESP_NO_WAIT    0x00000100    /* response flag */
  67. /* Internal Use Flags */
  68. #define AUTH_IN_MSG      0x00010000      /* msg includes auth info */
  69. #define ACKONEWAY        0x00020000      /* ack oneway messages */
  70. #define ENV_IN_MSG       0x00040000      /* msg includes env info */
  71. #define CTX_IN_MSG       0x00080000      /* msg includes ctx info */
  72. #define OBJ_OWNED        0x00100000    /* arg. mem. is obj. owned */
  73. #define CALLER_OWNED     0x00200000    /* arg mem is caller owned */
  74. #define RESULT_OUT       0x00400000    /* method result, not arg  */
  75. #define CLIENT_SIDE      0x00800000    /* client side of request */
  76. #define SERVER_SIDE      0x01000000    /* server side of request */
  77. #define TXCTX_IN_MSG     0x02000000      /* msg includes trans info */
  78. #define ARG_IS_PTRARG    0x10000000      /* ptr to arg, !aggregate */
  79. #define ARG_IS_COMPONENT 0x20000000      /* comp of aggregate type */
  80. #define ROOT_NOT_PTRARG  0x40000000      /* root struct not ptr */
  81. #define RESERVED_FLAGS    0x8c00fe00    /* future/internal use */
  82.  
  83. /*
  84.  *  Functions for multiple deferred-synchronous requests.
  85.  */
  86. #ifdef SOM_STRICT_IDL
  87. ORBStatus SOMLINK send_multiple_requests (
  88.     IN    Request        reqs[],        /* array of Requests */
  89.     IN    Environment    *env,
  90.     IN    long        count,        /* number of Requests */
  91.     IN    Flags        invoke_flags
  92.     );
  93.  
  94. ORBStatus SOMLINK get_next_response (
  95.     INOUT    Environment    *env,
  96.     IN    Flags        response_flags,
  97.     OUT    Request        *req
  98. );
  99. #else /* SOM_STRICT_IDL */
  100. ORBStatus SOMLINK send_multiple_requests (
  101.     IN    Request*    reqs[],        /* array of Requests */
  102.     IN    Environment    *env,
  103.     IN    long        count,        /* number of Requests */
  104.     IN    Flags        invoke_flags
  105.     );
  106.  
  107. ORBStatus SOMLINK get_next_response (
  108.     INOUT    Environment    *env,
  109.     IN    Flags        response_flags,
  110.     OUT    Request*    *req
  111. );
  112. #endif /* SOM_STRICT_IDL */
  113.  
  114. /* define alias for CORBA compatibility */
  115. #ifndef Request_delete
  116. #define Request_delete Request_destroy
  117. #endif
  118.  
  119.  
  120. #define Request_MajorVersion 2
  121. #define Request_MinorVersion 1
  122.  
  123. /*
  124.  * External name shortening if required
  125.  */
  126. #ifdef SOM_USE_SHORT_EXTERNAL_NAMES
  127. #define RequestNewClass c
  128. #pragma linkage(c, system)
  129. #define RequestClassData d
  130. #define RequestCClassData x
  131. #endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
  132. /*--------------Migration------------*/
  133. #define Request_classObj RequestClassData.classObject
  134. #define _Request Request_classObj
  135.  
  136. /*
  137.  * Declare the class creation procedure
  138.  */
  139. SOMEXTERN SOMClass * SOMLINK RequestNewClass(integer4 somtmajorVersion,
  140.         integer4 somtminorVersion);
  141. #pragma linkage(RequestNewClass, system)
  142.  
  143. /*
  144.  * Declare the class data structure
  145.  */
  146. SOMEXTERN struct RequestClassDataStructure {
  147.     SOMClass *classObject;
  148.     somMToken add_arg;
  149.     somMToken invoke;
  150.     somMToken send;
  151.     somMToken get_response;
  152.     somMToken destroy;
  153.     somMToken _get_objref;
  154.     somMToken _set_objref;
  155.     somMToken _get_ctx;
  156.     somMToken _set_ctx;
  157.     somMToken _get_operation;
  158.     somMToken _set_operation;
  159.     somMToken _get_argument_list;
  160.     somMToken _set_argument_list;
  161.     somMToken _get_return_result;
  162.     somMToken _set_return_result;
  163.     somMToken _get_req_flags;
  164.     somMToken _set_req_flags;
  165.     somMToken _get_env;
  166.     somMToken _set_env;
  167. } SOMDLINK RequestClassData;
  168.  
  169. /*
  170.  * Declare the C specific class data structure
  171.  */
  172. SOMEXTERN struct RequestCClassDataStructure {
  173.     somMethodTabs parentMtab;
  174.     somDToken instanceDataToken;
  175. } SOMDLINK RequestCClassData;
  176.  
  177. /*
  178.  * New and Renew macros for Request
  179.  */
  180. #define RequestNew() \
  181.    ( _Request ? \
  182.     _somNew(_Request) \
  183.     : ( RequestNewClass(\
  184.         Request_MajorVersion, \
  185.         Request_MinorVersion),\
  186.        _somNew(_Request)))
  187. #define RequestRenew(buf) \
  188.    ( _Request ? \
  189.     _somRenew(_Request, buf) \
  190.     : ( RequestNewClass(\
  191.         Request_MajorVersion, \
  192.         Request_MinorVersion),\
  193.        _somRenew(_Request, buf)))
  194.  
  195. /*
  196.  * Override method: somInit
  197.  */
  198. #define Request_somInit(somSelf) \
  199.     SOMObject_somInit(somSelf)
  200.  
  201. /*
  202.  * Override method: somUninit
  203.  */
  204. #define Request_somUninit(somSelf) \
  205.     SOMObject_somUninit(somSelf)
  206.  
  207. /*
  208.  * New Method: add_arg
  209.  */
  210. typedef ORBStatus   SOMLINK somTP_Request_add_arg(Request *somSelf, Environment *ev, 
  211.         Identifier name, 
  212.         TypeCode arg_type, 
  213.         void* value, 
  214.         long len, 
  215.         Flags arg_flags);
  216. #pragma linkage(somTP_Request_add_arg, system)
  217. typedef somTP_Request_add_arg *somTD_Request_add_arg;
  218. /*
  219.  *  Incrementally adds an arg to the Request.
  220.  *  The Request must have been created using the "create_request"
  221.  *  method, with an empty argument list.  (We can't add args to a
  222.  *  list that was passed in to the create_request call. [pg. 109])
  223.  */
  224. #define somMD_Request_add_arg "::Request::add_arg"
  225. #define Request_add_arg(somSelf,ev,name,arg_type,value,len,arg_flags) \
  226.     (SOM_Resolve(somSelf, Request, add_arg) \
  227.     (somSelf,ev,name,arg_type,value,len,arg_flags))
  228. #ifndef SOMGD_add_arg
  229.     #if (defined(_add_arg) || defined(__add_arg))
  230.         #undef _add_arg
  231.         #undef __add_arg
  232.         #define SOMGD_add_arg 1
  233.     #else
  234.         #define _add_arg Request_add_arg
  235.     #endif /* _add_arg */
  236. #endif /* SOMGD_add_arg */
  237.  
  238. /*
  239.  * New Method: invoke
  240.  */
  241. typedef ORBStatus   SOMLINK somTP_Request_invoke(Request *somSelf, Environment *ev, 
  242.         Flags invoke_flags);
  243. #pragma linkage(somTP_Request_invoke, system)
  244. typedef somTP_Request_invoke *somTD_Request_invoke;
  245. /*
  246.  *  Invokes the Request synchronously, waiting for the response.
  247.  */
  248. #define somMD_Request_invoke "::Request::invoke"
  249. #define Request_invoke(somSelf,ev,invoke_flags) \
  250.     (SOM_Resolve(somSelf, Request, invoke) \
  251.     (somSelf,ev,invoke_flags))
  252. #ifndef SOMGD_invoke
  253.     #if (defined(_invoke) || defined(__invoke))
  254.         #undef _invoke
  255.         #undef __invoke
  256.         #define SOMGD_invoke 1
  257.     #else
  258.         #define _invoke Request_invoke
  259.     #endif /* _invoke */
  260. #endif /* SOMGD_invoke */
  261.  
  262. /*
  263.  * New Method: send
  264.  */
  265. typedef ORBStatus   SOMLINK somTP_Request_send(Request *somSelf, Environment *ev, 
  266.         Flags invoke_flags);
  267. #pragma linkage(somTP_Request_send, system)
  268. typedef somTP_Request_send *somTD_Request_send;
  269. /*
  270.  *  Invokes the Request asynchronously.  The response must eventually
  271.  *  be checked by invoking get_response or get_next_response.
  272.  */
  273. #define somMD_Request_send "::Request::send"
  274. #define Request_send(somSelf,ev,invoke_flags) \
  275.     (SOM_Resolve(somSelf, Request, send) \
  276.     (somSelf,ev,invoke_flags))
  277. #ifndef SOMGD_send
  278.     #if (defined(_send) || defined(__send))
  279.         #undef _send
  280.         #undef __send
  281.         #define SOMGD_send 1
  282.     #else
  283.         #define _send Request_send
  284.     #endif /* _send */
  285. #endif /* SOMGD_send */
  286.  
  287. /*
  288.  * New Method: get_response
  289.  */
  290. typedef ORBStatus   SOMLINK somTP_Request_get_response(Request *somSelf, Environment *ev, 
  291.         Flags response_flags);
  292. #pragma linkage(somTP_Request_get_response, system)
  293. typedef somTP_Request_get_response *somTD_Request_get_response;
  294. /*
  295.  *  Determines whether an asynchronous Request has completed.
  296.  */
  297. #define somMD_Request_get_response "::Request::get_response"
  298. #define Request_get_response(somSelf,ev,response_flags) \
  299.     (SOM_Resolve(somSelf, Request, get_response) \
  300.     (somSelf,ev,response_flags))
  301. #ifndef SOMGD_get_response
  302.     #if (defined(_get_response) || defined(__get_response))
  303.         #undef _get_response
  304.         #undef __get_response
  305.         #define SOMGD_get_response 1
  306.     #else
  307.         #define _get_response Request_get_response
  308.     #endif /* _get_response */
  309. #endif /* SOMGD_get_response */
  310.  
  311. /*
  312.  * New Method: destroy
  313.  */
  314. typedef ORBStatus   SOMLINK somTP_Request_destroy(Request *somSelf, Environment *ev);
  315. #pragma linkage(somTP_Request_destroy, system)
  316. typedef somTP_Request_destroy *somTD_Request_destroy;
  317. /*
  318.  *  Deletes the memory allocated by the ORB for the Request.
  319.  */
  320. #define somMD_Request_destroy "::Request::destroy"
  321. #define Request_destroy(somSelf,ev) \
  322.     (SOM_Resolve(somSelf, Request, destroy) \
  323.     (somSelf,ev))
  324. #ifndef SOMGD_destroy
  325.     #if (defined(_destroy) || defined(__destroy))
  326.         #undef _destroy
  327.         #undef __destroy
  328.         #define SOMGD_destroy 1
  329.     #else
  330.         #define _destroy Request_destroy
  331.     #endif /* _destroy */
  332. #endif /* SOMGD_destroy */
  333. #ifndef SOM_DONT_USE_INHERITED_MACROS
  334. #define Request_somDefaultInit SOMObject_somDefaultInit
  335. #define Request_somDestruct SOMObject_somDestruct
  336. #define Request_somDefaultCopyInit SOMObject_somDefaultCopyInit
  337. #define Request_somDefaultAssign SOMObject_somDefaultAssign
  338. #define Request_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
  339. #define Request_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
  340. #define Request_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
  341. #define Request_somDefaultConstAssign SOMObject_somDefaultConstAssign
  342. #define Request_somDefaultVAssign SOMObject_somDefaultVAssign
  343. #define Request_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
  344. #define Request_somFree SOMObject_somFree
  345. #define Request_somGetClass SOMObject_somGetClass
  346. #define Request_somGetClassName SOMObject_somGetClassName
  347. #define Request_somGetSize SOMObject_somGetSize
  348. #define Request_somIsA SOMObject_somIsA
  349. #define Request_somIsInstanceOf SOMObject_somIsInstanceOf
  350. #define Request_somRespondsTo SOMObject_somRespondsTo
  351. #define Request_somDispatch SOMObject_somDispatch
  352. #define Request_somClassDispatch SOMObject_somClassDispatch
  353. #define Request_somCastObj SOMObject_somCastObj
  354. #define Request_somResetObj SOMObject_somResetObj
  355. #define Request_somDispatchV SOMObject_somDispatchV
  356. #define Request_somDispatchL SOMObject_somDispatchL
  357. #define Request_somDispatchA SOMObject_somDispatchA
  358. #define Request_somDispatchD SOMObject_somDispatchD
  359. #define Request_somPrintSelf SOMObject_somPrintSelf
  360. #define Request_somDumpSelf SOMObject_somDumpSelf
  361. #define Request_somDumpSelfInt SOMObject_somDumpSelfInt
  362. #endif /* SOM_DONT_USE_INHERITED_MACROS */
  363.  
  364. #endif       /* SOM_Request_h */
  365.