home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / somdom.idl < prev    next >
Text File  |  1999-02-22  |  4KB  |  130 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.11 src/somd/somdom.idl, somd, som2.1 4/1/95 14:53:25 [7/30/96 14:45:48]
  14.  
  15.  
  16. //   IDL interface spec for DSOM Distributed Object Manager.
  17. // 
  18. // 
  19. //   This is a subclass of the abstract ObjectMgr class.
  20. //   All ObjectMgr methods are implemented with DSOM calls.
  21.  
  22.  
  23.  
  24. #ifndef somdom_idl
  25. #define somdom_idl
  26.  
  27. #include <om.idl>
  28.  
  29. interface SOMDServer;
  30.  
  31. interface SOMDObjectMgr : ObjectMgr
  32. {
  33.  
  34.   // In addition to the basic ObjectMgr interface, the DSOM ObjectMgr
  35.   // defines the following methods to find remote server objects:
  36.  
  37.   SOMDServer somdFindServer(in ImplId serverid);
  38.   
  39.   // Finds and returns a proxy to the Server object which is identified by the 
  40.   // ImplId.  (ImplId is defined at server registration time, and can be 
  41.   // obtained from the ImplDef.)
  42.   //
  43.   // OWNERSHIP of returned SOMDServer object is transferred to the caller.
  44.  
  45.   SOMDServer somdFindServerByName(in string servername);
  46.   
  47.   // Finds and returns a proxy to the Server object with the specified name.
  48.   // (The name is defined at server registration time, and can be obtained
  49.   // from the ImplDef.)
  50.   //
  51.   // OWNERSHIP of returned SOMDServer object is transferred to the caller.
  52.  
  53.   sequence<SOMDServer>  somdFindServersByClass(in Identifier objclass);
  54.   
  55.   // Finds all Server objects which can create an object of the named class.
  56.   //
  57.   // OWNERSHIP of returned SOMDServer objects is transferred to the caller.
  58.  
  59.   SOMDServer somdFindAnyServerByClass(in Identifier objclass);
  60.   
  61.   // Finds (any) Server object which can create an object of the named class.
  62.   // (This is a specialization of the somdFindServerByClass method.)
  63.   //
  64.   // OWNERSHIP of returned SOMDServer object is transferred to the caller.
  65.  
  66.   attribute boolean somd21somFree;
  67.  
  68. #ifdef __SOMIDL__
  69.  
  70.   implementation
  71.   {
  72.     releaseorder: somdFindServer, somdFindServerByName, 
  73.                   somdFindServersByClass, somdFindAnyServerByClass,
  74.           _get_somd21somFree, _set_somd21somFree;
  75.  
  76.     //# Class Modifiers
  77.     callstyle = idl;
  78.     dllname = "somd.dll";
  79.     majorversion = 2;
  80.     minorversion = 1;
  81.   
  82.     //# Method Modifiers
  83.     somInit: override;
  84.     somdNewObject: override;
  85.     somdGetIdFromObject: override;
  86.     somdGetObjectFromId: override;
  87.     somdReleaseObject: override;
  88.     somdDestroyObject: override;
  89.   
  90.     //# Passthrus
  91.     passthru C_h_after =  ""
  92.       "#ifdef SOM_STRICT_IDL"
  93. #ifdef _WIN16
  94.       "#define SOMD_ObjectMgr (*SOMD_ObjectMgrResolve())"
  95.       "SOMEXTERN SOMDObjectMgr * SOMLINK SOMD_ObjectMgrResolve(void);"
  96. #else
  97.       "SOMEXTERN SOMDObjectMgr   SOMDLINK SOMD_ObjectMgr;"
  98. #endif
  99.       "#else"
  100. #ifdef _WIN16
  101.       "#define SOMD_ObjectMgr (*SOMD_ObjectMgrResolve())"
  102.       "SOMEXTERN SOMDObjectMgr ** SOMLINK SOMD_ObjectMgrResolve(void);"
  103. #else
  104.       "SOMEXTERN SOMDObjectMgr *  SOMDLINK SOMD_ObjectMgr;"
  105. #endif
  106.       "#endif /* SOM_STRICT_IDL */"
  107.       ""
  108.       "#include <somdserv.h>"
  109.       "";
  110.  
  111.     passthru C_xh_after =  ""
  112.       "class SOMDObjectMgr;"
  113. #ifdef _WIN16
  114.       "#define SOMD_ObjectMgr (*SOMD_ObjectMgrResolve())"
  115.       "SOMEXTERN SOMDObjectMgr ** SOMLINK SOMD_ObjectMgrResolve(void);"
  116. #else
  117.       "SOMEXTERN SOMDObjectMgr * SOMDLINK SOMD_ObjectMgr;"
  118. #endif
  119.       ""
  120.       "#include <somdserv.xh>"
  121.       "";
  122.  
  123.   };
  124.  
  125. #endif /* __SOMIDL__ */
  126.  
  127. };
  128.  
  129. #endif  /* somdom_idl */
  130.