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

  1. /*
  2.  *    @(#) 1.4 src/somd/comm_fw/include/formarsh.idl, somd, som3.0 12/28/95 13:23:06 [12/24/96 08:10:58]
  3.  */
  4. //
  5. //   COMPONENT_NAME: somd
  6. //
  7. //   ORIGINS: 27
  8. //
  9. //
  10. //    25H7912  (C)  COPYRIGHT International Business Machines Corp. 1992,1996,1996  
  11. //   All Rights Reserved
  12. //   Licensed Materials - Property of IBM
  13. //   US Government Users Restricted Rights - Use, duplication or
  14. //   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
  15. //
  16.  
  17.  
  18. #ifndef _SOMDForeignMarshaler_idl_
  19. #define _SOMDForeignMarshaler_idl_
  20.  
  21. #include <somdtype.idl>
  22. #include <somestio.idl>
  23.  
  24.   interface SOMDForeignMarshaler : SOMObject {
  25.  
  26.   // An abstract base class for dynamic foreign marshallers, to be
  27.   // subclasses by users to provide marshalling for SOMFOREIGN datatypes.
  28.   // The subclass name is to be specified in the "impctx" IDL modifier
  29.   // for the SOMFOREIGN type.
  30.  
  31.       void marshal (in string latent_param,
  32.                      in somToken dataPtr,
  33.                      in SOMD::marshaling_direction_t direction,
  34.                      in SOMD::marshaling_op_t function,
  35.                      in CosStream::StreamIO streamio);
  36.  
  37.       // This method is to be overriden by subclasses to provide a 
  38.       // marshalling function for some SOMFOREIGN datatype.
  39.       // The default implementation returns a NO_IMPLEMENT error.
  40.       // The latent_param parameter is passed by DSOM to the marshal method;
  41.       // its value can designate to the marshal method which SOMFOREIGN
  42.       // type is to be marshaled, as specified in the "impctx" IDL
  43.       // modifier for the SOMFOREIGN type.
  44.       // The dataPtr parameter is the foreign data to be marshalled.
  45.       // The direction parameter indicates whether the data is to be 
  46.       // marshalled, demarshalled, or freed.
  47.       // The streamio parameter is a StreamIO object to/from which the
  48.       // foreign data is to be marshalled/demarshalled.
  49.  
  50.  
  51.  
  52. #ifdef __SOMIDL__
  53.     implementation {
  54.         releaseorder: marshal;
  55.         callstyle = idl;
  56.         dllname   = "somdcomm.dll";
  57.         majorversion = 3;
  58.         minorversion = 0;
  59.     passthru C_h_after = "#include <somdtype.h>"
  60.                  "#include <somestio.h>"
  61.                  "";
  62.     };
  63. #endif /* __SOMIDL__ */
  64.   };
  65.  
  66. #endif /* _SOMDForeignMarshaler_idl_ */
  67.