home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / samples / som / somd / cpp / stack / stack.idl < prev    next >
Encoding:
Text File  |  1996-01-24  |  1.9 KB  |  59 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. /* %Z% %I% %W% %G% %U% [%H% %T%] */
  14. /*
  15.  *
  16.  * DISCLAIMER OF WARRANTIES.
  17.  * The following [enclosed] code is sample code created by IBM
  18.  * Corporation. This sample code is not part of any standard or IBM
  19.  * product and is provided to you solely for the purpose of assisting
  20.  * you in the development of your applications.  The code is provided
  21.  * "AS IS". IBM MAKES NO WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT
  22.  * NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
  23.  * FOR A PARTICULAR PURPOSE, REGARDING THE FUNCTION OR PERFORMANCE OF
  24.  * THIS CODE.  IBM shall not be liable for any damages arising out of
  25.  * your use of the sample code, even if they have been advised of the
  26.  * possibility of such damages.
  27.  *
  28.  * DISTRIBUTION.
  29.  * This sample code can be freely distributed, copied, altered, and
  30.  * incorporated into other software, provided that it bears the above
  31.  * Copyright notice and DISCLAIMER intact.
  32.  */
  33.  
  34. #include <somobj.idl>
  35.  
  36. interface Stack: SOMObject {
  37.  
  38.   const long stackSize = 100;
  39.   exception  STACK_OVERFLOW{};        
  40.   exception  STACK_UNDERFLOW{};                
  41.   boolean full();
  42.   boolean empty();
  43.   long top() raises(STACK_UNDERFLOW);        
  44.   long pop() raises(STACK_UNDERFLOW);            
  45.   void push(in long el) raises(STACK_OVERFLOW);        
  46.  
  47.   #ifdef __SOMIDL__
  48.     implementation {
  49.       releaseorder: full, empty, top, pop, push;
  50.       somDefaultInit: override;
  51.       long stackTop;                                
  52.       long stackimpl[stackSize];
  53.       dllname = "stack.dll";
  54.       memory_management = corba;
  55.     };
  56.   #endif
  57.  
  58. };
  59.