home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / orb.idl < prev    next >
Encoding:
Text File  |  1996-02-21  |  3.5 KB  |  133 lines

  1. //
  2. //   COMPONENT_NAME: somd
  3. //
  4. //   ORIGINS: 27
  5. //
  6. //
  7. //   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
  8. //   All Rights Reserved
  9. //   Licensed Materials - Property of IBM
  10. //   US Government Users Restricted Rights - Use, duplication or
  11. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  12. //
  13.  
  14. //   Interface for ORB pseudo-object, from CORBA document (8.1).
  15.  
  16.  
  17. #ifndef orb_idl
  18. #define orb_idl
  19.  
  20. #include <somobj.idl>
  21. #include <somdtype.idl>
  22. #include <snglicls.idl>
  23.  
  24. interface OperationDef;
  25. interface SOMDObject;
  26. interface NVList;
  27. interface Context;
  28.  
  29. interface ORB : SOMObject
  30. {
  31.   string object_to_string(in SOMDObject obj);
  32.  
  33.   // Converts an object reference to its external form.
  34.   // OWNERSHIP of allocated memory is transferred to the caller.
  35.   // Use ORBfree to release the allocated memory.
  36.  
  37.   SOMDObject string_to_object(in string str);
  38.  
  39.   // Converts externalized form back to an object reference.
  40.  
  41.   ORBStatus create_list(in long count, out NVList new_list);
  42.  
  43.   // Creates a NamedValue list, of specified size,
  44.   // for use in Requests.
  45.   // OWNERSHIP of allocated "new_list" is transferred to the caller.
  46.  
  47.   ORBStatus create_operation_list(in OperationDef oper, out NVList new_list);
  48.  
  49.   // Creates a NamedValue list for the specified operation,
  50.   // for use in Requests invoking that operation.
  51.   // OWNERSHIP of allocated "new_list" is transferred to the caller.
  52.  
  53.   ORBStatus get_default_context(out Context ctx);
  54.  
  55.   // Get default context.
  56.   // OWNERSHIP of allocated Context object is transferred to the caller.
  57.  
  58.  
  59. #ifdef __SOMIDL__
  60.  
  61.   implementation
  62.   {
  63.     releaseorder: object_to_string, string_to_object,
  64.                   create_list, create_operation_list, get_default_context,
  65.           object_to_binary, binary_to_object ;
  66.  
  67.     callstyle = idl;
  68.     metaclass = SOMMSingleInstance;
  69.     dllname = "somd.dll";
  70.     majorversion = 2;
  71.     minorversion = 1;
  72.  
  73.     passthru C_h_after = ""
  74.       "#ifdef SOM_STRICT_IDL"
  75. #if defined (_WIN16)
  76.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  77.       "SOMEXTERN ORB * SOMLINK SOMD_ORBObjectResolve(void);"
  78. #elif defined (_WIN32)
  79.       "SOMEXTERN WIN32_DLLIMPORT ORB SOMD_ORBObject;"
  80. #else
  81.       "SOMEXTERN ORB   SOMD_ORBObject;"
  82. #endif
  83.       "#else"
  84. #if defined (_WIN16)
  85.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  86.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  87. #elif defined (_WIN32)
  88.       "SOMEXTERN WIN32_DLLIMPORT ORB * SOMD_ORBObject;"
  89. #else
  90.       "SOMEXTERN ORB * SOMD_ORBObject;"
  91. #endif
  92.       "#endif /* SOM_STRICT_IDL */"
  93.       ""
  94.       "#include <somdobj.h>"
  95.       "";
  96.  
  97.     passthru C_xh_after = ""
  98.       "class ORB;"
  99. #if defined (_WIN16)
  100.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  101.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  102. #elif defined (_WIN32)
  103.       "SOMEXTERN WIN32_DLLIMPORT ORB * SOMD_ORBObject;"
  104. #else
  105.       "SOMEXTERN ORB * SOMD_ORBObject;"
  106. #endif
  107.       ""
  108.       "#include <somdobj.xh>"
  109.       "";
  110.  
  111.     passthru C_hh_after = ""
  112.       "class ORB;"
  113. #if defined (_WIN16)
  114.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  115.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  116. #elif defined (_WIN32)
  117.       "SOMEXTERN WIN32_DLLIMPORT ORB * SOMD_ORBObject;"
  118. #else
  119.       "SOMEXTERN ORB * SOMD_ORBObject;"
  120. #endif
  121.       ""
  122.       "#include <somdobj.hh>"
  123.       "";
  124.  
  125.  
  126.   };
  127.  
  128. #endif /* __SOMIDL__ */
  129.  
  130. };
  131.  
  132. #endif  /* orb_idl */
  133.