home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / orb.idl < prev    next >
Text File  |  1999-02-22  |  3KB  |  118 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. //#  @(#) 2.10.1.1 src/somd/orb.idl, somd, som2.1 4/1/95 14:52:38 [7/30/96 14:45:31]
  14.  
  15.  
  16.  
  17. //   Interface for ORB pseudo-object, from CORBA document (8.1).
  18.  
  19.  
  20. #ifndef orb_idl
  21. #define orb_idl
  22.  
  23. #include <somobj.idl>
  24. #include <somdtype.idl>
  25. #include <snglicls.idl>
  26.  
  27. interface OperationDef;
  28. interface SOMDObject;
  29. interface NVList;
  30. interface Context;
  31.  
  32. interface ORB : SOMObject
  33. {
  34.   string object_to_string(in SOMDObject obj);
  35.  
  36.   // Converts an object reference to its external form.
  37.   // OWNERSHIP of allocated memory is transferred to the caller.
  38.   // Use ORBfree to release the allocated memory.
  39.  
  40.   SOMDObject string_to_object(in string str);
  41.  
  42.   // Converts externalized form back to an object reference.
  43.  
  44.   ORBStatus create_list(in long count, out NVList new_list);
  45.  
  46.   // Creates a NamedValue list, of specified size,
  47.   // for use in Requests.
  48.   // OWNERSHIP of allocated "new_list" is transferred to the caller.
  49.  
  50.   ORBStatus create_operation_list(in OperationDef oper, out NVList new_list);
  51.  
  52.   // Creates a NamedValue list for the specified operation,
  53.   // for use in Requests invoking that operation.
  54.   // OWNERSHIP of allocated "new_list" is transferred to the caller.
  55.  
  56.   ORBStatus get_default_context(out Context ctx);
  57.  
  58.   // Get default context.
  59.   // OWNERSHIP of allocated Context object is transferred to the caller.
  60.  
  61.  
  62. #ifdef __SOMIDL__
  63.  
  64.   implementation
  65.   {
  66.     releaseorder: object_to_string, string_to_object,
  67.                   create_list, create_operation_list, get_default_context,
  68.           object_to_binary, binary_to_object ;
  69.   
  70.     //# Class Modifiers
  71.     callstyle = idl;
  72.     metaclass = SOMMSingleInstance;
  73.     dllname = "somd.dll";
  74.     majorversion = 2;
  75.     minorversion = 1;
  76.   
  77.     //# Passthrus
  78.     passthru C_h_after = ""
  79.       "#ifdef SOM_STRICT_IDL"
  80. #ifdef _WIN16
  81.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  82.       "SOMEXTERN ORB * SOMLINK SOMD_ORBObjectResolve(void);"
  83. #else
  84.       "SOMEXTERN ORB   SOMD_ORBObject;"
  85. #endif
  86.       "#else"
  87. #ifdef _WIN16
  88.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  89.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  90. #else
  91.       "SOMEXTERN ORB * SOMD_ORBObject;"
  92. #endif
  93.       "#endif /* SOM_STRICT_IDL */"
  94.       ""
  95.       "#include <somdobj.h>"
  96.       "";
  97.  
  98.     passthru C_xh_after = ""
  99.       "class ORB;"
  100. #ifdef _WIN16
  101.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  102.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  103. #else
  104.       "SOMEXTERN ORB * SOMD_ORBObject;"
  105. #endif
  106.       ""
  107.       "#include <somdobj.xh>"
  108.       "";
  109.  
  110.  
  111.   };
  112.  
  113. #endif /* __SOMIDL__ */
  114.  
  115. };
  116.  
  117. #endif  /* orb_idl */
  118.