home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warptlk3.zip / TOOLKIT / SOM / INCLUDE / ORB.IDL < prev    next >
Text File  |  1995-08-24  |  3KB  |  86 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. //   Interface for ORB pseudo-object, from CORBA document (8.1).
  14. #ifndef orb_idl
  15. #define orb_idl
  16. #include <somobj.idl>
  17. #include <somdtype.idl>
  18. #include <snglicls.idl>
  19. interface OperationDef;
  20. interface SOMDObject;
  21. interface NVList;
  22. interface Context;
  23. interface ORB : SOMObject
  24. {
  25.   string object_to_string(in SOMDObject obj);
  26.   // Converts an object reference to its external form.
  27.   // OWNERSHIP of allocated memory is transferred to the caller.
  28.   // Use ORBfree to release the allocated memory.
  29.   SOMDObject string_to_object(in string str);
  30.   // Converts externalized form back to an object reference.
  31.   ORBStatus create_list(in long count, out NVList new_list);
  32.   // Creates a NamedValue list, of specified size,
  33.   // for use in Requests.
  34.   // OWNERSHIP of allocated "new_list" is transferred to the caller.
  35.   ORBStatus create_operation_list(in OperationDef oper, out NVList new_list);
  36.   // Creates a NamedValue list for the specified operation,
  37.   // for use in Requests invoking that operation.
  38.   // OWNERSHIP of allocated "new_list" is transferred to the caller.
  39.   ORBStatus get_default_context(out Context ctx);
  40.   // Get default context.
  41.   // OWNERSHIP of allocated Context object is transferred to the caller.
  42. #ifdef __SOMIDL__
  43.   implementation
  44.   {
  45.     releaseorder: object_to_string, string_to_object,
  46.                   create_list, create_operation_list, get_default_context,
  47.           object_to_binary, binary_to_object ;
  48.     callstyle = idl;
  49.     metaclass = SOMMSingleInstance;
  50.     dllname = "somd.dll";
  51.     majorversion = 2;
  52.     minorversion = 1;
  53.     passthru C_h_after = ""
  54.       "#ifdef SOM_STRICT_IDL"
  55. #ifdef _WIN16
  56.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  57.       "SOMEXTERN ORB * SOMLINK SOMD_ORBObjectResolve(void);"
  58. #else
  59.       "SOMEXTERN ORB   SOMD_ORBObject;"
  60. #endif
  61.       "#else"
  62. #ifdef _WIN16
  63.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  64.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  65. #else
  66.       "SOMEXTERN ORB * SOMD_ORBObject;"
  67. #endif
  68.       "#endif /* SOM_STRICT_IDL */"
  69.       ""
  70.       "#include <somdobj.h>"
  71.       "";
  72.     passthru C_xh_after = ""
  73. #ifdef _WIN16
  74.       "#define SOMD_ORBObject (*SOMD_ORBObjectResolve())"
  75.       "SOMEXTERN ORB * * SOMLINK SOMD_ORBObjectResolve(void);"
  76. #else
  77.       "SOMEXTERN ORB * SOMD_ORBObject;"
  78. #endif
  79.       ""
  80.       "#include <somdobj.xh>"
  81.       "";
  82.   };
  83. #endif /* __SOMIDL__ */
  84. };
  85. #endif  /* orb_idl */
  86.