home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / som.hc < prev    next >
Encoding:
Text File  |  1996-02-20  |  1.7 KB  |  77 lines

  1. #ifndef som_h  
  2. #define SOM_STRICT_IDL 1 
  3. #endif 
  4. /*
  5.  *   COMPONENT_NAME: somk
  6.  *
  7.  *   ORIGINS: 27
  8.  *
  9.  *
  10.  *   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  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. /* %Z% %I% %W% %G% %U% [%H% %T%] */
  17.  
  18. /*
  19.  */
  20.  
  21. /*
  22.  *    SOM.H
  23.  *    First level include file for System Object Model
  24.  *    Multiple Inheritance Version
  25.  */
  26.  
  27. #ifndef som_h
  28. #define som_h
  29.  
  30. #if (_MSC_VER >= 900)
  31.   #pragma warning(disable:4273) 
  32. #endif
  33.  
  34. #include <somnames.h>
  35. #include <somltype.h>
  36. #include <somtypes.h>
  37. #include <somcdev.h>
  38. #include <somcorba.h>
  39. #include <somapi.h>
  40.  
  41. #ifndef _WIN32
  42. #include <somport.h>  /* Remove from product version */
  43. #endif
  44.  
  45. /*
  46.  * C usage bindings for the primitive classes are responsible
  47.  * for indicating the coding style they support (i.e., original vs.
  48.  * CORBA style) by #defining SOM_STRICT_IDL if the CORBA style of
  49.  * usage bindings is desired. Thus, when this file (som.h) is 
  50.  * included by C usage bindings, the following #ifdef provides
  51.  * definitions for the primitive classes appropriate to the
  52.  * usage bindings.
  53.  */
  54.  
  55. #ifdef SOM_STRICT_IDL
  56.  
  57.    #undef SOMObject
  58.    #undef SOMClass
  59.    #undef SOMClassMgr
  60.  
  61.    typedef SOMAny *SOMAnyStrict;
  62.  
  63.    #define SOMObject SOMAnyStrict
  64.    #define SOMClass SOMAnyStrict
  65.    #define SOMClassMgr SOMAnyStrict
  66.  
  67. #endif
  68.  
  69. #ifndef SOM_NO_OBJECTS
  70.    #define SOMObject_VA_EXTERN
  71.    #include <somobj.h>
  72.    #include <somcls.h>
  73.    #include <somcm.h>
  74. #endif /* !SOM_NO_OBJECTS */
  75.  
  76. #endif /* som_h */
  77.