home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / boa.idl < prev    next >
Text File  |  1996-12-24  |  3KB  |  98 lines

  1. //
  2. //   COMPONENT_NAME: somd
  3. //
  4. //   ORIGINS: 27
  5. //
  6. //
  7. //    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1994,1996 
  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.14 src/somd/boa.idl, somd, som3.0 9/26/96 14:01:21 [12/24/96 07:39:21]
  14.  
  15. //#  BOA is a PUBLIC class derived from SOMObject.
  16. //
  17. //   This is an abstract class which defines the CORBA-defined interface
  18. //   for a Basic Object Adapter.  The SOM Object Adapter interface is
  19. //   derived from this one.  SOMOA provides the actual implementation in DSOM.
  20.  
  21.  
  22. #ifndef boa_idl
  23. #define boa_idl
  24.  
  25. #include <somobj.idl>
  26. #include <somdtype.idl>
  27. #include <snglicls.idl>
  28.  
  29. interface SOMDObject;
  30. interface Principal;
  31. interface ImplementationDef;
  32. interface InterfaceDef;
  33. interface Context;
  34.  
  35. interface BOA : SOMObject
  36. {
  37.   SOMDObject create(in ReferenceData id, in InterfaceDef intf,
  38.             in ImplementationDef impl);
  39.   // Creates a SOMDObject which is used as as "reference" to a local
  40.   // application object.  An object reference is simply an object
  41.   // which is used to refer to another target object.
  42.  
  43.   void dispose(in SOMDObject obj);
  44.   // Destroys an object reference.
  45.  
  46.   ReferenceData get_id(in SOMDObject obj);
  47.   // Returns ReferenceData associated with referenced object.
  48.  
  49.   Principal get_principal(in SOMDObject obj, in Environment req_ev);
  50.   // Returns the ID of the principal that issued the request.
  51.  
  52.   void set_exception(in exception_type major, in string userid, in void *param);
  53.   // Returns an exception to the client.
  54.  
  55.   void impl_is_ready(in ImplementationDef impl);
  56.   // Indicates that the implementation is now ready to process requests.
  57.  
  58.   void deactivate_impl(in ImplementationDef impl);
  59.   // Indicates that the implementation is no longer ready to process reqs.
  60.  
  61.   void change_implementation(in SOMDObject obj, in ImplementationDef impl);
  62.   // Changes the implementation associated with the referenced object.
  63.   // Change is seen for all copies of the object reference.
  64.   // (NOTE: Null implementation in this release of DSOM.)
  65.  
  66.   void obj_is_ready(in SOMDObject obj, in ImplementationDef impl);
  67.   // Indicates that the object is ready to process requests.
  68.   // (NOTE: Null implementation in this release of DSOM.)
  69.  
  70.   void deactivate_obj(in SOMDObject obj);
  71.   // Indicates that the object is no longer ready to process requests.
  72.   // (NOTE: Null implementation in this release of DSOM.)
  73.  
  74. #ifdef __SOMIDL__
  75.  
  76.   implementation
  77.   {
  78.     releaseorder: create, dispose, get_id,
  79.                   change_implementation,
  80.           get_principal, set_exception,
  81.           impl_is_ready, deactivate_impl,
  82.           obj_is_ready, deactivate_obj,
  83.           unused1, unused2;
  84.  
  85.     //# Class Modifiers
  86.     callstyle = idl;
  87.     metaclass = SOMMSingleInstance;
  88.     dllname = "somd.dll";
  89.     majorversion = 2;
  90.     minorversion = 2;
  91.   };
  92.  
  93. #endif /* __SOMIDL__ */
  94.  
  95. };
  96.  
  97. #endif  /* boa_idl */
  98.