//
//   COMPONENT_NAME: some
//
//   ORIGINS: 27
//
//
//   10H9767, 10H9769  (C) COPYRIGHT International Business Machines Corp. 1992,1994
//   All Rights Reserved
//   Licensed Materials - Property of IBM
//   US Government Users Restricted Rights - Use, duplication or
//   disclosure restricted by GSA ADP Schedule Contract with IBM Corp.
//
//#  @(#) somc/scunion.idl 2.6 9/1/94 19:35:23 [9/21/94 17:47:12]
#ifndef scunion_idl
#define scunion_idl
#include <scentry.idl>
interface SOMTDataEntryC;
interface SOMTUnionEntryC : SOMTEntryC
{
  struct somtLabelList {
    string label;
    somtLabelList *nextLabel;
  };
  // Linked list of case labels.
  struct somtCaseEntry {
    somtLabelList *caseLabels;  // The labels for this case.
    SOMTEntryC memberType;       // The type of the member.
    SOMTDataEntryC memberDeclarator; // The declarator for the member.
  };
  // A case for the union.
  readonly attribute SOMTEntryC somtSwitchType;
  // The switch type of the union.
  somtCaseEntry *somtGetFirstCaseEntry();
  // The first case for the union.
  somtCaseEntry *somtGetNextCaseEntry();
  // The next case for the union, relative to the previous
  // call to this method or to somtGetFirstCaseEntry.
#ifdef __SOMIDL__
  implementation {
    releaseorder: _get_somtSwitchType, somtGetFirstCaseEntry, somtGetNextCaseEntry;
    //# Class Modifiers
    majorversion = 2;
    minorversion = 1;
    filestem = scunion;
    callstyle = oidl;
    //# Method Modifiers
    somDumpSelfInt: override;
    somtSetSymbolsOnEntry: override;
    //# Attribute Modifiers
    somtSwitchType: nodata;
    /* passthru C_h_before = "#include <scentry.h>"; */
  };
#endif /* __SOMIDL__ */
};
#endif  /* scunion*/























































