home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / som / include / scunion.idl < prev    next >
Text File  |  1999-02-22  |  2KB  |  74 lines

  1. //
  2. //   COMPONENT_NAME: some
  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. //#  @(#) somc/scunion.idl 2.7 12/26/95 16:26:39 [7/30/96 14:46:04]
  14.  
  15.  
  16. #ifndef scunion_idl
  17. #define scunion_idl
  18.  
  19. #include <scentry.idl>
  20.  
  21. interface SOMTDataEntryC;
  22.  
  23. interface SOMTUnionEntryC : SOMTEntryC
  24. {
  25.   struct somtLabelList {
  26.     string label;
  27.     somtLabelList *nextLabel;
  28.   };
  29.   // Linked list of case labels.
  30.  
  31.   struct somtCaseEntry {
  32.     somtLabelList *caseLabels;  // The labels for this case.
  33.     SOMTEntryC memberType;       // The type of the member.
  34.     SOMTDataEntryC memberDeclarator; // The declarator for the member.
  35.   };
  36.   // A case for the union.
  37.  
  38.   readonly attribute SOMTEntryC somtSwitchType;
  39.   // The switch type of the union.
  40.  
  41.   somtCaseEntry *somtGetFirstCaseEntry();
  42.   // The first case for the union.
  43.  
  44.   somtCaseEntry *somtGetNextCaseEntry();
  45.   // The next case for the union, relative to the previous
  46.   // call to this method or to somtGetFirstCaseEntry.
  47.  
  48. #ifdef __SOMIDL__
  49.   implementation {
  50.     releaseorder: _get_somtSwitchType, somtGetFirstCaseEntry, somtGetNextCaseEntry;
  51.   
  52.     //# Class Modifiers
  53.     majorversion = 2;
  54.     minorversion = 1;
  55.     filestem = scunion;
  56.     callstyle = oidl;
  57.   
  58.     //# Method Modifiers
  59.     somDumpSelfInt: override;
  60.     somtSetSymbolsOnEntry: override;
  61.   
  62.     //# Attribute Modifiers
  63.     somtSwitchType: nodata;
  64.  
  65.     /* passthru C_h_before = "#include <scentry.h>"; */
  66.  
  67.  
  68.   };
  69. #endif /* __SOMIDL__ */
  70. };
  71.  
  72.  
  73. #endif  /* scunion*/
  74.