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

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