home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / samples / som / somd / cpp / event / eventch.idl < prev    next >
Encoding:
Text File  |  1996-01-24  |  3.4 KB  |  118 lines

  1. //
  2. //   COMPONENT_NAME: somx
  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. /* %Z% %I% %W% %G% %U% [%H% %T%] */
  15. /*
  16.  *
  17.  * DISCLAIMER OF WARRANTIES.
  18.  * The following [enclosed] code is sample code created by IBM
  19.  * Corporation. This sample code is not part of any standard or IBM
  20.  * product and is provided to you solely for the purpose of assisting
  21.  * you in the development of your applications.  The code is provided
  22.  * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
  23.  * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  24.  * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
  25.  * THIS CODE.  IBM shall not be liable for any damages arising out of
  26.  * your use of the sample code, even if they have been advised of the
  27.  * possibility of such damages.
  28.  *
  29.  * DISTRIBUTION.
  30.  * This sample code can be freely distributed, copied, altered, and
  31.  * incorporated into other software, provided that it bears the above
  32.  * Copyright notice and DISCLAIMER intact.
  33.  */
  34.  
  35. #ifndef eventch_idl
  36. #define eventch_idl
  37.  
  38. #include <somobj.idl>
  39. #include <eventcom.idl>
  40.  
  41. module EventChannelAdmin  {
  42.  
  43.   interface ConsumerAdmin : SOMObject {
  44.      EventComm::EventConnection add_push_consumer(in EventComm::Consumer c);
  45.      EventComm::Supplier add_pull_consumer(in EventComm::EventConnection d);
  46.  
  47. #ifdef __SOMIDL__
  48.   implementation {
  49.     releaseorder: add_push_consumer, add_pull_consumer;
  50.  
  51.      //# Class Modifiers
  52.     callstyle = idl;
  53.     majorversion = 1;  minorversion = 1;
  54.     dllname="event.dll";
  55.       //# Method Modifiers
  56. #ifndef _WIN32      
  57.    passthru C_h_after = "#include <eventcom.ih>";
  58.    passt_hru C_xh_after = "#include <eventcom.xih>";
  59. #else
  60.    /* WIN32_USE_CLASS_RESOLVE_MACROS */
  61.    passthru C_h_after = "#define _WIN32_OPT"
  62.                         "#include <eventcom.ih>"
  63.                         "#undef _WIN32_OPT";
  64.    passthru C_xh_after = "#define _WIN32_OPT"
  65.                          "#include <eventcom.xih>"
  66.                          "#undef _WIN32_OPT";
  67. #endif   
  68.   };
  69. #endif /*  __SOMIDL__   */
  70.   };
  71.  
  72.   interface SupplierAdmin : SOMObject {
  73.     EventComm::EventConnection add_pull_supplier(in EventComm::Supplier s);
  74.     EventComm::Consumer add_push_supplier (in EventComm::EventConnection d);
  75.  
  76. #ifdef __SOMIDL__
  77.   implementation {
  78.     releaseorder: add_pull_supplier, add_push_supplier;
  79.  
  80.     //# Class Modifiers
  81.     callstyle = idl;
  82.     majorversion = 1;  minorversion = 1;
  83.     dllname="event.dll";
  84.       //# Method Modifiers
  85.  
  86.     
  87.   };
  88. #endif /* __SOMIDL__   */
  89.   };
  90.  
  91.   interface EventChannel : SOMObject {
  92.     ConsumerAdmin  for_consumers();
  93.     SupplierAdmin  for_suppliers();
  94.     void  destroy();
  95.  
  96. #ifdef __SOMIDL__
  97.   implementation {
  98.     releaseorder: for_consumers, for_suppliers, destroy;
  99.  
  100.     //# instance variables
  101.      ConsumerAdmin  cons_admin;
  102.      SupplierAdmin  supp_admin;
  103.  
  104.     //# Class Modifiers
  105.     callstyle = idl;
  106.     majorversion = 1;  minorversion = 1;
  107.     dllname="event.dll";
  108.       //# Method Modifiers
  109.   
  110.   };
  111. #endif /* __SOMIDL__   */
  112.   };
  113.  
  114. };  /*  module EventChannelAdmin */
  115.  
  116. #endif /*  eventch_idl   */
  117.  
  118.