home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / som30tk.zip / som30os2.zip / include / scunion.idl < prev    next >
Text File  |  1996-12-24  |  2KB  |  77 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.8 5/9/96 15:31:34 [12/24/96 07:39:52]
  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. #ifdef _WIN32
  57.     dllname = "some.dll";
  58. #endif
  59.     callstyle = oidl;
  60.   
  61.     //# Method Modifiers
  62.     somDumpSelfInt: override;
  63.     somtSetSymbolsOnEntry: override;
  64.   
  65.     //# Attribute Modifiers
  66.     somtSwitchType: nodata;
  67.  
  68.     /* passthru C_h_before = "#include <scentry.h>"; */
  69.  
  70.  
  71.   };
  72. #endif /* __SOMIDL__ */
  73. };
  74.  
  75.  
  76. #endif  /* scunion*/
  77.