home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / somd.h < prev    next >
C/C++ Source or Header  |  1996-12-24  |  4KB  |  126 lines

  1. /*
  2.  *    @(#) 2.24 src/somd/somd.h, somd, som3.0 4/17/96 16:16:11 [12/24/96 07:39:33]
  3.  */
  4. /*
  5.  *   COMPONENT_NAME: somd
  6.  *
  7.  *   ORIGINS: 27
  8.  *
  9.  *
  10.  *    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996 
  11.  *   All Rights Reserved
  12.  *   Licensed Materials - Property of IBM
  13.  *   US Government Users Restricted Rights - Use, duplication or
  14.  *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  15.  */
  16.  
  17. /*
  18.  *  somd.h - global include file for DSOM definitions
  19.  */
  20.  
  21. /*
  22.  *   04/17/96  mbc  D21197 Avoid name collisions with WIN32.
  23.  */
  24.  
  25. #ifndef somd_h
  26. #define somd_h
  27.  
  28. /*  --- base SOM and DSOM types ---  */
  29.  
  30. #define CORBA_FUNCTION_NAMES
  31. #include <som.h>
  32.  
  33. #include <somtcnst.h>
  34. #include <somir.h>
  35. #include <somdtype.h>
  36.  
  37. /*  --- DSOM error codes ---  */
  38.  
  39. #include <somderr.h>
  40.  
  41. /*  --- DSOM externals function prototypes ---  */
  42.  
  43. #include <somdext.h>
  44.  
  45. /* For DSOM users, CORBA's exception_free should be mapped to 
  46.  * somdExceptionFree rather than somExceptionFree, as in somcorba.h.
  47.  */
  48. #ifdef exception_free
  49. #undef exception_free
  50. #endif
  51. #define exception_free somdExceptionFree
  52.  
  53. #ifndef OBJECT_NIL
  54. #define OBJECT_NIL NULL
  55. #endif
  56.  
  57. /*  --- DSOM global variables ---
  58.  *
  59.  *  Several global variables point to DSOM objects that are always or often
  60.  *  used by DSOM applications.
  61.  *
  62.  *  SOMD_ObjectMgr, SOMD_ORBObject, and SOMD_ImplRepObject are initialized
  63.  *  by SOMD_Init().  (The use of SOMD_ObjectMgr is discouraged in this release,
  64.  *  and may be removed in a future release.)
  65.  *
  66.  *  SOMD_ImplDefObject is initially NULL.   DSOM servers *MUST* set this to
  67.  *  an ImplementationDef object which describes the server implementation.
  68.  *  DSOM clients *MUST* leave this variable NULL.
  69.  *
  70.  *  SOMD_SOMOAObject is initially NULL.  DSOM servers 
  71.  *  can use this variable to refer to the instantiated SOMOA object.
  72.  *  It is not used by client processes.
  73.  *
  74.  *  The external references to these global variables are defined in the
  75.  *  .h files for their respective classes.
  76.  */
  77.  
  78. #include <somdom.h>                    /* SOMD_ObjectMgr (incl. SOMDServer) */
  79. #include <orb.h>                       /* SOMD_ORBObject */
  80. #include <implrep.h>                   /* SOMD_ImplRepObject */
  81. #include <impldef.h>                   /* SOMD_ImplDefObject */
  82. #include <somoa.h>                     /* SOMD_SOMOAObject */
  83.  
  84. /*  --- DSOM interfaces ---
  85.  *
  86.  *  Interfaces for other commonly used DSOM classes.
  87.  */
  88.  
  89. #include <somdobj.h>                   /* SOMDObject */
  90. #include <somdcprx.h>                  /* SOMDClientProxy */
  91. #include <cntxt.h>                     /* Context */
  92. #include <nvlist.h>                    /* NVList */
  93. #include <request.h>                   /* Request */
  94.  
  95. /* ----------------------- WIN32 includes --------------- */
  96. #ifdef _WIN32
  97. #define WIN32_LEAN_AND_MEAN
  98. #include <windows.h>
  99. #endif                                 /* WIN32 */
  100.  
  101. #include <stexcep.h>                   /* standard exceptions */
  102. #include <principl.h>                  /* Principal object */
  103.  
  104. /* This define gives applications compiled with DSOM 3.0 the
  105.  * new, improved semantics for somFree when invoked on a proxy --
  106.  * both the remote object and the proxy are destroyed.  It also
  107.  * gives string_to_object the 3.0 semantics, returning a local
  108.  * SOMObject (rather than a SOMDObject) when invoked in a server in
  109.  * which the object resides.  
  110.  */
  111. #define SOMD_Init(ev) \
  112.     { SOMD_Init(ev); \
  113.    if (SOMD_ObjectMgr != NULL) __set_somd21somFree(SOMD_ObjectMgr, ev, TRUE); \
  114.    if (SOMD_ORBObject != NULL) __set_stringToObject30(SOMD_ORBObject, ev, TRUE); }
  115.  
  116.  
  117. /* To prevent name collisions for the method "get_response", the
  118.  * _get_response C macro is defined to invoke the Request::get_response method.
  119.  */
  120. #ifdef  _get_response
  121. #undef _get_response
  122. #endif
  123. #define _get_response(s,e,f)    Request_get_response(s,e,f)
  124.  
  125. #endif                                 /* somd_h */
  126.