/*
 *   COMPONENT_NAME: somd
 *
 *   ORIGINS: 27
 *
 *
 *   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
 *   All Rights Reserved
 *   Licensed Materials - Property of IBM
 *   US Government Users Restricted Rights - Use, duplication or
 *   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
 */
/* @(#) 2.8 src/somd/somd.xh, somd, som2.1 9/1/94 16:55:05 [7/30/96 14:45:41] */

/*
 */


/*
 *  somd.xh - global C++ include file for DSOM definitions
 */

#ifndef somd_xh
#define somd_xh
#define somd_h

/*  --- base SOM and DSOM types ---  */

#define CORBA_FUNCTION_NAMES
#include <som.xh>
#include <somtcnst.xh>
#include <somir.xh>

#include <somdtype.xh>

/*  --- DSOM error codes ---  */

#include <somderr.h>

/*  --- DSOM externals ---  */

#include <somdext.h>

/* For DSOM users, CORBA's exception_free should be mapped to 
 * somdExceptionFree rather than somExceptionFree, as in somcorba.h.
 */
#ifdef exception_free
 #undef exception_free
#endif
#define exception_free somdExceptionFree

#ifndef OBJECT_NIL
#define OBJECT_NIL ((SOMObject *) NULL)
#endif

/*  --- DSOM global variables ---
 *
 *  Several global variables point to DSOM objects that are always or often
 *  used by DSOM applications.
 *
 *  SOMD_ObjectMgr, SOMD_ORBObject, and SOMD_ImplRepObject are initialized
 *  by SOMD_Init().
 *  
 *  SOMD_ImplDefObject is initially NULL.   DSOM servers *MUST* set this to
 *  an ImplementationDef object which describes the server implementation.
 *  DSOM clients *MUST* leave this variable NULL.
 *
 *  SOMD_SOMOAObject is initially NULL.  DSOM servers should use the SOM
 *  Object Adapter can use this variable to refer to the instantiated SOMOA.
 *  It is not used by client processes.
 *
 *  The external references to these global variables are defined in the
 *  .xh files for their respective classes.
 */

#include <somdom.xh>		/* SOMD_ObjectMgr (incl. Factory) */
#include <orb.xh>		/* SOMD_ORBObject */
#include <implrep.xh>		/* SOMD_ImplRepObject */
#include <impldef.xh>		/* SOMD_ImplDefObject */
#include <somoa.xh>		/* SOMD_SOMOAObject */

/*  --- DSOM interfaces ---
 *
 *  Include the interfaces for other commonly used DSOM classes.
 */

#include <somdobj.xh>		/* SOMDObject */
#include <somdcprx.xh>		/* SOMDClientProxy */
#include <cntxt.xh>		/* Context */
#include <nvlist.xh>		/* NVList */
#include <request.xh>		/* Request */
#include <stexcep.xh>		/* standard exceptions */

#endif /* somd_xh */
