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