//
// 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
//


typedef long Apple;

union Broadbeans switch (Apple) {
  case 521:
    float ButterBean;
  case 298:
    double Cinnamon;
  case 57:
    long BreadFruit;
  case 2436:
    long Tarragon;
  case 9875:
    short BambooShoot;
  default :
    short BeechNut;
  case 7667:
    unsigned long Fennell;
  case 765:
    unsigned long Beetroot;
  case 12:
    unsigned short Pineapple;
  case 98:
    unsigned short RedPepper;
  case 76:
    char Radish;
  case 67:
    char Susander;
  case 75:
    boolean Damsons;
  case 125:
    boolean GreenGrapes;
  case 23:
    octet Mullberry;
  case 72:
    octet Corn;
};

interface idlServer {

  exception AppleExcpt{
    ::Apple ex1;
  };

  attribute ::Apple AppleAttr;

  ::Apple AppleOp(
    in    ::Apple p1,
    out   ::Apple p2,
    inout ::Apple p3
  ) raises (AppleExcpt);

  exception BroadbeansExcpt{
    ::Broadbeans ex1;
  };

  attribute ::Broadbeans BroadbeansAttr;

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

