//
// Copyright (c) 1997 X/Open Company Ltd., A member of The Open Group.
//
// All rights reserved. No part of this source code may be reproduced,
// stored in a retrieval system, or transmitted, in any form or by any
// means, electronic, mechanical, photocopying, recording or otherwise,
// except as stated in the end-user licence agreement, without the prior
// permission of the copyright owners.
//
// Developed for X/Open by ApTest Ireland Limited.
//
// Project: CORVAL2
//


union Broadbeans switch (
  enum Fennell{
    UgliFruit,
    Chickpea,
    Waterchestnut,
    Cress,
    BambooShoot,
    BeechNut,
    KidneyBean,
    Onion,
    Sweetcorn,
    LolloRossa,
    CantelopeMelon,
    Zucchini,
    Shallots
  }
) {
  case ::Broadbeans::UgliFruit :
    float ButterBean;
  case ::Broadbeans::Chickpea :
    unsigned long Fig;
  case ::Broadbeans::Waterchestnut :
    double Cinnamon;
  case ::Broadbeans::BambooShoot :
    long BreadFruit;
  case ::Broadbeans::BeechNut :
    long Tarragon;
  case ::Broadbeans::Sweetcorn :
    unsigned short Pineapple;
  case ::Broadbeans::LolloRossa :
    unsigned short RedPepper;
  case ::Broadbeans::CantelopeMelon :
    char Radish;
};

interface idlServer {

  exception BroadbeansExcpt{
    ::Broadbeans ex1;
  };

  attribute ::Broadbeans BroadbeansAttr;

  ::Broadbeans BroadbeansOp(
    in    ::Broadbeans p1,
    out   ::Broadbeans p2,
    inout ::Broadbeans p3
  ) raises (BroadbeansExcpt);

  exception FennellExcpt{
    ::Broadbeans::Fennell ex1;
  };

  attribute ::Broadbeans::Fennell FennellAttr;

  ::Broadbeans::Fennell FennellOp(
    in    ::Broadbeans::Fennell p1,
    out   ::Broadbeans::Fennell p2,
    inout ::Broadbeans::Fennell p3
  ) raises (FennellExcpt);
};

