home *** CD-ROM | disk | FTP | other *** search
/ Power GUI Programming with VisualAge C++ / powergui.iso / trialva / ibmcppw / include / scunion.idl < prev    next >
Encoding:
Text File  |  1996-02-21  |  1.6 KB  |  68 lines

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